整合cacti 和nagios 是利用了cacti 的一个插件nagios for cacti(NPC),它的原理是将nagios 的数据通过ndo2db 导入到mysql 数据库(cacti 的库中),然后cacti 读取数据库信息将nagios 的结果展示出来。
注意:安装nagios可以参考文章部署Nagios监控系统,安装cacti可以参考文章构建cacti监测系统,本文是在rhel6.0上进行安装,参考时注意系统的版本。
1、安装ndoutils:
首先需要安装ndoutils 以将nagios 的数据能导入到mysql 数据库中
确保mysql的开发包已安装以便编译ndoutils
释放ndoutils软件包,进行编译前的预配置和编译
注:若安装的RHEL6是64位系统,则要将/usr/lib64/mysql拷贝到/usr/lib目录中
接下来安装,不是用makeinstall
2、修改nagios 主配置文件,使NDoutils可以在Nagios中加载
[root@localhost /]#vi /usr/local/nagios/etc/nagios.cfg
确保以下内容存在:
check_external_commands=1
command_check_interval=-1
event_broker_options=-1
process_performance_data=1
添加如下一行配置项:
添加内容至此结束。
3、修改配置文件ndocmd.cfg,这里我的配置文件内容如下所示:
4、修改配置文件ndo2db.cfg,这里我的配置文件内容如下:
这里是用Cacti在mysql中使用的用户和密码以及数据库,因为我们这个npc的plugin是用在cacti中的.
5、然后分别启动NDoutils和Nagios,并将NDoutils添加到rc.lcoal文件中,随系统启动。
6、安装NPC插件并启用npc插件
访问cacti的WEB管理界面:
cacti系统的web控制台中,单击导航栏中的“Utilites”下的“User Management”链接,修改admin用户的属性,选中“Plugin Management”项,单击“Save”保存即可。
刷新cacti控制台页面,左侧导航栏中“configuration”下将多出一个“Plugin Management”链接。单击此链接进入插件管理页面,通过“Actions”列的按钮可加载npc插件,并启用npc插件。
接着在右侧栏目中选择“settings”,点选npc的标签,
钩选Remote Commands
Nagios Command File Path:/usr/local/nagios/var/rw/nagiosNaNd
<这个文件启动nagios后会产生,根据实际的位置写>
Nagios URL:http://nagios服务器的IP/nagios/
保存就可以了,本文配置如下:
至此安装就完成了
7、重新启动mysql httpd ndo nagios等服务。
[root@localhost /]#service mysqld restart
[root@localhost /]#service httpd restart
[root@localhost /]#service nagios restart
[root@localhost /]#/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg
如果ndo2db已经启动,则按下面的方法重启ndo2db
执行tail -20 /var/log/messages ## 查看其中是否有错误出现。如无报错请继续
访问http://yourserver/cacti/
选择npc标签就可以看到nagios所检测的主机信息,唯一不足的是我打开这个页面的速度有些慢.
至此cacti与nagios整合完毕