亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版 [打印本頁]

作者: abel    時(shí)間: 2004-10-13 01:39
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
其實(shí)也稱不上超強(qiáng)版,不過一般人可能較不會(huì)往這邊想而以...
透過修改 bind 的 source code, 利用 rndc 從遠(yuǎn)端直接抓出
dns 的query/response 次數(shù),再利用 mrtg 或 rrdtool 來繪圖而以
(註:rndc 不懂的人自己去看,非本處主題)
這是我做的 bind-9.3.0 的 patch file, 有興趣的可拿去看看,如果懂程式
的話,你就會(huì)知道不同的版本如何改,如果不懂的話,你就將就用囉!
  1. diff -cr bind-9.3.0/bin/named/query.c bind-9.3.0_abel/bin/named/query.c
  2. *** bind-9.3.0/bin/named/query.c Wed Jun 30 22:13:05 2004
  3. --- bind-9.3.0_abel/bin/named/query.c Wed Oct 13 00:45:07 2004
  4. ***************
  5. *** 95,100 ****
  6. --- 95,103 ----
  7.   static void
  8.   query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype);
  9.   
  10. + static int querycount=0;
  11. + static int replycount=0;
  12. +
  13.   /*
  14.    * Increment query statistics counters.
  15.    */
  16. ***************
  17. *** 112,121 ****
  18. --- 115,132 ----
  19.   zonestats[counter]++;
  20.   }
  21.   }
  22. + int get_query_count(void) {
  23. + return(querycount);
  24. + }
  25. +
  26. + int get_reply_count(void) {
  27. + return(replycount);
  28. + }
  29.   
  30.   static void
  31.   query_send(ns_client_t *client) {
  32.   dns_statscounter_t counter;
  33. + replycount++;
  34.   if (client->;message->;rcode == dns_rcode_noerror) {
  35.   if (ISC_LIST_EMPTY(client->;message->;sections[DNS_SECTION_ANSWER])) {
  36.   if (client->;query.isreferral) {
  37. ***************
  38. *** 3447,3453 ****
  39.   query_error(client, result);
  40.   return;
  41.   }
  42. !
  43.   if (ns_g_server->;log_queries)
  44.   log_query(client);
  45.   
  46. --- 3458,3464 ----
  47.   query_error(client, result);
  48.   return;
  49.   }
  50. ! querycount++;
  51.   if (ns_g_server->;log_queries)
  52.   log_query(client);
  53.   
  54. diff -cr bind-9.3.0/bin/named/server.c bind-9.3.0_abel/bin/named/server.c
  55. *** bind-9.3.0/bin/named/server.c Fri Jun 18 12:39:48 2004
  56. --- bind-9.3.0_abel/bin/named/server.c Wed Oct 13 00:47:47 2004
  57. ***************
  58. *** 3998,4003 ****
  59. --- 3998,4005 ----
  60.   n = snprintf((char *)isc_buffer_used(text),
  61.        isc_buffer_availablelength(text),
  62.        "number of zones: %u\n"
  63. +      "number of query: %u\n"
  64. +      "number of reply: %u\n"
  65.        "debug level: %d\n"
  66.        "xfers running: %u\n"
  67.        "xfers deferred: %u\n"
  68. ***************
  69. *** 4006,4012 ****
  70.        "recursive clients: %d/%d\n"
  71.        "tcp clients: %d/%d\n"
  72.        "server is up and running",
  73. !      zonecount, ns_g_debuglevel, xferrunning, xferdeferred,
  74.        soaqueries, server->;log_queries ? "ON" : "OFF",
  75.        server->;recursionquota.used, server->;recursionquota.max,
  76.        server->;tcpquota.used, server->;tcpquota.max);
  77. --- 4008,4014 ----
  78.        "recursive clients: %d/%d\n"
  79.        "tcp clients: %d/%d\n"
  80.        "server is up and running",
  81. !      zonecount, get_query_count(), get_reply_count(),ns_g_debuglevel, xferrunning, xferdeferred,
  82.        soaqueries, server->;log_queries ? "ON" : "OFF",
  83.        server->;recursionquota.used, server->;recursionquota.max,
  84.        server->;tcpquota.used, server->;tcpquota.max);
復(fù)制代碼

atch 動(dòng)作請(qǐng)自己做, patch -p1 < this_patch_file,本檔僅適合 9.3.0,沒空每版都寫出來
以上的程式僅是在做 rdnc -s IP_addr status 時(shí),可以帶出如下內(nèi)容:
[root@log SIP]# rndc -s 211.72.210.251 status
  1. number of zones: 1
  2. number of query: 157
  3. number of reply: 153
  4. debug level: 0
  5. xfers running: 0
  6. xfers deferred: 0
  7. soa queries in progress: 0
  8. query logging is ON
  9. recursive clients: 0/1000
  10. tcp clients: 0/100
  11. server is up and running
復(fù)制代碼

看到?jīng)]有,跟你的有什麼不同, 多了
number of query: 157
number of reply: 153

兩欄,也就是我們加上去的,好了,你每一臺(tái)機(jī)器都做了這樣的 patch 後
並做相同的 rndc.conf 的設(shè)定,就可以利用 rndc -s Server_IP status 取
得這樣的結(jié)果了,我們可以驗(yàn)證看看數(shù)字到底對(duì)不對(duì):


  1. #rndc -s Server_IP stats
  2. # cat /var/named/named.stats
  3. success 137
  4. referral 0
  5. nxrrset 6
  6. nxdomain 10
  7. recursion 142
  8. failure 4
復(fù)制代碼

上面數(shù)字 success+nxrrset+nxdomain+failure=157 表示 dns 收到了
157 查詢,其中有 142 次做 recursion

不計(jì)算 failure 即為成功的查詢次數(shù), 所以為 153

故程式的結(jié)果沒有問題 !!
我再寫一個(gè)小程式來做字串處理:

  1. #!/usr/bin/perl
  2. open(II,"/usr/local/sbin/rndc -s $ARGV[0] status|");
  3. while (<II>;) {
  4.   chomp;
  5.   split(/: /,$_);
  6.   print "$_[1]\n" if ($_[0] eq 'number of query' or $_[0] eq 'number of reply');
  7. }
  8. close(II);
復(fù)制代碼

Ex:filename 為 dns_flow.pl
./dns_flow.pl Server_IP
輸出結(jié)果為:
  1. 157
  2. 153
復(fù)制代碼


是不是變簡(jiǎn)單了呢 !?
你若跑十臺(tái) DNS 服務(wù),想來很多人會(huì)用 query log 來記 Query 量
這是最不好的方式,因?yàn)?Disk I/O 會(huì)很多
若你用 rndc stats 來做分折,是可以的,但資料滙整將是一個(gè)問題

改程式是終南捷徑(要會(huì)改就不是捷徑了)...
每部 DNS Server 再配置相同的 rndc.conf ,即可使用此一 rule
(不同也行,但就會(huì)變復(fù)雜了,相同的 rndc.conf 只要將一些 rndc
的設(shè)定copy 到別臺(tái)機(jī)器即可)

利用 mrtg 來輸出結(jié)果:

  1. #  for UNIX
  2. WorkDir: /www/html/mrtg
  3. #  or for NT
  4. # WorkDir: c:\mrtgdata

  5. ### Global Defaults

  6. #  to get bits instead of bytes and graphs growing to the right
  7. Options[_]: growright, noinfo



  8. #---------------------------------------------------------------

  9. Target[DNS_Server1]: `/home/abel/dns.pl 你的DNS_Server_IP`
  10. MaxBytes[DNS_Server1]: 2500
  11. Title[DNS_Server1]: A.DNS.TW (IPv6)
  12. Legend1[DNS_Server1]: DNS查詢(次數(shù)/秒)
  13. Legend2[DNS_Server1]: DNS回應(yīng)(次數(shù)/秒)
  14. LegendI[DNS_Server1]: DNS查詢
  15. LegendO[DNS_Server1]: DNS回應(yīng)
  16. YLegend[DNS_Server1]: Q. per second
  17. PageTop[DNS_Server1]: <h1>;DNS_Server Query/Response</h1>;
復(fù)制代碼

crontab 那些及 mrtg 設(shè)定細(xì)節(jié)就不再贅述

mrtg 結(jié)果:
http://211.72.210.251/dns/


這次我就不寫 rrdtool 版本了,免得大家望文生畏,我也偷懶一下
給阿驍兄的賀禮基本上 google 都是沒有或不足的,有興趣的人可好好研究
一下

註: 我直接提供一個(gè)修改過的9.3.0版本給大家試試
http://211.72.210.251/bind-9.3.0.tar.gz
若不放心,請(qǐng)記得到 ftp://ftp.isc.org 下也抓一個(gè) 9.3.0
來做比較(diff -cr isc_dir abel_dir), 即可知我改了什麼
作者: campoeagle    時(shí)間: 2004-10-13 10:53
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
深?yuàn)W!
作者: unixli    時(shí)間: 2004-10-13 11:20
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
有時(shí)間試試!
作者: abel    時(shí)間: 2004-10-13 20:09
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版

  1. +++ Statistics Dump +++ (1097653695)  # rndc stats 的時(shí)間點(diǎn)
  2. success 2764         #成功得到答案的次數(shù)
  3. referral 0           #參考量,這個(gè)值是你回應(yīng) NS 的次數(shù),也就是當(dāng)你設(shè)成
  4.                 #recursion=no 時(shí),你沒有的答案你都會(huì)回應(yīng) . 的 NS 記錄
  5.                 #這個(gè)NS回應(yīng)即稱為 Referral,可以遞歸主機(jī)此值為0
  6. nxrrset 15        #nx 意即不存在(Not eXist),rrset 即記錄,不存在的記錄即無此名稱
  7. nxdomain 55        #不存在的網(wǎng)域名稱
  8. recursion 16        #遞歸次數(shù),例如有人詢問 www.chinaunix.com 時(shí),完全沒有 cache 狀況
  9.                 #下,你會(huì)問 ./com/chinaunix.com 最後得到 www 結(jié)果,而此值只算一次
  10.                 #也就是一次遞歸查詢,但實(shí)際查詢次數(shù)為3次去,3次回
  11. failure 0        #查詢失敗,也就是你送出了 Query,但 Server 沒有回應(yīng)
  12. --- Statistics Dump --- (1097653695)
復(fù)制代碼

所以,我們看 DNS 流量統(tǒng)計(jì)時(shí):
Client <------->; DNS Server <-------->; gTLD/ccTLD (./.com/.cn)

看的都是 Client 到 DNS 這一段,而較少看 DNS 到 TLD 這一段 (這一段 BIND8 可以做,但
很複雜,BIND 9 他不計(jì)算來來回回幾次)

Client<----->; DNS Server 流量計(jì)算,標(biāo)準(zhǔn)做法:
收到查詢量=success+referral+nxrrset+nxdomain+failure
送出的回應(yīng)=success+referral+nxrrset+nxdomain

這是計(jì)算方法,但是你會(huì)發(fā)現(xiàn),有點(diǎn)費(fèi)事(其實(shí)也不會(huì)太費(fèi)事),你對(duì)本機(jī)做 rndc stats 時(shí)
他們產(chǎn)生 named.stats 檔供你擷取,計(jì)算,算出數(shù)字後,畫成 mrtg 就不成什麼問題,但是
如果第有二臺(tái)三臺(tái)N 臺(tái) DNS 呢 ? rndc -s Server_IP stats , 這個(gè) named.stats 是存
在遠(yuǎn)端,這對(duì)你的處理來說會(huì)很費(fèi)事,當(dāng)然,你可以用 ssh/ftp/expect... 等去擷取,但無疑
是增加許多複雜度.

你要自己做,一定可以做的出來,需要任何 Patch,唯其工作及日後維護(hù)問題而以,我們可以
看到這個(gè)例子:
範(fàn)例檔在這


你可以將每個(gè)值都畫出來,但實(shí)際上較具意義的如上所說,唯查詢/回應(yīng)的數(shù)字是我們要注意
的. 故使用 rndc status 對(duì)工作簡(jiǎn)化有一定幫助:
利用 Patch 做出來的總合效果:
範(fàn)例檔在這
日流量:

月流量:


我相信做法來看應(yīng)該簡(jiǎn)捷許多
作者: 阿驍    時(shí)間: 2004-10-13 22:06
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
收到 abel 兄的第二份大禮,不過明天要出差一趟,周末才能回來,沒時(shí)間消化啊!
作者: 風(fēng)往南吹    時(shí)間: 2004-10-14 09:57
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
實(shí)在太厲害了,打自內(nèi)心佩服。這幾份大禮真的是很有分量,得好好學(xué)習(xí)學(xué)習(xí)
作者: skylove    時(shí)間: 2004-10-14 11:00
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
不錯(cuò),以前一直用mrtg記錄服務(wù)器的風(fēng)扇轉(zhuǎn)速,cpu使用,內(nèi)存使用,網(wǎng)卡使用,以及ftp的使用情況。 不過dns因?yàn)槲覀冎惶峁┯邢薜膸讉(gè)外部查詢地址,所以流量一般不太大,所以就沒用。另外根據(jù)我所知,一些郵件系統(tǒng)也是用它來記錄。 其實(shí)只要可以把數(shù)據(jù)整理成2維方式,都可以用mrtg來畫圖操作——不管用shell,perl,反正輸入2維數(shù)據(jù)就行了。

頂一下,上面的分析過程那里很喜歡!
作者: abel    時(shí)間: 2004-10-15 12:01
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
一般來說,二維的做法都很足夠了,但mrtg 的效率及資源的使用個(gè)人是較不
喜歡的,且有時(shí)我們需要做一個(gè)整體性比較時(shí),幾張二維的圖不如整個(gè)合一張
,如此更容易了解彼此關(guān)係.



如上面看到的我提供的那張 mrtg 圖,其實(shí)這是一部 DNS 主機(jī)的流量而以
但我有 N 部要做,我如何知道總合狀況呢 ?

另外,像這張圖,基本上就是臺(tái)灣這兩年來的DNS流量統(tǒng)計(jì)
(ccTLD 部份,.tw),只畫一臺(tái)或是把七臺(tái)畫成 七張圖,都難以表現(xiàn)出來
"整體" 的概念:


這兩年來,我們的 TTL 值都沒有變(這是一個(gè)很重要的前提),可以發(fā)現(xiàn)
.tw 的 DNS 查詢成長了三倍,不看一臺(tái)而看整體,更有助於我們?nèi)蔗岬?br /> 規(guī)畫.
作者: skylove    時(shí)間: 2004-10-16 13:52
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
謝謝您的指點(diǎn),受教了。

看來以后我畫每個(gè)月的web流量訪問圖除了用awstat外,還可以用這個(gè)來分析每個(gè)月“總有那么幾天”訪問量特別高,or低的的出現(xiàn)時(shí)間段了。
然后利用這個(gè)分析出的時(shí)間段來進(jìn)行維護(hù)等工作,就比較不影響用戶了。

再次謝謝abel兄的指點(diǎn)!
作者: abel    時(shí)間: 2004-10-17 00:23
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
原帖由 "skylove" 發(fā)表:
謝謝您的指點(diǎn),受教了。

看來以后我畫每個(gè)月的web流量訪問圖除了用awstat外,還可以用這個(gè)來分析每個(gè)月“總有那么幾天”訪問量特別高,or低的的出現(xiàn)時(shí)間段了。
然后利用這個(gè)分析出的時(shí)間段來進(jìn)行維護(hù)等工作,就?.........

這個(gè)會(huì)不準(zhǔn),除非您將 TTL 設(shè)成0,才有意義,不然就設(shè)的很小很小,最好小於
15 秒,超過這個(gè)值.,大多數(shù)的 DNS Query 就不會(huì)問到您的 Server 了
因?yàn)槎急煌饷娴?Cache 了

skylove 兄有興趣,可以試試,將 TTL 值改變一下,以了解不同的 TTL 值對(duì) DNS Query 的影響哦!
Ex: 您現(xiàn)在設(shè)為 86400 秒
做個(gè) DNS 流量測(cè)試(最好做一星期),再改為 38400,再改為xxx, (每次 /2)
你就會(huì)知道,什麼 TTL 值對(duì)您來說會(huì)取得一個(gè)最佳的時(shí)間
(您會(huì)發(fā)現(xiàn),若這個(gè)例子中,TTL 為 X 軸, Query 次數(shù)為 Y 軸,它會(huì)是一個(gè)曲線下降而不是直線下降)
作者: skylove    時(shí)間: 2004-10-17 01:13
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
謝謝abel的提議,事實(shí)上或許那事件很有趣的事。

可惜的是我所在的高校地處西南,西南教育網(wǎng)網(wǎng)絡(luò)中心的管理實(shí)在不太敢恭維——因此我們把大部分的服務(wù)都轉(zhuǎn)到公網(wǎng)上去走中國電信的出口。惟獨(dú)dns由于edu.cn類域名屬于教育網(wǎng)專用,上級(jí)部門給予的授權(quán)ip地址是教育網(wǎng)段的。。。。若平時(shí)外面公網(wǎng)dns cache server能訪問到我們的dns server則已是萬幸了。。。斷然不敢把ttl改得如此之小。。。

dns的query我是沒機(jī)會(huì)做了,不過偶的web是用了cache的,正好用您指點(diǎn)的思路來證明一下cache的工作效率及使用cache的利/弊。文不如表,表不如圖——得abel的指點(diǎn),看來以后跟外行領(lǐng)導(dǎo)解釋起來又方便了一些 :)
作者: david_hounew    時(shí)間: 2004-10-20 23:36
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
樓主,可以談?wù)凪RTG如何CONFIG嗎??
作者: abel    時(shí)間: 2004-10-21 03:15
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
幫一下,
不都寫在上面,知道 mrtg 怎接一個(gè)外部程式吧 !?
作者: tma    時(shí)間: 2004-10-22 01:03
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版

作者: gzaurora    時(shí)間: 2004-10-29 16:09
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
請(qǐng)教,rndc -s Server_IP stats 查詢到的是dns收到的瞬間請(qǐng)求嗎?但我嘗試看過在四層交換機(jī)上面看連接數(shù),但兩種并不一致?而且比在四層上面看到的多很多,這是什么原因呢?thanks
作者: abel    時(shí)間: 2004-10-29 16:13
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
rndc stats
看到是的運(yùn)行以來的累計(jì)值
所以要再看 timestamp, 計(jì)算時(shí)間差
作者: gzaurora    時(shí)間: 2004-10-29 16:59
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
原帖由 "abel" 發(fā)表:
rndc stats
看到是的運(yùn)行以來的累計(jì)值
所以要再看 timestamp, 計(jì)算時(shí)間差



請(qǐng)問,怎么看timestamp, 計(jì)算時(shí)間差?thanks
作者: abel    時(shí)間: 2004-10-29 17:18
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
  1. +++ Statistics Dump +++ (1099041217)
  2. success 252120
  3. referral 0
  4. nxrrset 6
  5. nxdomain 4264
  6. recursion 817
  7. failure 34
  8. --- Statistics Dump --- (1099041217)
  9. +++ Statistics Dump +++ (1099041277)
  10. success 252134
  11. referral 0
  12. nxrrset 6
  13. nxdomain 4266
  14. recursion 819
  15. failure 34
  16. --- Statistics Dump --- (1099041277)
復(fù)制代碼

1099041217 就是時(shí)間(ts1)
1099041277 就是時(shí)間(ts2)
ts2-ts1=60  (ts_range)
再將 兩個(gè) success/referral....加起來,但不計(jì)算 recursion,除以 ts_range , 就是你的 DNS 收到 Client 的每秒查詢量
作者: gzaurora    時(shí)間: 2004-10-29 17:52
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
原帖由 "abel" 發(fā)表:
1099041217 就是時(shí)間(ts1)
1099041277 就是時(shí)間(ts2)
ts2-ts1=60  (ts_range)
再將 兩個(gè) success/referral....加起來,但不計(jì)算 recursion,除以 ts_range , 就是你的 DNS 收到 Client 的每秒查詢量



  明白,thank you very much!
作者: cpss    時(shí)間: 2004-12-12 19:08
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
首先感謝abel 帶來了這么好的一個(gè)主意。在看了這篇帖子后,我馬上就將我手上的dns全部變成了abel的修改版本,并通過rndc -s server status進(jìn)行監(jiān)控。
但我發(fā)現(xiàn)有個(gè)問題,abel 兄可能忽略了,那就是dns進(jìn)程可能會(huì)重啟,重啟后通過rndc -s server status來看到的query和reply的數(shù)都被歸0了,mrtg就不知道怎么運(yùn)算了。從監(jiān)控圖上看,還以為是dns死了呢。說實(shí)話,當(dāng)時(shí)確實(shí)嚇我一跳。
于是我就自做主張重新寫了個(gè)腳本,由于我對(duì)perl不熟,就用sh來寫了。在這里貼出來,希望對(duì)大家有所幫助。
#cat dns_flow.sh
#!/usr/bin/sh
TMPDATAFILE="/var/named/.${1}.tmp"
RUN_1=0
query_old=0
reply_old=0
if [ -f $TMPDATAFILE ]
then
        RUN_1=1
        query_old=`head -2 $TMPDATAFILE|tail -1 |awk '{print $4}'`
        reply_old=`head -3 $TMPDATAFILE|tail -1 |awk '{print $4}'`
fi
/usr/local/sbin/rndc -s $1 status >;$TMPDATAFILE
query=`head -2 $TMPDATAFILE|tail -1 |awk '{print $4}'`
reply=`head -3 $TMPDATAFILE|tail -1 |awk '{print $4}'`
if [ $query -gt $query_old ] !! [ $reply -gt $reply_old ]
then
        query=`expr $query - $query_old`
        reply=`expr $reply - $reply_old`
fi
if [ $RUN_1 -eq 0 ]
then
        #first time to run
        printf "0\n0\n"
else
        printf "$query\n$reply\n"
fi

這時(shí)候mrtg的配置文件也要修改一下,表明采到的數(shù)據(jù)是absolute類型的。
cat dns.cfg
#  for UNIX
WorkDir: /usr/local/apache/htdocs/mrtg/html/dns
#  or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

#  to get bits instead of bytes and graphs growing to the right
Options[_]: growright, noinfo,nopercent,integer,absolute
MaxBytes[_]: 10000
Legend1[_]: DNS查詢(次數(shù)/秒)
Legend2[_]: DNS回應(yīng)(次數(shù)/秒)
LegendI[_]: DNS查詢
LegendO[_]: DNS回應(yīng)
ShortLegend[_]:次/秒
YLegend[_]: Q. per second
PageTop[_]: <h1>;DNS_Server Query/Response</h1>;
#---------------------------------------------------------------

Target[DNS_Server1]: `/var/named/dns_flow.pl 192.168.1.2`
Title[DNS_Server1]: mydns1
Target[DNS_Server2]: `/var/named/dns_flow.pl 192.168.1.3`
Title[DNS_Server2]: mydns2
.
.
.
作者: cpss    時(shí)間: 2004-12-13 12:48
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
程序又升級(jí)了,我增加了一個(gè)所有dns解析合計(jì)的功能。
程序如下:
#cat dns_flow.sh
#!/usr/bin/sh
USAGE="Usage: $0 serverip\n or \n $0 all\n"
if [ $# -le 0 ]
then
        echo $USAGE 2>;&1
        exit 1
fi

TMPDATAFILE="/var/named/.${1}.tmp"
TMPALLFILE="/var/named/.all.tmp"
if [ !  -f $TMPALLFILE ]
then
        printf "0\n0\n">;$TMPALLFILE
fi


case $1 in
all)
        query=`head -1 $TMPALLFILE`
        reply=`tail -1 $TMPALLFILE`
printf "$query\n$reply\n"
printf "0\n0\n" >;$TMPALLFILE;;
*)
RUN_1=0
query_old=0
reply_old=0
query=0
reply=0
if [ -f $TMPDATAFILE ]
then
        RUN_1=1
        query_old=`head -2 $TMPDATAFILE|tail -1 |awk '{print $4}'`
        reply_old=`head -3 $TMPDATAFILE|tail -1 |awk '{print $4}'`
fi
/usr/local/sbin/rndc -s $1 status >;$TMPDATAFILE
query=`head -2 $TMPDATAFILE|tail -1 |awk '{print $4}'`
reply=`head -3 $TMPDATAFILE|tail -1 |awk '{print $4}'`
if [ $query -gt $query_old ] && [ $reply -gt $reply_old ]
then
        query=`expr $query - $query_old`
        reply=`expr $reply - $reply_old`
fi
if [ $RUN_1 -eq 0 ]
then
        #first time to run
        printf "0\n0\n"
else
        printf "$query\n$reply\n"
        query_all=`head -1 $TMPALLFILE`
        reply_all=`tail -1 $TMPALLFILE`
        printf "`expr $query + $query_all`\n`expr $reply + $reply_all`\n">;$TMPALLFILE
fi;;
esac

mrtg的配置文件也要相應(yīng)修改成如下:
#cat dns.cfg
# for UNIX
WorkDir: /usr/local/apache/htdocs/mrtg/html/dns
# or for NT
# WorkDir: c:\mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right
Options[_]: growright, noinfo,nopercent,integer,absolute
MaxBytes[_]: 10000
Legend1[_]: DNS查詢(次數(shù)/秒)
Legend2[_]: DNS回應(yīng)(次數(shù)/秒)
LegendI[_]: DNS查詢
LegendO[_]: DNS回應(yīng)
ShortLegend[_]:次/秒
YLegend[_]: Q. per second
PageTop[_]: <h1>;DNS_Server Query/Response</h1>;
#---------------------------------------------------------------

Target[DNS_Server1]: `/var/named/dns_flow.pl 192.168.1.2`
Title[DNS_Server1]: mydns1
Target[DNS_Server2]: `/var/named/dns_flow.pl 192.168.1.3`
Title[DNS_Server2]: mydns2
.
.
.
Target[DNS_Server100]: `/var/named/dns_flow.sh all`
Title[DNS_Server100]: alldns
MaxBytes[DNS_Server100]: 100000


注意:由于程序設(shè)計(jì)問題,dns合計(jì)一項(xiàng)一定要放在最后一行,切記切記。
作者: cpss    時(shí)間: 2004-12-13 13:06
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
我的dns統(tǒng)計(jì)

dns_server8-day.jpg (33.91 KB, 下載次數(shù): 106)

我其中一臺(tái)dns的統(tǒng)計(jì)

我其中一臺(tái)dns的統(tǒng)計(jì)

dns_server100-day.jpg (31.46 KB, 下載次數(shù): 88)

我所有dns合計(jì)

我所有dns合計(jì)

作者: abel    時(shí)間: 2004-12-13 20:09
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
嗯...cpss 也是箇中高手呀 !
您的觀點(diǎn)很正確, gauge 確時(shí)是較好的型態(tài), counter 則是重設(shè)時(shí)會(huì)有
一段時(shí)間會(huì)不正常, 至於合計(jì)功能,倒建議您可學(xué)學(xué) rrdtool ,
可以有較佳的處理效果
http://phorum.study-area.org/viewtopic.php?t=18496&postdays=0&postorder=asc&start=0
也或許您早巳懂了

用 rrdtool interval 可以精確到秒哦,不似 mrtg 最小只有 5min(300s)
作者: jsquan    時(shí)間: 2004-12-15 08:41
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
最近有些郁悶,查詢數(shù)與回復(fù)數(shù)曲線有時(shí)間距太大,
請(qǐng)問各位也是否碰到,怎么處理?

附圖

ns1-day-1.GIF (18.96 KB, 下載次數(shù): 102)

ns1xxx.net server

ns1xxx.net server

ns2-day-1.GIF (19.8 KB, 下載次數(shù): 105)

ns2.xxx.net server

ns2.xxx.net server

作者: abel    時(shí)間: 2004-12-15 12:15
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
我覺得你應(yīng)該去看其他的資料,例如流量資料等,是否和DNS 圖上的資料有一定相關(guān).
或是在 DNS 上先開 query log , 以觀察看看
作者: jsquan    時(shí)間: 2004-12-17 12:10
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
原帖由 "abel" 發(fā)表:
我覺得你應(yīng)該去看其他的資料,例如流量資料等,是否和DNS 圖上的資料有一定相關(guān).
或是在 DNS 上先開 query log , 以觀察看看


一、首先感謝abel。

你的提示中,我的理解如下:
1、你可能覺得是否是我DNS有其他流量與DNS相關(guān)。
(1)從兩線間距較大的情況來看,說明還是正常的DNS查詢數(shù)遠(yuǎn)大于響應(yīng)數(shù)。
我在ns1和ns2上,都沒有啟動(dòng)除ns服務(wù)以外的服務(wù)器進(jìn)程。
(2)在時(shí)間上看,ns1和ns2在相同的時(shí)間上,出現(xiàn)兩條線間距較大。某些時(shí)
候,間距不大,說明較為正常。
所以我認(rèn)為,一般的,應(yīng)該不是惡意流量攻擊。

2、關(guān)于你叫我在ns1和ns2上打開query log看看
謝謝。我覺得你的建議很好,畢竟分析log是解決問題的最有效的途徑之一。
到目前為此,我一直使用/var/log/messages來看bind 的log信息。如果
這個(gè)問題解決不了,我想抽個(gè)時(shí)間,開啟ns2上的query log看看。


二、借此機(jī)會(huì),順便問兩個(gè)小問題:

1、我的DNS是ns1.xxx.net或ns2.xxx.net,我不知道用xxx.com
和xxx.net作ISP的域名服務(wù)器時(shí),有什么不一樣的地方?(第一問)
考慮到大陸的互聯(lián)網(wǎng)用戶,多數(shù)是查詢的是.cn的域名,是不是使用
xxx.net.cn或xxx.com.cn作為域名服務(wù)器的域會(huì)更好呢?(第二問)


2、關(guān)于查詢數(shù)與回應(yīng)數(shù)兩線相距很遠(yuǎn)的問題,我曾經(jīng)使用dnstop分析過。
我個(gè)人認(rèn)為,某個(gè)window用戶將我的ns1和ns2作為它的主備域名服務(wù)器,
但該window平臺(tái)可能受病毒攻擊過或是該計(jì)算機(jī)上有惡意攻擊DNS服務(wù)器的
程序,從而導(dǎo)致查詢數(shù)與回應(yīng)數(shù)兩線相距很遠(yuǎn)。即查詢的正確率較低。

當(dāng)出現(xiàn)上述情況時(shí),我通常的做法是看/var/log/messages文件,此時(shí)會(huì)發(fā)現(xiàn)
系統(tǒng)中出現(xiàn)大量的如下信息:
  1. Nov 25 19:55:22 ns2 named[50127]: client xxx.xxx.xxx.xxx(ip)#2441:
  2. view external: no more recursive clients: quota reached
復(fù)制代碼

上面這段代碼,已經(jīng)出現(xiàn)很久了,我想其他ns管理員也經(jīng)常碰到。


針對(duì)這種情況,我就會(huì)修改named.conf,將recursive-clients 的值加大。
例如:

  1. recursive-clients 100000;
復(fù)制代碼


其實(shí),我原來沒有使用這個(gè)參數(shù),但我為了解決這個(gè)問題,逐步將值由1000,
提高到5000,再提高到1萬,直到現(xiàn)在的10萬。

這個(gè)問題,一直讓我最為郁悶。理由很簡(jiǎn)單,我的ns1和ns2是為好幾萬用戶
服務(wù),如果ns1和n2的查詢正確率很低的話,勢(shì)必影響到用戶的利益。

為此,請(qǐng)各位高手幫助指點(diǎn)!謝謝。[/code]
作者: cpss    時(shí)間: 2004-12-17 13:57
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
不是吧,jsquan,你的dns為幾萬用戶服務(wù),但從你的dns解析數(shù)一般才100~200次/秒?那也太少了吧。
我這邊的解析數(shù)已經(jīng)到了12K/秒,痛苦啊,太多了。
作者: fuleru    時(shí)間: 2004-12-17 15:34
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
不錯(cuò)啊。謝謝。好東西。。。!
作者: abel    時(shí)間: 2004-12-17 17:41
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
我沒有用過 windows 的 v6 , 都只有在 linux 上用 (client or dns)
所以沒法回答你的問題,我猜是 windows 對(duì) v6 的支援不夠所致
但我無法證明,建議您到一些有論 v6 較深的論壇去問問,不然到我們這邊也可以
http://www.ipv6.org.tw

recursive-clients 設(shè)為多少意義應(yīng)不大,預(yù)設(shè)好像是 1000
因?yàn)槿?cpss 提到的,你的 query/response 並沒有很大,
我們的一臺(tái)例子:

我個(gè)人認(rèn)為你的問題應(yīng)該先看:
1. 網(wǎng)路是否正常 ? Router/Switch/本機(jī) 都要看, 看 Error 是否會(huì)太多
2. 同時(shí)間的流量是否有瓶頸,不見得是本機(jī)或現(xiàn)在的網(wǎng)路, 出口處也要多注意
3. 各設(shè)備的系統(tǒng)狀況是否正常(CPU/MEMORY/device..)

若以上都沒有問題,再找 query log 看看,畢竟 query log 佔(zhàn)大量的 I/O,
上面的圖可以看到,我們的流量和你差不多,但兩條線是重疊的,也就是
幾乎沒有背離現(xiàn)象,這也只是一臺(tái)普通的 Server 而以,用一般的 PC 跑到
每秒數(shù)千一定沒有什麼問題,我認(rèn)為你的問題是在網(wǎng)路上為主,並不是這臺(tái)
DNS Server. (我測(cè)過每秒 1000 次查詢, CPU Loading 不會(huì)高於 20%, CPU
是 1G, RAM 1G 的機(jī)器).

1、我的DNS是ns1.xxx.net或ns2.xxx.net,我不知道用xxx.com
和xxx.net作ISP的域名服務(wù)器時(shí),有什么不一樣的地方?(第一問)
考慮到大陸的互聯(lián)網(wǎng)用戶,多數(shù)是查詢的是.cn的域名,是不是使用
xxx.net.cn或xxx.com.cn作為域名服務(wù)器的域會(huì)更好呢?(第二問)

無所謂,因?yàn)檫@是給 user 用的,用什麼名稱都無關(guān), user 的 resolver
是認(rèn) IP 的.

2、關(guān)于查詢數(shù)與回應(yīng)數(shù)兩線相距很遠(yuǎn)的問題,我曾經(jīng)使用dnstop分析過。
我個(gè)人認(rèn)為,某個(gè)window用戶將我的ns1和ns2作為它的主備域名服務(wù)器,
但該window平臺(tái)可能受病毒攻擊過或是該計(jì)算機(jī)上有惡意攻擊DNS服務(wù)器的
程序,從而導(dǎo)致查詢數(shù)與回應(yīng)數(shù)兩線相距很遠(yuǎn)。即查詢的正確率較低。

這個(gè)問題,若一般的 worm 通常是掃 IP 較無關(guān),若 Email 的 worm 或 virus,
會(huì)狂發(fā)信沒錯(cuò),但 User 設(shè)的 smtp server 是 mail.xxx.com , 信是發(fā)到
mail.xxx.com , user 會(huì)解析的只有 mail.xxx.com , 而 windows 2000 以上
的機(jī)器,一般的都會(huì)做 Cache , 也就是只能解析一次,除非重開機(jī)(這個(gè)功能可關(guān)閉
但一般 99% 的人一定不會(huì)去關(guān)),所以,viurs mail 來查你的 dns server, 不是
Client, 所以,若您有這種考量,看到的 IP 應(yīng)該是 Mail Server 才是
而通常 Mail Server 的發(fā)信速度肯定比不上 dns 的查詢速度的.
除非您的問題不是一臺(tái)影起,而是多臺(tái)累積下來的結(jié)果.

除你的圖中可以看到,查詢量是差不多的,這表示什麼 ?
如果你的 user 設(shè)了 DNS 為 IP1, IP2 , 理論上應(yīng)該是 IP1 量應(yīng)遠(yuǎn)高於 IP2
因?yàn)?Resolver 不是輪詢的,而是會(huì)先用第一筆,所以我想你的圖和你的說明
肯定有差距  (我猜這是dns 代管主機(jī),而不是像一般 ISP 給 user 用的 DNS Server)

再來看, 查詢差不多,失敗也差不多,何解呢 !? 大概您置這兩臺(tái) Server 於
同一個(gè) subnet 之下所致,應(yīng)該在網(wǎng)路上適當(dāng)?shù)姆指?例如一臺(tái)放在電信,一臺(tái)放在
聯(lián)通,或許失敗量也不會(huì)這麼一致了.

如果我的猜測(cè)沒有錯(cuò),這是代管主機(jī),那就設(shè)代管主機(jī)為 recursion no, 因?yàn)檫@
不是給 user 設(shè) DNS Server 用(Resolver), 而是給其他的 DNS Server 用.
我們的代管主機(jī)都是這麼設(shè), User 再將 TCP/IP 中的 DNS 指到電信的 DNS Server 上
即可,本末上適當(dāng)?shù)姆珠_會(huì)是較好的

所以...您多想想. 或許我有猜錯(cuò)的,看您是否有其他補(bǔ)充.
作者: jsquan    時(shí)間: 2004-12-18 14:21
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
再次感謝abel的分析,特別是對(duì)網(wǎng)友問題執(zhí)著的回答,這一點(diǎn),難能可貴。netman一樣,也具備這種精神。

1、
  1. 所以?#93;法回答你的問?#125;,我猜是 windows 對(duì) v6 的支援不夠所致
  2. 但我無法證明,建議您到一些有論 v6 較深的論壇去問問,不然到我們這邊也可以
  3. http://www.ipv6.org.tw
復(fù)制代碼

你的建議是很好的,我對(duì)v6真可是一點(diǎn)也不通。只是工作還是不夠?qū)Wⅰ?br />
2、
  1. 因?yàn)槿?cpss 提到的,你的 query/response 並?#93;有很大,
復(fù)制代碼

是的,Query/Response并不大,但的確ns1、ns2是chinanetcom即CNC
在南方某省的公網(wǎng)域名服務(wù)器。目前用戶2萬戶左右。同時(shí)在線,我不清楚有多不少。

3、
  1. 1. 網(wǎng)路是否正常 ? Router/Switch/本機(jī) 都要看, 看 Error 是否會(huì)太多
復(fù)制代碼

這個(gè)應(yīng)該沒問題。我先后在中電信、中網(wǎng)通,從事router/switch多年,對(duì)FreeBSD學(xué)習(xí)也有六年。

  1. 2. 同時(shí)間的流量是否有瓶頸,不見得是本機(jī)或現(xiàn)在的網(wǎng)路, 出口處也要多注意
復(fù)制代碼

我們網(wǎng)絡(luò)是China169(CNCnet)中的一部分,由于China169跟Sprint-globalone之間的出國帶寬比較擁擠。與ChinaNet也是擁擠嚴(yán)重。以下是從ns1到root-server的時(shí)延。內(nèi)容較多,詳見附件一。

  1. 3. 各設(shè)備的系統(tǒng)狀況是否正常(CPU/MEMORY/device..)
復(fù)制代碼

這個(gè)沒有問題。我的ns1和ns2是FreeBSD 4.8 releases平臺(tái)。
1G Ram, 1*cpu 2.0 Ghz  我設(shè)置的swsap根本沒有用到。如ns1信息。
詳見附件二。

4、
  1. 我猜這是dns 代管主機(jī),而不是像一般 ISP 給 user 用的 DNS Server
復(fù)制代碼


你猜錯(cuò)了。我的是ISP給user的DNS server。這一點(diǎn)不用懷疑。所以,我要
對(duì)用戶負(fù)責(zé)。

5、
  1. 再來看, 查詢差不多,失敗也差不多,何解呢 !? 大概您置這兩臺(tái) Server 於
  2. 同一個(gè) subnet 之下所致,應(yīng)該在網(wǎng)路上適當(dāng)?shù)姆指?例如一臺(tái)放在電信,一臺(tái)放在
  3. 聯(lián)通,或許失敗量也不會(huì)這麼一致了.
復(fù)制代碼


我的ns1與ns2分別在不同的城域網(wǎng)。舉例假設(shè)ns1在臺(tái)北,那么ns2就在高雄。當(dāng)然不在同一個(gè)subnet了。并且ns1與ns2是2*pos 155互聯(lián)。

6、
我的ns1和ns2都設(shè)置為recursion yes,并且,啟用了internal-view和external-view。


7、補(bǔ)充
我剛看到你在線,如果你方便使用QQ的話,能否與我聯(lián)絡(luò)。我的QQ:86269149







  1. 附件一:
  2. %sh pingdns
  3. A.ROOT-SERVERS.NET
  4. PING 198.41.0.4 (198.41.0.4): 56 data bytes
  5. 64 bytes from 198.41.0.4: icmp_seq=0 ttl=238 time=336.644 ms

  6. --- 198.41.0.4 ping statistics ---
  7. 2 packets transmitted, 1 packets received, 50% packet loss
  8. round-trip min/avg/max/stddev = 336.644/336.644/336.644/0.000 ms
  9. B.ROOT-SERVERS.NET
  10. PING 192.228.79.201 (192.228.79.201): 56 data bytes

  11. --- 192.228.79.201 ping statistics ---
  12. 1 packets transmitted, 0 packets received, 100% packet loss
  13. C.ROOT-SERVERS.NET
  14. PING 192.33.4.12 (192.33.4.12): 56 data bytes
  15. 64 bytes from 192.33.4.12: icmp_seq=0 ttl=48 time=343.485 ms
  16. 64 bytes from 192.33.4.12: icmp_seq=1 ttl=48 time=351.860 ms

  17. --- 192.33.4.12 ping statistics ---
  18. 2 packets transmitted, 2 packets received, 0% packet loss
  19. round-trip min/avg/max/stddev = 343.485/347.673/351.860/4.188 ms
  20. D.ROOT-SERVERS.NET
  21. PING 128.8.10.90 (128.8.10.90): 56 data bytes
  22. 64 bytes from 128.8.10.90: icmp_seq=0 ttl=42 time=269.159 ms
  23. 64 bytes from 128.8.10.90: icmp_seq=1 ttl=42 time=268.628 ms

  24. --- 128.8.10.90 ping statistics ---
  25. 2 packets transmitted, 2 packets received, 0% packet loss
  26. round-trip min/avg/max/stddev = 268.628/268.894/269.159/0.265 ms
  27. E.ROOT-SERVERS.NET
  28. PING 192.203.230.10 (192.203.230.10): 56 data bytes

  29. --- 192.203.230.10 ping statistics ---
  30. 2 packets transmitted, 0 packets received, 100% packet loss
  31. F.ROOT-SERVERS.NET
  32. PING 192.5.5.241 (192.5.5.241): 56 data bytes
  33. 64 bytes from 192.5.5.241: icmp_seq=0 ttl=56 time=61.969 ms
  34. 64 bytes from 192.5.5.241: icmp_seq=1 ttl=56 time=53.861 ms

  35. --- 192.5.5.241 ping statistics ---
  36. 2 packets transmitted, 2 packets received, 0% packet loss
  37. round-trip min/avg/max/stddev = 53.861/57.915/61.969/4.054 ms
  38. G.ROOT-SERVERS.NET
  39. PING 192.112.36.4 (192.112.36.4): 56 data bytes

  40. --- 192.112.36.4 ping statistics ---
  41. 2 packets transmitted, 0 packets received, 100% packet loss
  42. H.ROOT-SERVERS.NET
  43. PING 128.63.2.53 (128.63.2.53): 56 data bytes
  44. 64 bytes from 128.63.2.53: icmp_seq=0 ttl=27 time=469.883 ms

  45. --- 128.63.2.53 ping statistics ---
  46. 2 packets transmitted, 1 packets received, 50% packet loss
  47. round-trip min/avg/max/stddev = 469.883/469.883/469.883/0.000 ms
  48. I.ROOT-SERVERS.NET
  49. PING 192.36.148.17 (192.36.148.17): 56 data bytes
  50. 64 bytes from 192.36.148.17: icmp_seq=0 ttl=44 time=422.592 ms
  51. 64 bytes from 192.36.148.17: icmp_seq=1 ttl=44 time=422.066 ms

  52. --- 192.36.148.17 ping statistics ---
  53. 2 packets transmitted, 2 packets received, 0% packet loss
  54. round-trip min/avg/max/stddev = 422.066/422.329/422.592/0.263 ms
  55. J.ROOT-SERVERS.NET
  56. PING 192.58.128.30 (192.58.128.30): 56 data bytes
  57. 64 bytes from 192.58.128.30: icmp_seq=0 ttl=245 time=448.464 ms
  58. 64 bytes from 192.58.128.30: icmp_seq=1 ttl=245 time=436.557 ms

  59. --- 192.58.128.30 ping statistics ---
  60. 2 packets transmitted, 2 packets received, 0% packet loss
  61. round-trip min/avg/max/stddev = 436.557/442.510/448.464/5.954 ms
  62. K.ROOT-SERVERS.NET
  63. PING 193.0.14.129 (193.0.14.129): 56 data bytes
  64. 64 bytes from 193.0.14.129: icmp_seq=0 ttl=45 time=342.935 ms
  65. 64 bytes from 193.0.14.129: icmp_seq=1 ttl=45 time=343.755 ms

  66. --- 193.0.14.129 ping statistics ---
  67. 2 packets transmitted, 2 packets received, 0% packet loss
  68. round-trip min/avg/max/stddev = 342.935/343.345/343.755/0.410 ms
  69. L.ROOT-SERVERS.NET
  70. PING 198.32.64.12 (198.32.64.12): 56 data bytes
  71. 64 bytes from 198.32.64.12: icmp_seq=0 ttl=53 time=197.546 ms
  72. 64 bytes from 198.32.64.12: icmp_seq=1 ttl=53 time=197.011 ms

  73. --- 198.32.64.12 ping statistics ---
  74. 2 packets transmitted, 2 packets received, 0% packet loss
  75. round-trip min/avg/max/stddev = 197.011/197.279/197.546/0.267 ms
  76. M.ROOT-SERVERS.NET
  77. PING 202.12.27.33 (202.12.27.33): 56 data bytes
  78. 64 bytes from 202.12.27.33: icmp_seq=0 ttl=243 time=502.941 ms
  79. 64 bytes from 202.12.27.33: icmp_seq=1 ttl=243 time=478.207 ms

  80. --- 202.12.27.33 ping statistics ---
  81. 2 packets transmitted, 2 packets received, 0% packet loss
  82. round-trip min/avg/max/stddev = 478.207/490.574/502.941/12.367 ms
復(fù)制代碼



  1. 附件二:
  2. %top

  3. last pid: 97006;  load averages:  0.00,  0.01,  0.00                       up 530+17:46:55 14:08:41
  4. 19 processes:  2 running, 17 sleeping
  5. CPU states:  2.3% user,  0.0% nice,  0.9% system,  0.9% interrupt, 95.8% idle
  6. Mem: 376M Active, 213M Inact, 85M Wired, 68K Cache, 112M Buf, 330M Free
  7. Swap: 2000M Total, 2000M Free

  8.   PID USERNAME PRI NICE  SIZE    RES STATE    TIME   WCPU    CPU COMMAND
  9. 95497 bind       2   0   368M   368M select  41.6H  1.42%  1.42% named
  10. 97006 root      28   0  1872K  1104K RUN      0:00  2.07%  0.68% top
  11.    73 root       2   0   940K   536K select  38:05  0.00%  0.00% syslogd
  12.    84 root       2   0  3000K  1456K select   3:13  0.00%  0.00% sshd
  13.    82 root      10   0  1016K   620K nanslp   1:21  0.00%  0.00% cron
  14.    80 root       2   0  1088K   608K select   0:00  0.00%  0.00% inetd
  15. 96942 jsquan    28   0  5700K  2152K RUN      0:00  0.00%  0.00% sshd
  16. 96962 root      18   0  1308K   896K pause    0:00  0.00%  0.00% csh
  17. 96940 root       2   0  5700K  2024K sbwait   0:00  0.00%  0.00% sshd
  18. 96943 jsquan    18   0  1300K   892K pause    0:00  0.00%  0.00% csh
  19. 3659 root       3   0   944K   456K ttyin    0:00  0.00%  0.00% getty
  20. 3658 root       3   0   944K   456K ttyin    0:00  0.00%  0.00% getty
  21. 7769 root       3   0   944K   652K ttyin    0:00  0.00%  0.00% getty
  22.   111 root       3   0   944K   420K ttyin    0:00  0.00%  0.00% getty
  23.   108 root       3   0   944K   420K ttyin    0:00  0.00%  0.00% getty
  24.   112 root       3   0   944K   420K ttyin    0:00  0.00%  0.00% getty
  25.   113 root       3   0   944K   420K ttyin    0:00  0.00%  0.00% getty
  26.   110 root       3   0   944K   420K ttyin    0:00  0.00%  0.00% getty
  27.    23 root      18   0   208K    64K pause    0:00  0.00%  0.00% adjkerntz
復(fù)制代碼
[/code]
作者: jsquan    時(shí)間: 2004-12-18 14:30
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
現(xiàn)上傳2004年12月18日的流量圖如下:

對(duì)比這兩幅圖,也發(fā)現(xiàn)一個(gè)奇怪問題:
在11:10至12:00之間,對(duì)ns2而言,Query有一突發(fā)的高峰,Respone卻
沒有什么變化。對(duì)ns1而言,Query有一突發(fā)的高峰,Respone跟Query變化相
一致。

ns2_xxx_net-day1.gif (4.59 KB, 下載次數(shù): 107)

ns2.xxx.net Options[_]: growright, noinfo

ns2.xxx.net  
Options[_]: growright, noinfo

ns1_xxx_net-day1.gif (5.42 KB, 下載次數(shù): 112)

ns1.xxx.net Options[_]: growright, noinfo

ns1.xxx.net
Options[_]: growright, noinfo

作者: jsquan    時(shí)間: 2004-12-20 09:58
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
請(qǐng)教,按abel采集Query/Respone流量時(shí),mrtg.cfg文件,
是設(shè)置
Options[_]: growright, noinfo (見上一貼的圖)
還是
Options[_]: growright,bits (見本貼的圖)

ns120041220-1.JPG (72.83 KB, 下載次數(shù): 108)

ns1.xxx.net ( date:20041220) Options[_]: growright,bits

ns1.xxx.net ( date:20041220)  Options[_]: growright,bits

ns220041220-1.JPG (69.24 KB, 下載次數(shù): 107)

ns2.xxx.net ( date:20041220) Options[_]: growright,bits

ns2.xxx.net ( date:20041220)  Options[_]: growright,bits

作者: abel    時(shí)間: 2004-12-21 15:59
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
Options[_]: growright,bits
不要 bits , 他會(huì)把數(shù)字 x8

對(duì)於您提到的幾個(gè)狀況,我目前也想不出來是什麼原因,
只能猜測(cè)是網(wǎng)路的瓶頸點(diǎn),應(yīng)該在那一磈造成了擁塞的狀況
bind 的 tarball 中 contrib 下附了一個(gè)叫 querypref 的程式
您可研究一下他的語法看

用一臺(tái) Server 開 query log, 記下來 user 查了什麼,
把 user 查的東西轉(zhuǎn)戶 querypref 要用的 data format
(querypref 的目錄下文件有說明,很簡(jiǎn)單即可完成,轉(zhuǎn)檔自己
寫一個(gè)小程式就可以了)

用 querypref 來發(fā)送 dns query, 並觀察 querypref report
mrtg report , 及其他網(wǎng)路或設(shè)備的狀況,以了解問題點(diǎn)在那裏
一般來說,ISP 的 IDC 試,單一 querypref 來送 , 可以到達(dá)每秒 1000 次
以上,您的狀況連一半都沒有是較人好奇的.您可在同一網(wǎng)段下再建一個(gè)
DNS 來試試(以免影響用戶)

有什麼結(jié)果大家可在討論看看

(我估記在 DNS Server 連外時(shí), UDP timeout 會(huì)多,造成失敗)
作者: coolgg    時(shí)間: 2004-12-21 23:10
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
to jsquan

關(guān)于request和response相差大的情況,我這個(gè)星期也遇到2次,原因是網(wǎng)絡(luò)不暢(路由器內(nèi)存溢出),dns和外網(wǎng)基本斷開。

平時(shí)負(fù)載發(fā)生很大變化除了病毒以及惡意攻擊外,我認(rèn)為還和某些設(shè)備(如緩存服務(wù)器、BRAS)動(dòng)態(tài)改變首選dns有關(guān)。

dnsflow-week.GIF (6.12 KB, 下載次數(shù): 99)

某服務(wù)器一周負(fù)載

某服務(wù)器一周負(fù)載

作者: jsquan    時(shí)間: 2004-12-22 08:42
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
原帖由 "coolgg" 發(fā)表:
to jsquan

關(guān)于request和response相差大的情況,我這個(gè)星期也遇到2次,原因是網(wǎng)絡(luò)不暢(路由器內(nèi)存溢出),dns和外網(wǎng)基本斷開。

平時(shí)負(fù)載發(fā)生很大變化除了病毒以及惡意攻擊外,我認(rèn)為還和某些設(shè)備(如緩存服務(wù)..........


謝謝。我想我該抽個(gè)時(shí)間,好好從下面兩個(gè)方向自行分析一下,有結(jié)果再交流。
主要是自己工作太忙。不能潛心下來分析這個(gè)。

1、Querylog。Αuerypref (abel推薦的)

2、跟蹤一下廠家路由器設(shè)備。我的ns1與ns2連接在不同的城域網(wǎng)核心層節(jié)點(diǎn)。
設(shè)備也不一樣。的確讓我很郁悶。
作者: vias    時(shí)間: 2004-12-23 00:05
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
好貼!
作者: jsquan    時(shí)間: 2004-12-23 09:24
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
相關(guān)貼子如下:
  1. 請(qǐng)教關(guān)于dnstop和Query/respone比例
  2. http://72891.cn/forum/viewtopic.php?t=430300&highlight=jsquan
復(fù)制代碼


回過頭來,我們?cè)倏催@個(gè)貼子,對(duì)于以下內(nèi)容,請(qǐng)教又作何理解。


  1. 一、dnstop 的輸出結(jié)果如下:

  2. 代碼:
  3. Sources              count      %
  4. ---------------- --------- ------
  5. 220.173.230.2         7008   19.8 (client's ip1)
  6. 220.173.222.25        1252    3.5 (client's ip2)
  7. 220.173.222.23        1043    2.9 (client's ip3)
  8. 220.171.231.251        749    2.1 (client's ip4)
  9. 220.171.226.123        651    1.8 (client's ip5)
  10. 220.172.128.68         647    1.8 (我的primary DNS's ip)

  11. 二、分析
  12. client's ip1 ~ client's ip5,查詢的次數(shù),竟然比我的DNS's ip
  13. 還要大,應(yīng)該是client感染了病毒所致。
  14. 我是通過在named.conf中增加如下語句解決的。
  15. recursive-clients 10000; (該值默認(rèn)為100)。

復(fù)制代碼

作者: skylove    時(shí)間: 2005-01-25 10:06
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
發(fā)現(xiàn)當(dāng)每秒不到一次的時(shí)候...就沒有記錄咯....我這里經(jīng)常是replay 0...真可憐

看來需要rrdtool出馬了~~
作者: coolzsb    時(shí)間: 2005-10-06 15:00
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
可以試試看這個(gè)http://www.bayour.com/bind9-snmp/,直接通過snmp抓bind的數(shù)據(jù),感覺比修改bind方便些。
作者: abel    時(shí)間: 2005-10-06 16:13
標(biāo)題: 給阿驍兄的賀禮二: DNS 流量統(tǒng)計(jì)~超強(qiáng)版
[quote]原帖由 "coolzsb"]苯油ü齭nmp抓bind的數(shù)據(jù),感覺比修改bind方便些。[/quote 發(fā)表:

這個(gè)是以 snmp 的 exec 來取徝的,你每取一次值,就會(huì) run 一次 exec 的指令,
這個(gè)指令中的數(shù)據(jù)也是 rndc 來的, 所以個(gè)人看法兩種做法並無太大差別,
不過 snmp 的東西一般人很容易一知半解
作者: bitterness    時(shí)間: 2006-12-13 11:15
厲害,可是還沒看懂,呵
作者: nmer    時(shí)間: 2007-04-12 11:37
我今天按照上面的方法修改編譯了9.4.0,但在make時(shí)出錯(cuò)了,abel能不能幫忙看看是什么原因,對(duì)C不是很了解,呵呵。

  1. query.c:148: warning: no previous prototype for `get_query_count'
  2. query.c:152: warning: no previous prototype for `get_reply_count'
  3. query.c: In function `ns_query_start':
  4. query.c:4513: parse error before "if"
  5. make: *** [query.o] Error 1
復(fù)制代碼

作者: fuleru    時(shí)間: 2007-11-30 18:10
不懂,先留下腳印先。
作者: tunnel213    時(shí)間: 2007-12-31 14:46
目前還用不上
作者: wholeveg    時(shí)間: 2008-01-29 05:41
先向各位江湖老大與前輩們行個(gè)禮!
作者: niao5929    時(shí)間: 2016-10-31 10:39
CU好文呀。要頂起來!。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2