999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

CactiWeathermap顯示效果的改進與實現

2020-10-09 11:01:23陸海鋒梁卓明
軟件 2020年8期

陸海鋒 梁卓明

摘 ?要: 應用Cacti來監控我校的網絡設備已經將近10年,隨著網絡規模的擴大,Weathermap插件的拓撲圖(按照習慣,以下稱“氣象圖”)也畫得越來越復雜,出現了不少流量標簽重疊的情況和節點標簽過長不能分行的情況。由于Weathermap的編輯器是非交互式的,放置節點標簽需要手工進行不斷的調整,或者先行計算好坐標,通過手工輸入坐標以達到相應的效果。本文以我校的實際應用情況為例,研究如何調整氣象圖的標簽以及自動計算標簽的坐標,美化拓撲圖展現效果的同時,減輕網絡管理員的工作量。

關鍵詞: Cacti Weathermap 拓撲圖

中圖分類號: TP3 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2020.08.022

本文著錄格式:陸海鋒,梁卓明. Cacti Weathermap顯示效果的改進與實現[J]. 軟件,2020,41(08):73-77

【Abstract】: It has been nearly 10 years to monitor network equipment of our school wih Cacti. With expansion of network scale, Weathermap plug-in topology (according to custom, hereinafter referred to as “Weathermap”) has been drawn more complicated, with many cases of overlapping traffic labels and long node labels without line separation. Editor of Weathermap is non interactive, placement of node labels needs manual adjustment, or be calculating coordinates first, achieving corresponding effect with manually coordinates input. With practical application in our school as an example, the paper studies label adjustment of Weathermap and automatical label coordinate calculation, to beautify display effect of topology map and reduce workload of network administrator.

【Key words】: Cacti Weathermap topology

0 ?引言

Cacti是一款免費開源的流量監控軟件,可以基于SNMP、腳本等方式去探測設備的使用情況,擴展及支持都想當的多,因此,受到眾多高校、公司、運營商等機構的信賴和使用。我校使用Cacti Weathermap將近10年,逐漸發現該軟件有種種的不足,尤其是氣象圖的界面不美觀和操作不便,在大規模的情況下的展示效果不理想。例如:節點標簽不能分行,流量標簽位置已被固定,節點標簽位置需要手工調整等。因此,迫切需要尋找一種有效的解決方案以美化氣象圖的展示效果,減輕管理員的工作量[1-4]。經研究氣象圖的源代碼及氣象圖的配置文件,發現可以通過修改源代碼及自動生成配置文件的方案,可以完美解決以上的問題。

1 ?Cacti介紹

Cacti是目前業內應用得最廣泛的開源監控軟件,已經推出了10多年,集技術成熟,架構靈活,功能豐富,插件眾多等各種優點于一身,而且安裝使用簡單,用戶可以自行擴展及編寫模板,內置LDAP認證接口,方便與Windows AD或者OpenLDAP進行對接。

Cacti使用了PHP語言編寫前端頁面,后端使用MySQL作為數據庫,記錄了圖形、設備等信息,圖形的數據則存放于RRD文件當中。該軟件獲取數據的方式多種多樣,可以通過SNMP方式進行獲取,也可以通過PHP腳本、BASH腳本等方式進行獲取,獲取后可以展示于控制臺的圖形當中或者Weathermap插件中。

2 ?Weathermap介紹

Weathermap是一個開源的網絡可視化工具,可以把采集到RRD文件中的數據通過氣象圖的方式展現出來。

對Weathermap提供數據的方式可以多種多樣,可以通過RRDTool、MRTG、文本文件(Tab分隔)、SNMP、fping、外部腳本或者Cacti指定的數據。使用RRDTool的軟件有:Cacti、Criket、Zenoss、MRTG、Routers2、Munin等[5-7]。

該軟件包含了詳細的說明文檔,也有一個非交互式的編輯器用于制作氣象圖。

Weathermap與Cacti結合得非常緊密,以至于Cacti的插件架構專門為了Weathermap提供了一個用戶管理界面,并且直接在數據庫里管理氣象圖的權限。為了提高效率,作為數據源的插件可以直接從Cacti的采集器里提取數據,這些插件有THold和DSStats。

Weathermap目前廣泛用于全球的運營商、網絡交換中心、通信公司、高校校園網、汽車大廠、醫療/制藥行業、政府部門、學校、甚至教堂。

3 ?應用現狀

目前我們將全校所有的交換機、路由器均添加到Cacti中,并通過SNMP協議獲取端口、CPU利用率等信息。對于作為接入功能的交換機,由于端口太多(約40000個),如果全部監控起來,對Cacti服務器的壓力太大,而且價值不高,因此僅監控了交換機的存活狀態;對于作為匯聚功能的交換機(約60臺),則監控起所有端口,并加上CPU監控;對于核心的設備,除了監控所有端口和CPU外,同時收集了這些設備的Syslog日志。

當正確添加了需要監控的設備后,便可以動手制作Weathermap的氣象圖了。

繪制氣象圖的方法很簡單,在頁面上放置兩個節點,再添加一個連接,把這兩個節點連接起來就可以了。但是在繪制過程中,界面是非互動的,也就是說,頁面上只有鼠標在繪制界面上的實時坐標,至于標簽位置和放置的效果,需要等待鼠標確定之后才能看到,所以就會出現類似下圖的流量標簽重疊的情況和部分節點標簽超出繪圖范圍外的情況[8-9]。如果需要調整節點的位置,則需要點擊節點標簽,選擇“移動”,然后再根據操作者自己的感覺移動鼠標,選擇一個新的位置再確定,這個過程只有鼠標的實時坐標可以進行參考,操作過程非常不直觀。

這是Weathermap存在的最大的問題,如果需要制作美觀的氣象圖,需要花費大量的時間去重復這類位置調整的操作,另外,節點標簽的分行和流量標簽位置的調整也對美觀性有很大影響如圖1所示。

4 ?存在問題及解決辦法

在多年的Weathermap使用過程中,發現了不少問題,通過研究和實踐,總結出一些解決的辦法。

(1)氣象圖的節點標簽在默認狀態下只有一行。

經過分析源程序, 發現繪制節點標簽的源代碼位于Weathermap.class.php的myimagestring方法內。官方的源程序片段如下:

imagestring($image, $fontnumber, $x, $y - imagefontheight($fontnumber), $string, $colour);

此處的$string就是需要顯示在標簽內的字符串。由于官方版本沒有做分行處理,因此節點標簽的行數也只是一行,不論在標簽內加上“\n”或者“

”,通過繪制出來之后也不會做任何分行的轉換。因此,可以考慮在此處對源程序進行修改, 在標簽里需要換行的位置輸入一個分隔符,然后程序在此處判斷是否有分隔符,如有,則在新的位置輸出下一行,修改好的程序片段如下:

$linecount = 1; // 行數初始值

$lines = split("\n",$string); // 以“\n”為分隔符拆分各行

$linecount = sizeof($lines); // 統計總行數

$intLoop = 1; // 向循環變量賦初始值

foreach($lines as $line) // 開始循環每一行

{

imagestring($image, $fontnumber, $x, $y - imagefontheight($fontnumber) * ($linecount - $intLoop + 1), $line, $colour); // 根據當前的行號、字號及標簽的Y軸坐標,計算出當前行的Y軸坐標

$intLoop++; // 循環變量自動加1

}

分行后的效果如圖2所示。

(2)流量標簽默認是在線段兩頭的50%位置。

在圖1的氣象圖中,靠近“Campus-TeacherHome- Ag”節點的下行流量標簽非常密集,極容易出現互相重疊的情況,這樣就無法直觀地得知該線路的流量值,這種情況,通常有兩種解決方案:

a. 將氣象圖的尺寸擴大,各節點拉開適當的距離,以調整流量標簽的位置,使得不會互相重疊。這種方案會令到工作量大增,調整各節點的位置耗費的人力和時間太多。

b. 兩節點之間使用曲線互連,使得標簽能夠相互錯開。這種方案不一定可行,有些情況下用曲線不夠美觀。

此時,可以考慮調整流量標簽在流量線段上的位置,將下行流量的標簽往上行流量標簽方向移動。因為操作界面上并沒有提供調整流量標簽位置的方法,通過研究源程序,發現定義流量標簽位置的源代碼位于WeatherMapLink.class.php中,源碼如下:

'splitpos'=>50, // 上下行分段的位置在整條流量線段的50%位置

'labeloffset_out' => 25, // 下行方向的標簽在整條流量線段的25%位置

'labeloffset_in' => 75, // 上行方向的標簽在整條流量線段的75%位置

為了使這下行方向的標簽向上行流量標簽方向移動,同時為了整條流量向線段的美觀,可以同時調整這三個參數:

'splitpos'=>70, // 上下行分段的位置在整條流量線段的70%位置

'labeloffset_out' => 60, // 下行方向的標簽在整條流量線段的60%位置

'labeloffset_in' => 80, // 上行方向的標簽在整條流量線段的80%位置

效果如圖3。

從上圖可以看出,在不修改氣象圖的尺寸和移動節點標簽的情況下,通過調整流量標簽的位置,使得流量標簽不再重疊,為了美觀起見,可以同時調整流量線段的上下行分段位置。

(3)需要手動調整標簽的位置。

調整節點標簽位置一直是使用氣象圖的最繁瑣的步驟,不但費時費力,如有其它節點需要插入,這個工作量相當于重做一次整個氣象圖。我們可以考慮從氣象圖的配置文件入手,通過分析氣象圖的配置文件,了解配置文件的結構,再由腳本重新生成配置文件,達到省時省力又美觀的目的[10]。

打開位于/var/www/html/plugins/weathermap/configs/下的相應氣象圖文件,找到節點定義部分和連接定義部分,如下:

# 節點定義部分

# regular NODEs:

NODE node05466// 節點名稱定義,可自定義

LABEL Campus-TeacherHome-Ag// 節點顯示的標簽定義,可自定義

POSITION 700 450// 節點坐標,可自定義

NODE node05484a

LABEL Campus-WestHome-1

POSITION 89 81

# 連接定義部分

# regular LINKs:

LINK node05466-node05484a // 連接名稱定義,可自定義

INFOURL/graph.php?rra_id=all&local_graph_ id= 15329 // 點擊該連接時需要跳轉的URL地址

OVERLIBGRAPH /graph_image.php?local_ graph_id=15329&rra_id=0&graph_nolegend=true&graph_height=100&graph_width=300// 鼠標指向該連接顯示的圖片

TARGET /var/www/html/rra/1290/17428.rrd // 該連接調用的數據源

NODES node05466 node05484a// 該連接的兩個節點

從上面的定義可以看出,生成這個配置文件需要有如下數據:

a. 定義節點名稱。可以使用自定義名稱,使得配置文件可讀性更高,例如:cNODE Cam-pus-TeacherHome- Ag

b. 定義節點坐標。可以根據節點數量、拓撲結構,選擇圓形、橢圓形等圖形,通過預定義公式計算出來的坐標,填入POSITION一行內。

c. 定義連接名稱。可以使用自定義名稱,是的文件可讀性更高,例如:LINK Campus-TeacherHome-Ag- Campus-WestHome-1

d. 找到graph_id是創建INFOURL和OVERLIBGRAPH的關鍵。

在管理界面的控制臺主機記錄下相應的host_id點擊相應的主機圖形列表,此時便可看到屬于該主機的所有graph_id及對應的接口如圖4、5所示。

e. 找出相應圖形的rra id。

回到主機選擇界面數據源列表,此時可以看到屬于該主機的所有rra id及對應的接口,如圖6所示。

生成配置文件:TARGET /var/www/html/rra/ [host_id]/[rra_id].rrd

應用該方法,配合Excel計算出各點坐標,合并為氣象圖配置文件內容,便可以生成各種美觀的氣象圖。在后期需要對氣象圖的節點進行修改的時候,只需要重新再Excel里生成一次,把新生成的配置文件覆蓋到當前的配置文件即可如圖7、8所示。

5 ?結論

雖然Cacti是一款面世10多年的軟件,這期間也有不少同類軟件的界面比它漂亮、功能強大,但是它的良好的穩定性和靈活的擴展性依然令Cacti在這個時代仍然占有一席之地,更由于它是一款開源軟件,在此基礎上用戶可以根據自己的實際情況對Cacti進行修改和擴展,滿足用戶的需求。

我校從2006年開始使用Cacti至今,一直均在穩定運行。這個軟件大大減輕了我們的網絡管理工作難度,對判斷網絡故障點位置可以提供比較精準的支撐,提供了美觀便捷的可視化運維界面。

參考文獻

[1] 王寧邦. Cacti 在可視化校園網絡管理中的應用, 云南民族大學學報: 自然科學版2018, 27(2): 129-135

[2] 儲久良, 吳許俊, 張曉群, 等. 基于Cacti的校園網絡氣象圖技術的研究與實現[J]. 計算機技術與發展, 2010, 20(04): 199-202.

[3] 黃玉, 陳軍, 肖宗水. 網絡氣象圖的研究與應用改進[J]. 電腦知識與技術(學術交流), 2007(04): 1123-1124+1139.

[4] 儲久良. 基于PHP Weathermap的網絡流量及拓撲結構可視化實現[J]. 科技管理研究, 2010, 30(19): 192-194.

[5] 周立. 深入探析WeatherMap中指令的擴展特性[J]. 有線電視技術, 2017(11): 95-97.

[6] 孫曉霞, 劉星燕, 孫躍飛, 等. 氣象報文轉換程序設計[J]. 軟件, 2012, 33(06): 72-74.

[7] 孫靜, 李亞龍, 萬杰. 基于WeatherMap技術的網絡氣象圖研究與實現[J]. 電腦編程技巧與維護, 2016(22): 85-86.

[8] 趙瑜, 李俊. 基于SNMP的網絡氣象圖設計與實現[J]. 微電子學與計算機, 2004(09): 54-58+63.

[9] 高杰欣. Cacti向網管系統提供網絡氣象圖[J]. 中國教育網絡, 2012(11): 77.

[10] 黃玉, 陳軍, 肖宗水. 網絡氣象圖的研究與應用改進[J]. 電腦知識與技術(學術交流), 2007(04): 1123-1124+1139.

主站蜘蛛池模板: 国产亚洲美日韩AV中文字幕无码成人 | 综合五月天网| 久草网视频在线| 亚洲成人黄色在线| 中文字幕在线永久在线视频2020| 国产美女主播一级成人毛片| 一级做a爰片久久免费| 99精品一区二区免费视频| 亚洲中文字幕av无码区| 国产产在线精品亚洲aavv| 专干老肥熟女视频网站| 欧美激情福利| 亚洲综合激情另类专区| 亚洲无码高清免费视频亚洲 | 91成人在线免费视频| 国产在线日本| 成人福利视频网| 国产精品视频导航| 色偷偷av男人的天堂不卡| 亚洲第七页| 在线观看国产小视频| 性色生活片在线观看| 国产精品.com| 亚洲欧美成人| 亚洲午夜久久久精品电影院| 午夜精品一区二区蜜桃| hezyo加勒比一区二区三区| av手机版在线播放| 成人在线欧美| 亚洲一级毛片免费观看| 在线观看网站国产| 亚洲欧洲一区二区三区| 男女猛烈无遮挡午夜视频| 精品人妻无码中字系列| 尤物视频一区| 人妻无码AⅤ中文字| 免费国产高清视频| 五月婷婷丁香综合| 久视频免费精品6| 色综合五月| 最新国产午夜精品视频成人| 亚洲人妖在线| 亚洲视频欧美不卡| 日韩欧美视频第一区在线观看| 日本免费精品| 风韵丰满熟妇啪啪区老熟熟女| 5388国产亚洲欧美在线观看| 中文无码精品A∨在线观看不卡 | 丁香婷婷激情网| 幺女国产一级毛片| 波多野结衣一区二区三区四区| 欧美日韩中文国产| 日韩精品欧美国产在线| 在线视频一区二区三区不卡| 亚洲无码精品在线播放| 亚洲精品国产首次亮相| 992Tv视频国产精品| 一级不卡毛片| 最新国产网站| 国产一区二区三区精品欧美日韩| 亚洲人成人无码www| 国产精品亚洲日韩AⅤ在线观看| 国产国模一区二区三区四区| 免费Aⅴ片在线观看蜜芽Tⅴ| 日韩精品久久久久久久电影蜜臀| 91精品专区国产盗摄| 日韩天堂视频| 五月婷婷激情四射| 免费aa毛片| 亚洲欧洲自拍拍偷午夜色无码| 亚洲成人www| 九九热精品视频在线| 久久久噜噜噜| 日本福利视频网站| 911亚洲精品| 中文字幕不卡免费高清视频| 亚洲va视频| 99久久精品无码专区免费| 国产精品黄色片| аⅴ资源中文在线天堂| 亚洲乱码视频| 成人中文字幕在线|