故障现象:
做了分布式centreon后,添加完poller之后centreon中查看poller状态始终为非运行状态

2012-8-20今天又遇到了同样的问题,加上poller还是非运行状态,最后是核心上nagios到poller上nagios的信任没有做,下次一定记得排查这一步

故障原因:
添加poller时在ndomod.cfg文件添加错误,将output的IP添加为poller自身的IP,该output是数据要发往的地方,在分布式环境中应该设置为远程核心节点的IP

处理过程:
查找资料说是 nagios目录的权限问题(http://bbs.chinaunix.net/thread-1689485-1-1.html),也有其他比如说重启ndo2db服务问题(http://blog.csdn.net/jack161641/article/details/6876464)
但是都没有解决我的故障

只能自己摸索,这就有一条一定要注意,多看 日志+配置文件

在日志里找到题目中的‘ndomod: Could not open data sink!’这一条时,才意识到问题所在

我的环境是做的分布式的centreon,结果在web界面配置poller节点时配置有误,导致上述原因
查看poller服务器上的ndomod.cfg文件,发现其中output变量为本地IP,结合无法连接至ndo2db,判断该IP应该为远程核心节点的IP

(分布式centreon中只在核心节点上起ndo2db程序,开放5668端口,各地poller通过该程序和远程DB交互存取监控数据 而ndomod.cfg就是指定本机poller所要连接的远程核心节点的信息,包括远程核心的IP,通信端口5668等其他设置)

其实归结问题根源是对整体架构不熟悉,尤其几个关键配置文件里的参数含义

ndomod.cfg:在poller上,就是指定本机poller所要连接的远程核心节点的信息,包括远程核心的IP,通信端口5668等其他设置
ndo2db.cfg:这个只在核心节点上有,是和后台数据库打交道的传话人,里面需要配置mysql DB的相关信息
nagios.cfg:这是nagios程序的主要配置文件,poller基本就等价于nagios的作用,(poller==nagios+ndoutils)
ndoutils:是为了将nagios数据处理后能写入数据库的模块
这有个图帮助理解:


分布式centreon部署过程:
参考http://bluemood.blog.51cto.com/1142811/958523
核心节点需要安装centreon,数据库
卫星节点需要安装nagios+ndoutils
剩下步骤主要在核心上完成,简单讲分为:
# 1 建立到poller的信任
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

# 2 copy plugins拷贝配置和插件文件
scp /usr/lib64/nagios/plugins/* [email protected]:/usr/lib64/nagios/plugins/

## copy conf of nagios
scp /etc/nagios/* nagios@ x.x.x.x :/etc/nagios/

## 3 在web界面添加节点即可,add poller on centreon web ,include 
### @1 centreon->Pollers->add (复制并配置poller的IP)
### @2 centreon->ndomod.cfg->add( 此处output的IP一定为核心节点的IP)
### @3 nagios->nagios.cfg->add (无须大改,复制改名即可)
### @4 add host &services on new poller ,restart 
      (一定要加上至少一个服务在新poller上,否则重启失败)

下面是我的节点,没运行那个的确是网络有问题,改天再调