- 1、首先需要安装ndoutils以将nagios的数据能导入到mysql数据库中。确认系统是否安装DBI和DBD-mysql。
- #安装DBI-1.616.tar.gz
- tar xvzf DBI-1.616.tar.gz
- cd DBI-1.616
- perl Makefile.PL
- make
- make install
- #安装DBD-mysql-4.018.tar.gz
- tar xvzf DBD-mysql-4.018.tar.gz
- cd DBD-mysql-4.018
- perl Makefile.PL --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -L/usr/lib -lz " --cflags=-I/usr/local/mysql/include/mysql --mysql_config=/usr/local/mysql/bin/mysql_config --testhost=127.0.0.1 --testsocket=/usr/local/mysql/tmp/mysql.sock --testdb=nagios --testuser=nagios --testpassword=15851678235
- make
- make install
- #安装ndoutils
- 链接数据库
- ln -s /usr/local/mysql/include/* /usr/include/mysql
- ln -s /usr/local/mysql/lib/* /usr/lib/
- ldconfig -v
- tar xvzf ndoutils-1.4b7.tar.gz
- cd ndoutils-1.4b7
- ./configure --enable-mysql
- make
- #复制文件到nagios目录,并设置属主。
- cd src
- cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin
- chown nagios:nagcmd /usr/local/nagios/bin/*
- cp ./config/ndo* /usr/local/nagios/etc/
- chown nagios:nagcmd /usr/local/nagios/etc/*
- cd ../db
- #创建数据库nagios,并导入数据库。
- /usr/local/mysql/bin/mysql -uroot -p
- create database nagios;
- grant select,update,insert,delete on nagios.* to nagios@localhost identified BY '123456';
- flush privileges;
- use nagios;
- source /root/nagios/ndoutils-1.4b7/db/mysql/mysql.sql;
- vim /usr/local/nagios/etc/ndo2db.cfg
- 修改其中的
- db_user=
- db_pass=
- db_name=
- ndo2db_user=
- ndo2db_group=
- 其余按实际情况修改
- vim /usr/local/nagios/etc/nagios.cfg
- # 复制下面内容粘贴到/usr/local/nagios/etc/nagios.cfg配置文件的#broker_module=...下面。
- 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
- 启动ndoutils
- cp -rp ndo2db-3x ndo2db
- /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
- 出现错误:
- 1、/usr/local/nagios/bin/ndo2db: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory
- 解决办法:cd /etc/ld.so.conf.d/
- touch mysql.conf
- vim mysql.conf输入:
- /usr/lib/mysql/
- 保存退出
- 加载:ldconfig -v
- 重新运行OK。
- 2、查看nagios日志,发现:ndomod: Still unable to connect to data sink. 291071 items lost, 5000 queued items to flush.错误,看来还是有点小问题。
- 解决办法:重新启动ndo2db就可以了~,如果无法启动,删除ndo2db.sock,再重新启动。
转载于:https://blog.51cto.com/newyue/521070