多个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
而不是自增。
修改之后重起即可