[精讚] [會員登入]
130

[DNS管理系統] 流量圖&流量圖完成碎碎唸

作者自己的碎碎唸

此文完整連結 http://n.sfs.tw/13095

複製連結 [DNS管理系統] 流量圖&流量圖完成碎碎唸@Axer's World
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-02-13 02:11:15 最後編修
2019-02-04 03:46:53 By Axer
 

終於在過年前把DNS的流量圖做好。 有興趣的請參考[1]

有人說:「畫個流量圖嘛,不就是MRTG嘛, SNMP GET一下就有了~~」

才怪咧,MRTG根本就不是重點

重點是你得要資料,同時SNMP不會有什麼可以讓你拿來話DNS的資料。

不然你拿什麼畫圖??

當然,BIND提供分析數據的文字檔,但是那個檔你看過後,你就知道,要轉成有效的數據,需要下功夫。

於是我花了整整兩週來分析這個檔案。

由於該資料相當的龐大,不整理很快就塞爆你的伺服器,5分鐘記一次,一天288次的話,一天就能高達100MB,這樣算一算,一年53週的話資料量就能高達53G,這表示我的伺服器很快就會爆了。

有人說:「不可能這麼多,我的一天才1MB不到。」只能說這是夏蟬不語冰的層級,因為我把所有的網域都記錄,更別說我有超過1000個網域,而且超過3台以上的伺服器。

於是我開始著手寫出能分析資料的程式,我的程式雖然很精簡,但是我把所有的欄位全部記下來,在思考程式寫法時,我不斷的和自己打架:

 Q 我要收集所有的資料,還是選我要的收集?

 Q 我要收到資料庫中,還是留文字檔就好?

 Q 我要每台伺服器各自處理,還是集中處理?

 Q 處理的資料量太大,我要多久處理一次?

....

經過了不斷的TRY and ERROR,我終於把資料全部歸檔,這中間克服了不少技術上的難題,

但是,我目前擁有的還只是RAW DATA,整理過的RAW DATA。

不要小看RAW DATA,短短的一個月不到,我就擁有超過2000萬筆的資料,有夠驚人。

一個系統如果不能有效率的控制資料成長的速度,沒多久這個系統就不能運作。

我野心很大,預想是我不在崗位上十年,這個系統還是可以動。

░░░░░░░░░░░░░░░░░░░░░資料收集的部分完成的分隔線░░░░░░░░░░░░░░░░░░░░░░░

完成收集資料以後,我隔了一週才繼續分析我的數據。

分析數據也很吃腦力,除了要解決問題,還得要有效率。畢竟,一次要開的檔案是超過10000個,沒效率的開讀檔會讓伺服器太忙甚至跑不完。

接下來就是繪圖的部分,做到這裡其實有點懶了,

就覺得差不多要完成,但是還沒看到終點線。

為了畫圖,我本來想的是用JS來取數據直接畫,

但是這樣的做法就得到底層和上層整合,換句話說,就是要讓網頁的PHP也要存取原始的RAW DATA,

這可不成,為了這個目的再開權限是不好的做法。

最後我決定還是在底層畫圖就好,RRDTool是我最後的選擇。

使用RRDTool的話,你得再把資料餵給RRD資料庫,這又是一個漫長的過程,2000萬筆的資料,我餵了整整一天多。

之中還因為資料錯誤,重做了二三次。

還是完成了。

這次寫程式我為了容錯下了不少工夫,舉個簡單的例子,如果不像中市只有4台機器,而是有20台或更多,

我的程式要做到自動偵測自動歸檔自動繪圖。還有容錯顯示等等功能。

換句話說,不要太多的人為設定。

話說為什麼要畫圖?

其實很多服務在底層跑,你都不知道他到底在忙什麼,畫圖是一個了解最好的方法,

因為我看了RAW DATA好像看到了什麼,但什麼都不知道,

圖一畫就明瞭了。

於是又花了幾天研究怎麼畫圖,RRDtool還真的滿複雜的,我喜歡。

經由畫圖才知道很多原本不知道的地方,像是下面其中一台DNS伺服器進入的query:

 

由圖中就發現奇怪的地方:

1. 一天中有二段資料的遺失?長達10分鐘

2. 竟然有大量的PTR查詢,這個不是應該很少人用嗎?

3. 每天有三次大量的PTR查詢,似乎透露什麼程式在幹嘛的訊息?

4. CNAME記錄查詢幾乎沒有,還是以A和AAAA記錄為準

5. 每個小時似乎規律的有峰值?

我原本都以為我分析有問題,於是我調出原始資料一筆筆記算,後來發現程式沒有錯

但是為什麼會有資料的遺失呢?我發現真的是遺失了!
我找不到會遺失的原因,經過了三天,我想到了。

原因就是一次要畫的圖太多,要開的檔案太多,我的單線程程式前面跑不完,然後後面程式又再執行,資料就被刪掉了。

想到這個非常可能的原因後我又得改寫程式解決這個困難,當然現在不再會有這種資料遺失的情況。

---

現在流行的大數據可視化

你如果不做可視化,就無法發現問題,更別說要解決問題。

另外這張經由可視化後,發現IPv6的協定使用率比想像中的還要高

這都是可視化後迷人之處。

 

結論

要畫的圖還很多,目前只畫了一小部分,還得待之後慢慢完成。

 

 

參考資料

[1] http://ddnss.tc.edu.tw/doc/stat

你可能感興趣的文章

[SFS3] 2015學務系統移轉記錄 1/2 2015學務系統移轉搬移記錄,sfs3學務系統搬移

[SFS3] 2015學務系統移轉記錄 2/2 2015學務系統移轉搬移記錄,sfs3學務系統搬移

[DNS管理系統] 額外加入ZONE的方法 想加入非學校的zone,步驟操作

[DNS管理系統] 系統登入 系統登入

[DNS管理系統] 系統簡報 簡報作為2018.3.28報告用

[DNS管理系統] 新增代管網域 中市DDNS集中化系統,收到學校代管申請時,操作步驟記錄。

[DNS管理系統] 流量圖&流量圖完成碎碎唸 作者自己的碎碎唸

[DNS管理系統] 系統公告和更新記錄 台中市網DNS集中化系統公告和更新記錄

[DNS管理系統] 關於本系統及系統運作原理 台中市網路中心雲端DNS設定管理系統操作說明

[DNS管理系統] dns的設定進階 記錄的設定進階

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

笑話第1彈 瘦河馬精選,不好笑不收錄....第一彈比較不好笑沒錯。

笑話第8彈 1 寫作業的理由 兒子:爸爸,我不想寫作業。 爸爸:我給你講個故事。美國和前蘇聯進行空間競賽,雙方都遇到了一個問題,如何

要用「滿」還是「蠻」? 是「滿簡單」還是「蠻簡單」?是要用滿還是蠻?

現代kuso名句 樹多必有枯枝,人多必有白癡。 君子報仇,三年不晚。小人報仇,一天到晚。 醫生叫我行光合作用別熬夜 。 帥有個屁用!到頭來

[Scratch2] 畫方、多邊型、圓、五芒星或螺旋 畫方、圓、五芒星或螺旋,這篇是很基礎的。