Zabbix监控程序状态,并远程执行对应程序命令自动恢复

版权声明: https://blog.csdn.net/Scirhh/article/details/88288747

     当程序或者某个程序所需要的服务宕掉时,我们接收到警告都需要连接到机器上重启服务,那样是否显得过于麻烦。要是在自身down掉时,能够自己检测并执行相对应的命令就好了。
     别急,接着往下看,说不定你想要的就在文章下方。


     详情可查看zabbix官方文档:https://www.zabbix.com/documentation/3.4/zh/manual/config/notifications/action


     本文是基于之前zabbix监控之创建模版谈监控项、触发器的使用的前提上进行阐述。

     部署远程执行命令操作:

     操作顺序:Configuration——> Actions——>Create action

     1. 首先,创建执行的动作,效果如下图:

     New condition:选择触发器(Tigger),然后选择(select)条件成立的选项,最后进行添加保存即可。


     2. 在Operations处,填写当条件成立时,执行的操作动作,效果如下图:

         <1> 添加新的Operations
         <2> Operation type:选择Remote command(远程命令);
         <3> Tagger list :这里对应的是需要执行的主机。注意: 如果选中的主机没有应用相应的模版,该动作可能不生效;
         <4> Commands:填写需要执行的命令;
         <5>保存生效测试。


     3. 在测试之前,还需要一项重要的操作,就是给主机zabbix用户进行授权,以及在zabbix_agentd配置文件下添加EnableRemoteCommands=1参数,如下:

[root@scong ] vim /etc/sudoers
[root@scong ] 添加一下内容:
			zabbix  ALL=(root) NOPASSWD:ALL
[root@scong ] vim /usr/local/zabbix/etc/zabbix_agentd.conf
EnableRemoteCommands=1


     4. 编者将php-fpm.service服务停止,观察zabbix监控控制面板的情况,效果如下图:

     可以看到,当php-fpm.service服务停止时,zabbix自动通过事先自定义好的动作,远程的将php-fpm.service服务启动起来。整个过程只需要10s的时间。

     如果运维人员接收到警告,然后登上主机,再将服务启动起来,或许,整个过程需要的可能是1~2分钟,如果是重要的业务,这个时间差造成的损失也许是不可估量。


     感谢阅读,本文旨在提供参考,如有错误,欢迎大家指正。帮助编者不断的改进!

猜你喜欢

转载自blog.csdn.net/Scirhh/article/details/88288747