天天看點

使用NDOUtils将Nagios監控資訊存入資料庫 ZT

1.NDOUtils安裝需求:

Nagios正确安裝運作,版本>=2.0安裝目錄:/usr/local/nagios

MySQL正确安裝并運作,我用的是二進制安裝包,安裝目錄:/usr/local/mysql

使用NDOUtils将Nagios監控資訊存入資料庫 ZT

2.安裝

下載下傳安裝包:http://www.nagios.org/download/

# 确認DBD-mysql包安裝,如沒有安裝,請先安裝。

# 如果DBI包沒安裝DBD-mysql前需要先安裝DBI包

tar xzvf DBI-1.605.tar.gz

cd DBI-1.605

perl Makefile.PL

make

make install

tar xzvf DBD-mysql-3.0008.tar.gz

cd DBD-mysql-3.0008

unset LANG

perl Makefile.PL –libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -L/usr/lib -lz " –cflags="-I/usr/local/mysql/include"  –testhost=127.0.0.1 –mysql_config=/usr/local/mysql/bin/mysql_config –testuser=root –testpassword=baihe.com

# 做好MySQL庫檔案lib和include檔案的連接配接(這點很重要)。

ln -s /usr/local/mysql/include/* /usr/include/

mkdir /usr/include/mysql

ln -s /usr/local/mysql/include/* /usr/include/mysql/

ln -s /usr/local/mysql/lib/* /usr/lib/

mkdir /usr/lib/mysql

ln -s /usr/local/mysql/lib/* /usr/lib/mysql

tar xzvf ndoutils-1.4b7.tar.gz

cd ndoutils-1.4b7

./configure –enable-mysql

# 執行完成後,注意向上看看列印出的資訊,看看是否找到了MySQL的庫檔案和include檔案。

cd src/

# 我的Nagios是3.0.5,是以拷貝的是ndomod-3x.o、ndo2db-3x,如果你的是2.X.x請拷貝ndomod-2x.o、ndo2db-2x

cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin

cd ../db

# 建立資料庫,使用root使用者,密碼是baihe.com

mysqladmin -u root -pbaihe.com create nagios

./installdb -u root -p baihe.com -d nagios

# 拷貝配置檔案

cd ../config

cp ndo* /usr/local/nagios/etc/

# 修改/usr/local/nagios/etc/ndo2db.cfg檔案的資料庫資訊。

vi /usr/local/nagios/etc/ndo2db.cfg

vi nagios.cfg

# 複制下面内容粘貼到/usr/local/nagios/etc/nagios.cfg配置檔案的#broker_module=…下面。

# Uncomment the line below if you’re running Nagios 3.x

broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

# 修改/usr/local/nagios/etc/nagios.cfg配置檔案下面參數的值為-1(一般預設如此)。

event_broker_options=-1

# 啟動ndo2db

/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

# 檢視系統日志是否有錯誤資訊:

tail -30 /var/log/messages

Nov 27 14:09:26 tech nagios: ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad ([email protected])

Nov 27 14:09:26 tech nagios: ndomod: Successfully connected to data sink.  0 queued items to flush.

Nov 27 14:09:26 tech nagios: Event broker module ‘/usr/local/nagios/bin/ndomod-3x.o’ initialized successfully.

Nov 27 14:09:26 tech nagios: Finished daemonizing… (New PID=18848)

# 重新開機Nagios

service nagios restart

# 檢視Nagios日志,看是否正常啟動。

tail -20 /usr/local/nagios/var/nagios.log

[1227766166] ndomod: NDOMOD 1.4b7 (10-31-2007) Copyright (c) 2005-2007 Ethan Galstad ([email protected])

[1227766166] ndomod: Successfully connected to data sink.  0 queued items to flush.

[1227766166] Event broker module ‘/usr/local/nagios/bin/ndomod-3x.o’ initialized successfully.

[1227766166] Finished daemonizing… (New PID=18848)

3.如何用NDOUtils将多個Nagios執行個體的性能資料寫入一個資料庫?

使用NDOUtils将Nagios監控資訊存入資料庫 ZT

配置方法類似于上面的單執行個體單資料庫模式,隻是在裝第二個執行個體時省去安裝DB一步,并需要修改/usr/local/nagios/etc/ndomod.cfg中的執行個體名。

執行個體名預設為instance_name=default,如果有多個執行個體必需修改成不同的執行個體名。

如:instance_name=nagios1

注意修改/usr/local/nagios/etc/ndo2db.cfg中資料庫連接配接的相關配置。

轉自:http://blog.sina.com.cn/s/blog_4e424e210100b6vu.html 

=====

啟動ndo2db

========================

對于不同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的背景日志,觀察是否有異常。 

  • Download the NDOUtils
    wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b8.tar.gz       
  • Install MySQL lib
    yum install mysql-devel       
  • Compile
    tar zxvf ndoutils-1.4b8.tar.gz -C /tmp cd /tmp/ndoutils-1.4b8 ./configure --with-mysql-libs=/usr/lib/mysql make       
  • Probably need to remove "mysql" in the include line of a certain source file, in case make reports error.
  • Install
    cd src cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin/       
  • Create database GRANT ALL PRIVILEGES ON nagios.* TO 'nagios'@'localhost' identified by "123456";
  • Initialize database
    cd ../db ./installdb -u nagios -p 123456s -h localhost -d nagios       
  • Configure NDO
    cd ../config # copy the lines related NDO3.x in nagios.cfg to /usr/local/nagios/etc  cp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc # Modify /usr/local/nagios/etc/ndo2db.cfg, change the database connection info       
  • Start the service
    /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg /etc/init.d/nagios reload