欢迎光临,赤鹿小组
记录过程,分享经验

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

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

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

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

部署远程执行命令操作:

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

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

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

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

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

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

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

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

zabbix

可以看到,当 php-fpm.service 服务停止时,zabbix 自动通过事先自定义好的动作,远程的将 php-fpm.service 服务启动起来。整个过程只需要 10s 的时间。
如果运维人员接收到警告,然后登上主机,再将服务启动起来,或许,整个过程需要的可能是 1~2 分钟,如果是重要的业务,这个时间差造成的损失也许是不可估量。

赞(0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址