Centreon通过check_by_ssh插件实现ssh监控

Centreon的ssh监控是通过nagios的check_by_ssh插件实现,为了方便使用,我们直接安装整个nagios的插件包,然后将所需插件拷贝至Centreon的nagios插件文件夹。

$ useradd nagios
$ wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
$ tar -xvf nagios-plugins-2.2.1.tar.gz
$ cd nagios-plugins-2.2.1
$ ./configure –with-nagios-user=nagios
$ make
$ make install
$ cp /usr/local/nagios/libexec/check_by_ssh /usr/lib/nagios/plugin/

明确一点,Centreon的command命令实际是由用户centreon-engine执行的,在web界面进行测试时则由用户apache执行。另外,ssh监控实际是通过ssh登录到远程主机并在远程主机执行命令获取监控数据的过程。所以为了能够实现ssh监控,首先我们需要保证Centreon-server的centreon-engine用户能够ssh登录被监控主机,为了安全考虑,我们在被监控主机上新建nagios用户并设置登录密码:

$ groupadd nagios
$ useradd -d /home/nagios/ -m nagios -g nagios
$ passwd nagios

拷贝监控脚本到/home/nagios,并赋予执行权限,例如:

$ cp check_linux_memory.sh /home/nagios
$ chmod +x /home/nagios/check_linux_memory.sh
$ chown -R nagios.nagios /home/nagios/check_linux_memory.sh
$ su nagios
$ /home/nagios/check_linux_memory.sh -w 80 -c 90 (测试脚本执行情况)

切换到centreon-server,配置ssh登陆**以实现**登录被监控主机:

$ su centreon-engine
$ ssh-****** (一路回车)
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]_IP(输入被监控主机的nagios用户登陆密码)
$ ssh [email protected]_IP (测试是否能无密码-**登录并缓存known_hosts)

在Centreon Web界面配置command命令:

Centreon通过check_by_ssh插件实现ssh监控

在Centreon Web界面配置service:

Centreon通过check_by_ssh插件实现ssh监控

Configuration > Pollers > Export configuration,勾选前四项,method选择restart,更新配置文件并重启,完成监控配置。

备注

问题一:在前端测试comamd命令时报错“Remote command execution failed: Could not create directory ‘/usr/share/httpd/.ssh’.”

解答:前端执行测试命令的用户为apache,但apache用户没有ssh登录被监控主机的权限,所以报错。可忽略。

问题二:service状态unknown,报错“Remote command execution failed: Host key verification failed.”

解答:service的command命令实际执行用户为centreon-engine,此用户没有ssh登陆被监控主机权限,按照上文设置即可。