多个nagios+ndoutils+1个mysql环境的配置
在单个nagios+ndoutils+mysql工作正常的情况下,分布式的环境搭建也就是配置的问题,不需要其它任何的软件或者工具。下面举一例说明:
环境: hostA:(192.168.1.2) nagiosA + ndoutilsA+mysqlA
HostB:(192.168.1.3) nagiosB + ndoutilsB +mysqlB
MysqlB: 有数据库nagios,用户nagios对其有所有权限。密码:nagios
目标: 将nagiosA与nagiosB监控的数据均写入mysqlB的数据库nagios中。
实现步骤:
1、允许mysql从远程主机登陆操作
对MysqlB,授权nagios用户可以从任意主机登陆并操作数据库nagios。使用如下命令
mysql>grant all on nagios.* to nagios@’%’ identified by ‘nagios’;
2、配置ndo2db.cfg
修改hostA的ndo2db.cfg如下:
db_host=192.168.1.3
db_name=nagios
db_user=nagios
db_pass=nagios
db_name=nagios
db_user=nagios
db_pass=nagios
修改hostB的ndo2db.cfg如下:
db_host=localhost
db_name=nagios
db_user=nagios
db_pass=nagios
db_name=nagios
db_user=nagios
db_pass=nagios
3、配置ndomod.cfg
修改hostA中的ndomod.cfg如下
instance_name=instancenameA
修改hostB中的ndomod.cfg如下
instance_name=instancenameB
解释:不同的nagios实例写入同一个数据库之后,以instance_id和instance_name来区分该数据数据属于哪一个实例。Instance_name不相同时,instance_id会自动增加1。如果不修改该选项,instance_name默认为default,如果多个实例的instance_name均为default,后写入的数据将会把上一个名为default的nagios实例的数据覆盖掉,并强行占用该instance_id而不是自增。
修改之后重起即可