給Nagios添加地理位置功能
前段時(shí)間我發(fā)現(xiàn)Nagios的NagMap插件和世界各地的多臺(tái)主機(jī)監(jiān)測(cè)發(fā)現(xiàn)它非常有用。
例如,在歐洲,美國(guó)和其他國(guó)家在印度和新西蘭也有一些生產(chǎn)服務(wù)器,它是更好地看到自己的國(guó)家在地圖上,而不是用無(wú)聊的Nagios主機(jī)狀態(tài)列表。每個(gè)主機(jī)都有一個(gè)基于ping統(tǒng)計(jì)以下?tīng)顟B(tài):綠色,黃色和紅色。綠色/白色(OK)狀態(tài)相當(dāng)于0-10%的丟包,黃色(警告)是10-20%的丟包和紅色(嚴(yán)重)是指主機(jī)關(guān)機(jī)或丟包,它是20%以上。所有這三個(gè)國(guó)家都顯示在地圖上用不同的標(biāo)記。
Nagios使用NagMap插件有可能基于谷歌地圖中的主機(jī)和它們的狀態(tài)創(chuàng)建一個(gè)地圖,這里是我的地圖的某些部分:
以上截圖顯示OK狀態(tài)(所需的圖片)中的所有主機(jī)的情況下,當(dāng)一些臺(tái)主機(jī)出現(xiàn)故障或變得遲緩,那么你會(huì)看到這樣的一些紅色標(biāo)記或(根據(jù)不同類型的主機(jī))安裝配置NagMap
所以首先你需要從項(xiàng)目的下載部分下載nagmap壓縮包并解壓Nagios監(jiān)控系統(tǒng)所在的服務(wù)器上的某個(gè)地方。下載的文件中包含PHP腳本訪問(wèn)Nagios的狀態(tài)文件,并顯示相應(yīng)的標(biāo)記在地圖上使用谷歌地圖。我建議Nagios的文件目錄中創(chuàng)建新的子目錄:
- cd /usr/share/nagios/
- wget http://labs.shmu.org.uk/nagmap/nagmap-0.11.tar.gz
- tar -xvzf nagmap-0.11.tar.gz
- rm nagmap-0.11.tar.gz
一旦解壓縮歸檔文件,它是必要的設(shè)置路徑Nagios的狀態(tài)文件在Nagmap文件status.php的。在我的情況下,Nagios的status.dat文件位于/ VAR /的nagios/ status.dat的中,所以我有以下行在nagmap status.php:
- $fp = fopen("/var/nagios/status.dat","r");
這是自然的,Web服務(wù)器必須有足夠的權(quán)限讀取的/ var/的nagios/ status.dat的文件。下一步是建立地理位置的主機(jī)應(yīng)該顯示在Nagmap。應(yīng)具體說(shuō)明以下列方式:
- define host {
- use generic-host
- host_name HostName1
- address 11.22.33.44
- notes latlng: 40.664167, -73.938611
- check_command check-host-alive
- register 1
- }
其中“40.664167,-73.938611”(紐約市在這個(gè)例子中)的主機(jī)的經(jīng)度和緯度。所以,你應(yīng)該增加“音符經(jīng)緯度"線到Nagios在地圖上所有的主機(jī),這樣才能看到他們。從這一點(diǎn)來(lái)說(shuō),你應(yīng)該能夠打開(kāi)地圖,例如https://your.server.com/nagios/nagmap/網(wǎng)址。如果打開(kāi)的頁(yè)面是空的,那么在讀取或解析status.dat的文件有一些問(wèn)題。不幸的是,nagmap不提供調(diào)試功能,所以你應(yīng)該打開(kāi)marker.php(如https://your.server.com/nagios/nagmap/marker.php),并尋找到它的輸出然后看哪里的問(wèn)題。很有可能你會(huì)需要一些基本的PHP知識(shí)。順便說(shuō)一句,文件marker.php包含標(biāo)記圖像的路徑,所以你可以很容易地改變他們從默認(rèn)。