Soalris10下NDOUtils安裝

資源準備
數據庫
NDOUtils目前僅支持MySql數據庫,對於PostgreSQL數據庫支持還在開發中,未來可能會支持更多的、衆所關注的數據庫。
可以從MySql的官方網站([url]http://www.mysql.com[/url])獲得一個箮.??庫操作。
我的操作系統是Soalris10,我選擇下載源碼進行編譯安裝,下載mysql-5.0.51b.tar.gz源碼,同時下載MySql的官方參考文檔。

NDOUtils
NDOUtils源碼可以從Nagios的官方網站獲得,同時可以下載一份NDOUTILS的官方文檔

創建MySql的用戶和用戶組
用戶和用戶組分別爲mysql和mysql
# groupadd mysql
# useradd -g mysql mysql
使用mysql命令登錄數據庫檢查是否安裝成功(root用戶密碼爲空)。

創建NDOUtils後臺數據庫以及登錄用戶
根據NDOUtils的設計實現原理,其將Nagios監控程序收集到的信息(信息以文本方式存在)導入到後臺數據庫中,以便後續使用這些歷史數據進行分析、預測以及實現其他具體業務功能。
此處創建的數據庫和登錄用戶就是爲NDOUtils程序保存監控信息所使用的。我們在這裏創建數據庫名爲nagiosdb,登錄用戶和密碼均爲nagiosmysql。當然也可以使用其他數據庫名和用戶名,但是要記錄下來,因爲在後續的NDOUtils數據庫初始化,以及NDOUtils配置文件中都要用到這些信息。
具體的操作如下:
//進入MySql的安裝目錄
# cd /usr/local/mysql
//進入bin目錄
# cd ./bin
//運行mysql,使用root用戶登錄數據庫,密碼爲空
# ./mysql -u root -p -h localhost
mysql> CREATE DATABASE nagiosdb;
mysql> GRANT ALL ON nagiosdb.* TO IDENTIFIED BY "nagiosmysql";
mysql> exit
//退出登錄,使用剛剛創建的用戶登錄剛剛創建的數據庫
# ./mysql -u nagiosmysql -p -h localhost -D nagiosdb
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.51b-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>

NDOUtils安裝
安裝前準備



這裏用到的NDOUtils版本是ndoutils-1.4b7,Nagios是3.0.3。其餘的軟件包如下
Data-Dumper-2.121
DBI-1.607
DBD-mysql-4.007
perl-5.8.8-sol10-x86-local

安裝NDOUtils
首先解壓源代碼包,釋放到某一目錄,將此目錄表示爲NDOUTILS_DIR(便於後續描述安裝過程)。

這裏需要指定MySql的include文件和lib文件路徑。

需要將/usr/local/lib添加到LD_LIBRARY_PATH變量中。

其中Makefile文件被標出的部分爲所需添加的內容,如果不引入該文件ndo2db-3x和ndo2db-2x將編譯失敗,因爲這兩個C文件中都用了asprintf方法,而沒有定義該方法,這個方法是在Nagios的 common/snprintf.c文件中定義的。可以將snprintf.c編譯好的snprintf.o文件直接拷貝過來,並引入Makefile文件中。這樣編譯才能通過。
# cd $NDOUTILS_DIR
# cp -R ../nagios-3.0.3/common ./ #拷貝 snprintf.o文件
# make

編譯完成,請注意在這之後不要運行make install。

將編譯後的可執行文件和配置文件拷貝到Nagios的相應目錄下。
並修改配置文件。

修改NDOUtils配置文件ndo2db.cfg,這裏主要修改數據庫名、用戶名和密碼(db_name、db_user、db_pass),將其設置成我們之前在安裝MySql時創建的數據庫和用戶。其餘保持默認配置即可。
# cd /usr/local/nagios/etc
# vi ./nagios.cfg

Make test中如果沒有出現問題則表明安裝成功。

初始化NDOUtils後臺數據庫
在NDOUtils的源代碼中有個db目錄,其中存放了用於初始化數據的sql腳本和一個建庫初始化shell腳本。
運行installdb腳本,這裏需要指定用戶名、密碼、主機、數據庫。可以登錄MySql查看nagiosdb下是否已經生成NDOUtils的數據表。

運行NDOUtils
此時所有的初始化、配置工作已經完成,下一步就是要啓動NDOUtils程序檢驗是否成功安裝了。
對於不同Nagios版本,NDOUtils有不同的啓動程序,ndo2db-2x對應Nagios的2.X版本,ndo2db-3x對應Nagios的3.X版本,我安裝時Nagios3.0.3版,所以選用ndo2db-3x。
# cd /usr/local/nagios/bin
# ./ndo2db-3x -c ../etc/ndo2db.cfg

運行上述命令啓動NDOUtils,查看後臺日誌看是否有問題。
注意,如果要停止ndo2db-3x進程,再使用kill命令殺掉對應的進程號後,還必須刪除/usr/local/nagios/var下的ndo.sock,否則下次NDOUtils不能正常啓動。
重啓Nagios,並觀察Nagios的後臺日誌,觀察是否有異常。
登錄MySql使用nagiosdb數據庫查看其中表的內容是否被更新。如可以查看nagios_hosts表中的主機信息是否與Nagios的配置文件一致;可以查詢nagios_servicechecks表,查看監測內容的最新狀態是否已經更新到數據庫中。如果信息正常則表示安裝配置完成。
結語
以上是我在solaris10x86安裝NDOUtils的過程。NDOUtils可以將Nagios的監控信息保存於數據庫中,備查詢分析,但NDOUtils本身並不提供數據展示層的功能實現,你可能需要其他手段來使用這些收集好數據。

文章摘自:[url]http://alisaga.cn/[/url]
更多信息可登陸:[url]www.pass4side.cn[/url]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章