nagios ndoutils安装与配置

1.ndoutils安装准备
ndoutils是nagios的一个插件,就是可以用来把nagios的获取的数据存入到mysql数据库中。这个工具的安装是个关键。
(1)nagios环境的准备,以上环境应该是可用的
(2)mysql数据库环境
下面两条命令用来生成ndoutils所需要的数据库表等,这些表默认以“nagios_”为前缀;install脚本命令必须在db子目录内执行:

# cd db   # ./installdb -u nagios -p nagios -h localhost -d nagios   其中各选项的意义如下:

-u用来指定导入时所用的mysql用户帐号

-p表示前面mysql用户的密码

-h表示mysql服务器地址,如果是localhost,则可以省略

-d表示目标数据库

说明:如果与cacti整合的话,npc插件会在cacti的数据库自动生成ndoutils所需要表,这些表均以“npc_”为前缀。后面讲到整合的文章中会继续对些做出说明。

(3)相关软件包的安装确认
perl-DBD-MySQL
mysql
mysql-devel
php-json-ext-1.2.0.tar.bz2
cd /usr/src
wget http://ncu.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz
wget http://www.cpan.org/modules/by-module/DBI/DBI-1.624.tar.gz
wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-4.024.tar.gz
2. php-json的安装
# tar zxvf php-json-ext-1.2.0.tar.bz2
# cd php-json-ext-1.2.0
# /usr/bin/phpize
# ./configure --with-php-config=/usr/bin/php-config
# make
# make install
# 说明:json库的位置
Installing shared extensions:     /usr/lib/php/modules/
# 把PHP扩展加入配置文件
# vi /etc/php.d/json.ini
extension=json.so
3. ndoutils的安装
# cd /usr/src/
下载ndoutils-1.4b9.tar.gz
# wget http://ncu.dl.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz
# tar zxvf ndoutils-1.4b7.tar.gz
# cd ndoutils-1.4b7
#./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios LDFLAGS=-L/usr/lib64/mysql
# make

# cd src/
# cp ndomod-3x.o ndo2db-3x log2ndo file2sock /usr/local/nagios/bin/
# cd ../config
# cp ndomod.cfg-sample ndo2db.cfg-sample /usr/local/nagios/etc/
# cd /usr/local/nagios/etc/
# mv ndomod.cfg-sample ndomod.cfg
# mv ndo2db.cfg-sample ndo2db.cfg


4. 修改配置文件
# vi /usr/local/nagios/etc/ndo2db.cfg
db_name=nagios
db_host=192.168.1.80 (远程数据库地址)
db_user=nagios
db_pass=nagios
debug_level=1
这里是用Cacti在mysql中使用的用户和密码以及数据库,远程数据库的话应正确指定数据库IP,以及用户名帐号权限。
# vi /etc/nagios/ndomod.cfg    # 可以随便指定一个位置
output=/usr/local/nagios/var/ndo.sock
buffer_file=/usr/local/nagios/var/ndomod.tmp
# vi /usr/local/nagios/etc/nagios.cfg
# 以下三条检查一下,默认就是以下内容
check_external_commands = 1
command_check_interval = -1
event_broker_options = -1
process_performance_data=1
# 注意是一行内容
broker_module = /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
5. 启动ndoutils,也是最麻烦的一点
(1) ndoutils的先启动
#/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
测试如果出现以下提示,应删除对应sock文件再次启动OK
Could not bind socket: Address already in use
(2) nagios重启
# service nagios restart
说明: 其中的启动日志都记录在/var/log/messages中,可以直接查看有无错误。

故障排除:
如果/var/log/message里出现
ndoutils  not connect  则 chown -R nagios.nagios /usr/local/nagios/
若出现:
Still unable to reconnect to data sink   则  rm -f ndo2db.sock     然后 restart  ndoutils服务

你可能感兴趣的:(nagios)