nagios學習筆記

    折騰了半個月,基本上對nagios有個入門級的瞭解。

對於Nagios,很多人說它很複雜,當然他確實不是那麼太容易理解,一是由於瞭解它的人不是很多,中文的文檔也幾乎沒有,其他人在網上配置的文檔自己拿來不一定好使。開始我也很鬱悶,琢磨了一段時間之後,發現也是有路可尋的。

要了解Nagios,最重要就是理解它的配置文件了,而最關鍵幾個配置文件,如主配置文件nagios.cfg,hosts.cfg,services.cfg,contacts.cfg,commands.cfg。這四個文件配起來之後再加上一個timeperiod,nagios就可以跑起來了。

這幾個表中,最常配的是hosts.cfg和services.cfg,因爲監控變化最多的就是主機和服務,其他像時間,聯繫人基本上不會有太多變化,命令也就那些,除非特殊的用途才需要添加。而主機和服務就常配置的,比如我要增加監控的一臺主機,就必須在hosts.cfg中添加要監控的主機信息,另外還要給這臺主機配置一些要監控的服務,就是在services.cfg中。當然也可以在別的文件中添加,這樣只是爲了方便管理。因爲在nagios啓動的時候它會將所有nagios.cfg裏面指定的配置文件的數據全部檢測一遍,正確之後將其導入到var目錄下的objects.cache文件中,然後再讀取操作。

這幾個配置配置文件(數據庫中反映的是表)之間都會有一些依賴關係,比如host中有一個字段依賴timeperiod,它還依賴command,一般都是默認使用check-host-alive,判斷主機是否存活。這四個文件中,最關鍵的一個就是services,它跟其他其他三個都有關係,正是這樣將他們聯繫起來,形成了Nagios監控的整體的概念。一個service中,有host_name,標明這個服務是針對哪個主機的;有contact_groups,在監控的主機或者服務出現變化的時候通知這些聯繫人;有check_command,告訴nagios這個服務需要使用的命令和傳入具體參數(這些命令的原始可執行文件在.../nagios/libexec目錄下)

配置好了之後,nagios會將監控到的信息數據存放在var目錄下的log文件中,比如status.dat,retention.dat等。可是這些信息全是文本,看起來很費勁。沒關係,nagios帶了一個叫cgi的工具(.../nagios/sbin目錄下),它可以將這些數據信息在網葉中顯示出來,比如我們用IE中輸入http://yourip/nagios或者https://....的時候看到的界面,就是cgi乾的事,那些監控的信息正是cgi從log文件中讀取出來的。

跟nagios配套的還有一個很重要的工具,就是ndoutils,用它能夠用nagios實現分佈式的監控。它的主要作用就是將監控到的信息數據實時地寫進mysql數據庫中。有多個nagios的instance的時候,用它能夠將數據寫入同一個數據庫中,集中管理,從而實現分佈式的監控。它在mysql中創建了很多表(如我現在用的1.4.5有55張表),所有監控到的主機和服務以及狀態數據等按特定的格式導入數據庫中,並在每個表的開頭加上各種標號以區分不同的nagios instance,host和service以及狀態等。目前正在學習中。。。

困了,先寫這麼多,睡覺

發佈了28 篇原創文章 · 獲贊 3 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章