• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      DNS實時監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)

      2013-10-24 04:16:46李欣琪
      中國教育網(wǎng)絡(luò) 2013年12期
      關(guān)鍵詞:域名檢索可視化

      文/李欣琪

      目前,復(fù)旦大學(xué)共有5臺DNS服務(wù)器分布于四校區(qū),其中兩臺作為復(fù)旦域名名稱服務(wù)器(Name Server),同時提供其他域名的遞歸解析服務(wù)。因此,DNS服務(wù)直接關(guān)系到兩方面內(nèi)容:1.公眾訪問復(fù)旦大學(xué)相關(guān)站點的質(zhì)量;2.校園網(wǎng)用戶的網(wǎng)絡(luò)訪問質(zhì)量。DNS的性能指標和統(tǒng)計分析,成為信息化建設(shè)的一個關(guān)注點。建立一個功能全面完善的DNS監(jiān)控系統(tǒng),提供DNS服務(wù)關(guān)鍵信息的統(tǒng)計和分析,幫助排查網(wǎng)絡(luò)故障,進行安全預(yù)警,具有重要的意義。

      以使用最為廣泛的DNS軟件ISC BIND為例,對于BIND服務(wù)的監(jiān)控和統(tǒng)計,可以采取執(zhí)行命令或使用第三方程序如DNSTOP的方式獲取BIND進程的CPU、內(nèi)存和網(wǎng)絡(luò)等資源消耗情況,并通過編寫腳本來統(tǒng)計BIND產(chǎn)生的日志,獲取相應(yīng)的查詢記錄。但當(dāng)DNS服務(wù)處于高負載的條件下,這種方式無法及時處理迅速增長的日志,同時頻繁的日志讀取很快會帶來I/O上的瓶頸,甚至影響到DNS服務(wù)的質(zhì)量。

      因此,本文提出了一種分布式架構(gòu)的DNS實時監(jiān)控系統(tǒng)的設(shè)計方案,利用流式數(shù)據(jù)存儲和分布式計算實時處理DNS性能數(shù)據(jù),改變了傳統(tǒng)通過人工排查DNS故障的方式,提高了DNS服務(wù)關(guān)鍵信息統(tǒng)計和分析的效率,提升了系統(tǒng)的穩(wěn)定性和安全性。

      圖1 DNS運行流程

      DNS運行流程與性能指標

      根據(jù)服務(wù)類型,DNS可以分為遞歸和迭代兩種。如圖1所示,當(dāng)用戶要訪問目標域名時,首先查詢本地DNS緩存,如果沒有該域名的解析記錄,則向本地DNS服務(wù)器提交查詢請求,由本地DNS服務(wù)器代為解析,這一過程稱為遞歸。其中,本地DNS服務(wù)器接收到請求后,首先判斷本地緩存中是否有該域名解析記錄。如果有則直接返回相應(yīng)的IP地址;如果沒有則向十三臺根域名服務(wù)器提交查詢請求,并以迭代方式輪詢,直到獲知該域名的解析結(jié)果。

      上述過程中產(chǎn)生了大量的數(shù)據(jù)交互,為了了解DNS的運行服務(wù)狀況,我們需要對DNS的各項指標進行實時監(jiān)控。除了常規(guī)的CPU、內(nèi)存、I/O、網(wǎng)絡(luò)和進程狀態(tài)之外,還需要針對DNS的各類請求進行更細粒度的監(jiān)控和分析。

      首先,需要對DNS實時請求數(shù)、A類地址查詢數(shù)、CNAME類地址查詢數(shù)、MX郵件交換查詢數(shù)、AAAA IPv6地址查詢數(shù)等不同類型的DNS查詢進行分析和統(tǒng)計,計算各類型的數(shù)量及比例,幫助管理員在總體上掌握網(wǎng)絡(luò)概況。

      其次,分析和統(tǒng)計不同域名的請求次數(shù)和頻率,可以了解各業(yè)務(wù)系統(tǒng)的訪問狀態(tài),以及互聯(lián)網(wǎng)訪問的集中區(qū)域。

      再次,通過統(tǒng)計和分析DNS請求的IP來源也可以從宏觀上掌握整個校園網(wǎng)的網(wǎng)絡(luò)請求來源分布和熱點區(qū)域;特別對于對外提供訪問服務(wù)的站點,可以獲知來訪者在地區(qū)上的分布情況。通過以上信息,我們可以實時獲取DNS的運行狀態(tài),以及電子郵件、網(wǎng)站等訪問情況。根據(jù)校園網(wǎng)用戶的DNS請求IP來源統(tǒng)計,我們還可以判斷出校園網(wǎng)熱點區(qū)域,這些信息可以輔助我們判斷網(wǎng)絡(luò)狀況。假如某個區(qū)域在一段時間內(nèi)的DNS請求數(shù)相比最近的一段時間,出現(xiàn)急劇下降的情況,很可能是該區(qū)域的網(wǎng)絡(luò)連接出現(xiàn)了故障,如果出現(xiàn)急劇上升的情況,很可能是該區(qū)域存在惡意訪問行為。這些信息都可以幫助管理員在第一時間內(nèi)追蹤問題根源。同時,通過監(jiān)測來自互聯(lián)網(wǎng)的DNS請求,分析和統(tǒng)計其IP來源、請求對象和頻率,可以發(fā)現(xiàn)包括DNS放大攻擊在內(nèi)的惡意請求,也可以有針對性地對爬蟲的請求進行過濾和屏蔽。

      最后,從用戶體驗的角度進行響應(yīng)時間及DNS服務(wù)可用性監(jiān)測。用戶的網(wǎng)絡(luò)訪問首先要通過DNS解析獲取所要訪問域名的IP地址,因此DNS的服務(wù)質(zhì)量直接關(guān)系到網(wǎng)頁加載和頁面打開的速度,影響用戶對網(wǎng)絡(luò)質(zhì)量的整體感受。為了更深層次地了解DNS的服務(wù)質(zhì)量,還需要模擬用戶向DNS發(fā)出請求的過程,對DNS響應(yīng)結(jié)果和響應(yīng)時間進行檢測。

      圖2 監(jiān)控系統(tǒng)架構(gòu)

      系統(tǒng)架構(gòu)與設(shè)計

      根據(jù)上述需求,對DNS實時監(jiān)控系統(tǒng)的架構(gòu)進行設(shè)計,如圖2所示。監(jiān)控系統(tǒng)包括控制中心、數(shù)據(jù)傳輸、數(shù)據(jù)清洗、索引、分布式存儲、檢索、統(tǒng)計分析和可視化等部分。

      通過控制中心向DNS集群下達數(shù)據(jù)傳輸任務(wù),DNS集群將各類性能數(shù)據(jù)和日志文件通過數(shù)據(jù)傳輸模塊發(fā)往指定的存儲區(qū)域進行集中化存儲。由于原始數(shù)據(jù)的類型和格式各異,所以需要根據(jù)數(shù)據(jù)源分別對各類數(shù)據(jù)進行數(shù)據(jù)清洗,去除格式異常的無效數(shù)據(jù),并將其轉(zhuǎn)換為預(yù)定義的邏輯結(jié)構(gòu)。接下來數(shù)據(jù)將會以流的形式發(fā)送給索引模塊,索引模塊為數(shù)據(jù)建立索引,并將其存儲至HBase節(jié)點上。對于前端用戶發(fā)起的查詢請求,檢索模塊通過HBase集群的讀寫接口進行并行處理,并將結(jié)果返回給用戶。同時,可視化模塊負責(zé)提供數(shù)據(jù)的多樣化展示。

      數(shù)據(jù)傳輸

      DNS服務(wù)器時刻都在響應(yīng)用戶的請求,大量的數(shù)據(jù)在會話中產(chǎn)生。這其中量最大的就是刻畫服務(wù)性能的相關(guān)數(shù)據(jù)。例如,服務(wù)器實時的CPU、內(nèi)存使用率,網(wǎng)絡(luò)帶寬的使用情況,并發(fā)請求數(shù)等等。另外,通過配置,DNS能夠以對服務(wù)器的性能指標進行統(tǒng)一管理,需要將這些數(shù)據(jù)統(tǒng)一傳輸?shù)奖O(jiān)控系統(tǒng)的后端存儲上進行集中處理。數(shù)據(jù)傳輸任務(wù)由控制中心向各DNS服務(wù)器下發(fā),可使用FTP、SCP等多種傳輸方式。

      數(shù)據(jù)清洗

      對于傳輸?shù)奖O(jiān)控系統(tǒng)后端存儲上的數(shù)據(jù),由于其格式各不相同,并且可能包含一些無效的數(shù)據(jù),所以在進行索引和分析之前,需要對數(shù)據(jù)進行統(tǒng)一的清洗。數(shù)據(jù)清洗主要通過Fluentd來實現(xiàn)。Fluentd是一款開源的數(shù)據(jù)流收集系統(tǒng),它的特點在于其輸入輸出部分均是可定制化的,用戶可以通過簡單的配置,將數(shù)據(jù)流以指定格式輸出到目標位置。例如,一條典型的DNS查詢請求格式如下所示:

      18-Aug-2012 15:05:19.975 info: client 175.186.6.136#56377:view internal: query: www.hao123.com IN A +

      各字段分別記錄了請求日期、時間、請求來源和端口,以及請求對象和請求類型。為了從中提取對數(shù)據(jù)統(tǒng)計和分析有價值的信息,可以通過構(gòu)造正則表達式定義如下的Fluentd數(shù)據(jù)格式配置來對該條數(shù)據(jù)進行整理:

      format /^(?) (?) [^ ]* [^ ]* (?)[^ ]* [^ ]*[^ ]*[^ ]*(?) .*$/

      整理后的數(shù)據(jù)為Key-Value的形式,非常適合做進一步地處理。

      索引與分布式存儲

      為了提高數(shù)據(jù)檢索的速度,需要將清洗后的數(shù)據(jù)做進一步的處理而不是直接進行存儲。首先將數(shù)據(jù)通過全文索引工具Lucene進行處理,由于是文本文件,Lucene使用Text File Parser對數(shù)據(jù)進行解析,提取出索引項和相關(guān)頻率等信息。接下來Lucene對數(shù)據(jù)構(gòu)建反向索引并進行存儲,其中反向索引包含搜索關(guān)鍵詞所對應(yīng)的所有文檔,通過這種方式來提高對文檔關(guān)鍵詞的檢索速度。但隨著處理數(shù)據(jù)量的增加,索引的規(guī)模也在迅速膨脹,直接基于文件系統(tǒng)存儲索引會使檢索性能明顯下降。本文通過將Lucene索引存儲到專為海量數(shù)據(jù)處理而設(shè)計的HBase之上,能夠很好地利用HBase高可靠性、高性能、可伸縮的分布式存儲特點,即使在索引規(guī)模較大的情況下也能夠?qū)崿F(xiàn)實時的查詢。

      控制中心

      對于監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸、數(shù)據(jù)清洗、索引和存儲等任務(wù),都需要由控制中心來統(tǒng)一下發(fā)命令和進行任務(wù)調(diào)度。在數(shù)據(jù)傳輸過程中,控制中心需要實時檢測傳輸是否中斷,傳輸完成之后還要再次檢查線上數(shù)據(jù)和監(jiān)控系統(tǒng)后端存儲數(shù)據(jù)是否一致。如果兩份數(shù)據(jù)不一致,控制中心需要通知數(shù)據(jù)傳輸模塊進行重傳。對于成功傳輸?shù)臄?shù)據(jù),控制中心會通知傳輸模塊將其從DNS線上服務(wù)器刪除。同樣,數(shù)據(jù)處理的其他各階段,也需要控制中心來監(jiān)控處理過程,對于出現(xiàn)異常的任務(wù)需要重新啟動,只有順利完成的任務(wù)才能夠進入下一個階段進行進一步的數(shù)據(jù)處理。

      檢索

      經(jīng)過索引后的數(shù)據(jù),可以通過監(jiān)控系統(tǒng)的前端提交查詢請求。查詢請求的格式支持Lucene的查詢語法,同時支持多條件、多字段的綜合查詢。例如,需要查詢2013年07月03日所有查詢fudan.edu.cn域名的請求情況,可以輸入以下語句進行查詢:

      Date:”2013-07-03” AND domain:”fudan.edu.cn”

      檢索模塊將通過HBase查詢接口對索引數(shù)據(jù)進行查詢,并返回所有的結(jié)果。

      可視化

      對于DNS的各項監(jiān)控指標,單純從記錄查詢和數(shù)據(jù)統(tǒng)計上可能無法對DNS的整體運行狀況有全局性的了解。因此對監(jiān)控數(shù)據(jù)進行可視化展示和對比能夠讓管理員對DNS運行狀態(tài)一目了然。本文設(shè)計的監(jiān)控系統(tǒng)通過橫向和縱向?qū)Ρ雀鞅O(jiān)控指標所占的比例和趨勢,提供柱狀、餅狀和熱力圖等可視化方式,使管理員全面掌握DNS以及網(wǎng)絡(luò)的運行情況。

      圖3 DNS監(jiān)控系統(tǒng)數(shù)據(jù)檢索頁面

      圖4 DNS各類查詢比例

      圖5 DNS每日統(tǒng)計報表

      圖6 DNS請求來源

      效果與分析

      以最流行的DNS軟件BIND為例,使用本文設(shè)計的監(jiān)控系統(tǒng)進行實時監(jiān)控。BIND配置文件的語法允許使用logging關(guān)鍵字定義不同的channel,每個channel指定存放日志信息的文件名、文件個數(shù)及大小、消息等級,并指定日志內(nèi)容是否包括時間和消息的類別。通過配置可以將DNS運行時產(chǎn)生的一些關(guān)鍵信息以文本形式保存在磁盤上,關(guān)鍵配置如下所示:

      Logging {

      channel security_log {

      File "/home/dns/log/dns-sec.log" size 10240m;

      Severity info;

      Print-severity yes;

      Print-timeyes;

      };

      channel query_log {

      File "/home/dns/log/dns-query.log" size 10240m;

      Severity info;

      Print-severity yes;

      Print-timeyes;

      };

      channel default_log {

      File "/home/dns/log/dns-default.log" size 10240m;

      Print-category yes;

      Print-time yes;

      Severity info;

      };

      category security { security_log; };

      category queries { query_log; };

      category default { default_log; };

      };

      5臺DNS使用同樣的日志配置,并以logrotate的方式每15分鐘進行輪轉(zhuǎn)??刂浦行目刂茢?shù)據(jù)傳輸模塊將生成的數(shù)據(jù)實時發(fā)送到監(jiān)控系統(tǒng)的后端存儲上進行數(shù)據(jù)清洗。經(jīng)過索引后的數(shù)據(jù)可以接受來前端的實時檢索。通過監(jiān)控系統(tǒng)前臺檢索某天某段時間內(nèi)的DNS查詢請求效果如圖3所示。

      對于各類DNS監(jiān)控指標的實時可視化效果如圖4所示。當(dāng)DNS流量或并發(fā)請求出現(xiàn)異常時,為了進一步排查,需要對請求來源做統(tǒng)計分析,請求來源可視化可以為解決此類問題提供幫助。如圖5所示,通過某天的DNS流量統(tǒng)計報表發(fā)現(xiàn)其中一臺DNS流量同比有大幅上漲,通過圖6所示的DNS請求來源統(tǒng)計可以迅速定位可疑IP地址,并通過監(jiān)控系統(tǒng)的前臺檢索該IP請求內(nèi)容,進一步確認該IP是否存在惡意訪問行為。

      同時,DNS監(jiān)控系統(tǒng)對請求來源實時繪制熱力圖,根據(jù)其IP來源映射到所屬的地理位置,并以標注點的明亮程度代表請求的數(shù)量多少。熱力圖支持通過正則表達式過濾IP來源和查詢歷史。

      本文設(shè)計和實現(xiàn)了一種DNS實時監(jiān)控系統(tǒng),能夠?qū)崟r分析和統(tǒng)計DNS的各類請求及來源分布,并通過統(tǒng)計報表及可視化的手段幫助管理員從全局把握DNS和網(wǎng)絡(luò)的運行狀況。在實際應(yīng)用中,該實時監(jiān)控系統(tǒng)能夠幫助管理員及時發(fā)現(xiàn)網(wǎng)絡(luò)中潛在的問題和風(fēng)險,進行預(yù)警和告警,還可以幫助管理員進行細粒度的問題排查,具備處理高效、監(jiān)控精準、響應(yīng)實時、統(tǒng)計分析全面的特點。

      猜你喜歡
      域名檢索可視化
      基于CiteSpace的足三里穴研究可視化分析
      基于Power BI的油田注水運行動態(tài)分析與可視化展示
      云南化工(2021年8期)2021-12-21 06:37:54
      基于CGAL和OpenGL的海底地形三維可視化
      2019年第4-6期便捷檢索目錄
      “融評”:黨媒評論的可視化創(chuàng)新
      傳媒評論(2019年4期)2019-07-13 05:49:14
      如何購買WordPress網(wǎng)站域名及綁定域名
      專利檢索中“語義”的表現(xiàn)
      專利代理(2016年1期)2016-05-17 06:14:36
      騰訊八百萬美元收購域名
      頂級域名爭奪戰(zhàn):ICANN放出1930個通用頂級域名,申請者有上千家
      咱去國外買域名
      雷波县| 荥经县| 京山县| 肇东市| 镇安县| 嘉荫县| 大理市| 桐庐县| 信宜市| 长白| 临清市| 蒙山县| 临西县| 淮北市| 涪陵区| 华宁县| 唐河县| 禄丰县| 襄樊市| 安仁县| 盐边县| 犍为县| 师宗县| 白水县| 察隅县| 广元市| 普兰县| 绵竹市| 兰西县| 阜康市| 萨嘎县| 扶绥县| 长汀县| 洪湖市| 颍上县| 清徐县| 华亭县| 大竹县| 唐山市| 桐梓县| 诸暨市|