您好,登錄后才能下訂單哦!
本篇內容介紹了“Red Hat上的Nagios安裝配置”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、NDOUtils簡介
NDOUTILS ADDON主要用來將Nagios的配置信息和event產生的數據存入數據庫(目前的beta版支持mysql和pgsql,穩定版只支持mysql),以方便實現數據的快速檢索和處理,并且為其它通過web接口程序來管理這些數據提供了保障。
在一個大型應用中,可能存在多個獨立的或分布式布置的Nagios服務器,這種環境中的每個Nagios服務器通常被稱為一個Nagios實例。在多Nagios實例的環境中,既可以把所有實例的數據存入到一個數據庫,也可以將各實例的數據分別存儲。
在只有一個Nagios實例環境中,其實例名稱通常為“default”;而在多實例的環境中,則需要為此些Nagios實例各自命名。
NDO Utils主要由以下四個部分組成:
1)NDOMOD Event Broker Module(NDOMOD.O):用來輸出Nagios進程產生的數據(data和logic),其前提是Nagios在編譯時開啟了Event broker的功能。同時,NDOMOD模塊還可以導出Nagios配置有關的信息(包括Nagios監控進程運行時環境產生的動態數據)至文件、Unix域套接字或者TCP套接字。NDO2DB將通過前面的這三種方式獲得Nagios的有關數據。
2)NDO2DB:用來接收由NDOMOD和LOG2NDO組件輸出的信息并將之存儲在數據庫中。啟動時,NDO2DB進程將創建一個TCP套接字或Unix域套接字以監聽客戶端(輸出端)的連接請求。目前僅支持MySQL數據庫。
多個客戶端可以同時向一個NDO2DB守護進程輸出數據,此時的NDO2DB將為每一個連接進來的客戶端(Nagios實例)建立一個連接進程,以實現每個客戶端數據的獨立存儲、檢索和處理。
3)LOG2NDO:用來將Nagios的歷史日志通過NDO2DB進程輸出至數據庫。LOG2NDO與NDO2DB進程通信的方法依然是標準文件、Unix域套接字或者TCP套接字三種。
4)FILE2SOCK:從標準文件或標準輸入讀入數據,并將之輸出至Unix域套接字或TCP套接字。當NDOMOD或LOG2NDO將數據輸出至標準文件時,此工具則可用來將這些標準文件中數據讀出并發送給NDO2DB進程監聽的TCP套接字或Unix域套接字。
2、安裝NDOUtils
# tar zxf ndoutils-1.4b8.tar.gz # cd ndoutils-1.4b8 # ./configure --enable-mysql --with-mysql-lib=/usr/lib --with-mysql-inc=/usr/include --disable-pgsql # make # cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /usr/local/nagios/bin
以上復制的文件中前兩項是版本相關的,即如果您的nagios主版本號是2系列,則需要拷貝名為ndomod-2x.o和ndo2db-2x的兩個文件。后兩項是通用文件,無論哪個版本都需要復制。
3、為NDOUtils創建數據庫
# mysql -uroot -p mysql> create database ndodb; mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON ndodb.* TO ndouser@localhost IDENTIFIED BY '123456'; mysql> flush privileges;
下面兩條命令用來生成ndoutils所需要的數據庫表等,這些表默認以“nagios_”為前綴;install腳本命令必須在db子目錄內執行:
# cd db # ./installdb -u ndouser -p 123456 -h localhost -d ndodb
其中各選項的意義如下:
-u用來指定導入時所用的mysql用戶帳號
-p表示前面mysql用戶的密碼
-h表示mysql服務器地址,如果是localhost,則可以省略
-d表示目標數據庫
說明:如果與cacti整合的話,npc插件會在cacti的數據庫自動生成ndoutils所需要表,這些表均以“npc_”為前綴。后面講到整合的文章中會繼續對些做出說明。
4、復制、編輯配置文件
# cd .. # cp -v config/{ndo2db.cfg,ndomod.cfg} /usr/local/nagios/etc # vi /usr/local/nagios/etc/nagios.cfg
在文件中添加:
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
此外,請確保您的/usr/local/nagios/etc/nagios.cfg中有如下行出現,否則,請自行添加:
event_broker_options=-1 //為Nagios開啟event broker
5、編輯ndo2db守護進程和ndomod的配置文件
# vi /usr/local/nagios/etc/ndo2db.cfg socket_type=tcp db_servertype=mysql db_host=localhost db_port=3306 db_prefix=nagios_ db_user=ndouser db_pass=123456
說明:
i) 以上"db_"開頭的選項用來指定連接數據庫的屬性;
ii)其默認用來接收數據的方式為Unix域套接字,這里修改成了TCP套接字;同時,ndomod.cfg配置文件中指定的輸出方式也應該做相應的修改;
接下來我們去編輯ndomod的配置文件,為其指定數據的輸出方式和輸出目標主機:
# vi /usr/local/nagios/etc/ndomod.cfg output_type=tcpsocket output=127.0.0.1
6、啟動ndo2db守護進程
# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
建議此時查看系統日志(/var/log/messages)中是否有錯誤出現。
如果此時Nagios進程已啟動,則需要停止并重新啟動nagios:
# killall -SIGHUP nagios # rm -f /usr/local/nagios/var/nagios.lock # /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
說明:
i)此處停止Nagios必須通過向Nagios發送SIGHUP信號的方式進行;
ii)建議此時查看nagios日志文件中是否表明ndomod的模塊加載是否正常,以及其是否能正常連接到data sink;查看日志,可以使用如下命令實現:# tail -30 /usr/local/nagios/var/nagios.log
排錯信息:
i) 如果ndomod模塊沒能正常加載的話,建議重新檢查nagios的配置文件中是否添加了所需的broker module條目;
ii) 同時,如果ndomod沒有正常連接到data sin,建議查看ndo2db.cfg文件中關于mysql連接項目的指定是否正確;
iii)確認一下在編譯NDOUtils時是否指定了關于mysql庫文件位置的選項;
“Red Hat上的Nagios安裝配置”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。