• 
    

    
    

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

      CactiWeathermap顯示效果的改進與實現(xiàn)

      2020-10-09 11:01:23陸海鋒梁卓明
      軟件 2020年8期
      關(guān)鍵詞:拓?fù)鋱D

      陸海鋒 梁卓明

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

      關(guān)鍵詞: Cacti Weathermap 拓?fù)鋱D

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

      本文著錄格式:陸海鋒,梁卓明. Cacti Weathermap顯示效果的改進與實現(xiàn)[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是一款免費開源的流量監(jiān)控軟件,可以基于SNMP、腳本等方式去探測設(shè)備的使用情況,擴展及支持都想當(dāng)?shù)亩啵虼?,受到眾多高校、公司、運營商等機構(gòu)的信賴和使用。我校使用Cacti Weathermap將近10年,逐漸發(fā)現(xiàn)該軟件有種種的不足,尤其是氣象圖的界面不美觀和操作不便,在大規(guī)模的情況下的展示效果不理想。例如:節(jié)點標(biāo)簽不能分行,流量標(biāo)簽位置已被固定,節(jié)點標(biāo)簽位置需要手工調(diào)整等。因此,迫切需要尋找一種有效的解決方案以美化氣象圖的展示效果,減輕管理員的工作量[1-4]。經(jīng)研究氣象圖的源代碼及氣象圖的配置文件,發(fā)現(xiàn)可以通過修改源代碼及自動生成配置文件的方案,可以完美解決以上的問題。

      1 ?Cacti介紹

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

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

      2 ?Weathermap介紹

      Weathermap是一個開源的網(wǎng)絡(luò)可視化工具,可以把采集到RRD文件中的數(shù)據(jù)通過氣象圖的方式展現(xiàn)出來。

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

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

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

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

      3 ?應(yīng)用現(xiàn)狀

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

      當(dāng)正確添加了需要監(jiān)控的設(shè)備后,便可以動手制作Weathermap的氣象圖了。

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

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

      4 ?存在問題及解決辦法

      在多年的Weathermap使用過程中,發(fā)現(xiàn)了不少問題,通過研究和實踐,總結(jié)出一些解決的辦法。

      (1)氣象圖的節(jié)點標(biāo)簽在默認(rèn)狀態(tài)下只有一行。

      經(jīng)過分析源程序, 發(fā)現(xiàn)繪制節(jié)點標(biāo)簽的源代碼位于Weathermap.class.php的myimagestring方法內(nèi)。官方的源程序片段如下:

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

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

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

      $linecount = 1; // 行數(shù)初始值

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

      $linecount = sizeof($lines); // 統(tǒng)計總行數(shù)

      $intLoop = 1; // 向循環(huán)變量賦初始值

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

      {

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

      $intLoop++; // 循環(huán)變量自動加1

      }

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

      (2)流量標(biāo)簽?zāi)J(rèn)是在線段兩頭的50%位置。

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

      a. 將氣象圖的尺寸擴大,各節(jié)點拉開適當(dāng)?shù)木嚯x,以調(diào)整流量標(biāo)簽的位置,使得不會互相重疊。這種方案會令到工作量大增,調(diào)整各節(jié)點的位置耗費的人力和時間太多。

      b. 兩節(jié)點之間使用曲線互連,使得標(biāo)簽?zāi)軌蛳嗷ュe開。這種方案不一定可行,有些情況下用曲線不夠美觀。

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

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

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

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

      為了使這下行方向的標(biāo)簽向上行流量標(biāo)簽方向移動,同時為了整條流量向線段的美觀,可以同時調(diào)整這三個參數(shù):

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

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

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

      效果如圖3。

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

      (3)需要手動調(diào)整標(biāo)簽的位置。

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

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

      # 節(jié)點定義部分

      # regular NODEs:

      NODE node05466// 節(jié)點名稱定義,可自定義

      LABEL Campus-TeacherHome-Ag// 節(jié)點顯示的標(biāo)簽定義,可自定義

      POSITION 700 450// 節(jié)點坐標(biāo),可自定義

      NODE node05484a

      LABEL Campus-WestHome-1

      POSITION 89 81

      # 連接定義部分

      # regular LINKs:

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

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

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

      TARGET /var/www/html/rra/1290/17428.rrd // 該連接調(diào)用的數(shù)據(jù)源

      NODES node05466 node05484a// 該連接的兩個節(jié)點

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

      a. 定義節(jié)點名稱??梢允褂米远x名稱,使得配置文件可讀性更高,例如:cNODE Cam-pus-TeacherHome- Ag

      b. 定義節(jié)點坐標(biāo)??梢愿鶕?jù)節(jié)點數(shù)量、拓?fù)浣Y(jié)構(gòu),選擇圓形、橢圓形等圖形,通過預(yù)定義公式計算出來的坐標(biāo),填入POSITION一行內(nèi)。

      c. 定義連接名稱??梢允褂米远x名稱,是的文件可讀性更高,例如:LINK Campus-TeacherHome-Ag- Campus-WestHome-1

      d. 找到graph_id是創(chuàng)建INFOURL和OVERLIBGRAPH的關(guān)鍵。

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

      e. 找出相應(yīng)圖形的rra id。

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

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

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

      5 ?結(jié)論

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

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

      參考文獻

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

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

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

      [4] 儲久良. 基于PHP Weathermap的網(wǎng)絡(luò)流量及拓?fù)浣Y(jié)構(gòu)可視化實現(xiàn)[J]. 科技管理研究, 2010, 30(19): 192-194.

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

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

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

      [8] 趙瑜, 李俊. 基于SNMP的網(wǎng)絡(luò)氣象圖設(shè)計與實現(xiàn)[J]. 微電子學(xué)與計算機, 2004(09): 54-58+63.

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

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

      猜你喜歡
      拓?fù)鋱D
      低壓配網(wǎng)拓?fù)鋱D自動成圖關(guān)鍵技術(shù)的研究與設(shè)計
      簡單拓?fù)鋱D及幾乎交錯鏈環(huán)補中的閉曲面
      土地資源管理專業(yè)課程體系調(diào)整策略
      基于智能傳感器的電氣網(wǎng)絡(luò)拓?fù)渥R別方法
      基于含圈非連通圖優(yōu)美性的拓?fù)鋱D密碼
      校園網(wǎng)絡(luò)規(guī)劃設(shè)計
      我國專業(yè)運動員整體社會網(wǎng)絡(luò)中心性分析*
      空管自動化測試系統(tǒng)的實現(xiàn)和作用
      科技傳播(2016年10期)2016-07-15 22:54:50
      校園網(wǎng)絡(luò)規(guī)劃設(shè)計
      數(shù)據(jù)可視化技術(shù)網(wǎng)絡(luò)設(shè)備管理系統(tǒng)的研究
      白水县| 分宜县| 行唐县| 乐东| 宁化县| 甘谷县| 绥阳县| 武陟县| 佳木斯市| 德庆县| 安吉县| 锦屏县| 都安| 湘乡市| 古交市| 鹤庆县| 深州市| 安龙县| 晴隆县| 南京市| 隆安县| 兴国县| 涞源县| 东源县| 沙河市| 马鞍山市| 上饶县| 满城县| 开原市| 大洼县| 高邮市| 凤阳县| 泽州县| 新乐市| 嘉善县| 海兴县| 香河县| 建始县| 任丘市| 昌宁县| 潮安县|