9-故障自治愈
当zabbix 监控到指定的监控项异常的时候,通过指定的操作使故障自动恢复, 通常是重启服务等一些简单操作, 也可以调用脚本执行比较复杂的操作
设置监控项和触发器,新建动作, 在触发条件里面添加操作, 在远程主机通过zabbix客户端执行命令
开启
zabbix sudo权限配置允许特殊字符
配置远程命令
验证和测试
1. agent配置
zabbix agent需要开启远程命令执行vim /etc/zabbix/zabbix_agentd.conf #zabbix5.0.2以前运行以下内容 EnableRemoteCommand=1 #开启远程执行命令 AllowKey=system.run[*] #zabbix5.0.2以后配置以下内容 UnsafeUserParameters=1 # 打开,支持特殊字符,例如:管道符、单引号、双引号等。这里需要注意,在zabbix5.0.2开始,
EnableRemoteCommand参数已经被弃用。需要另外使用AllowKey=<pattern>/DenyKey=<pattern>AllowKey=<pattern>:允许哪些检查;<pattern>使用通配符 (*)表达式指定DenyKey=<pattern>: 拒绝哪些检查;<pattern>使用通配符 (*) 表达式指定
重启
zabbix-agent服务:systemctl restart zabbix-agent修改
/etc/sudoers配置文件,让其zabbix拥有root权限执行root ALL=(ALL) ALL zabbix ALL=(ALL) NOPASSWD:ALL
2. zabbix页面配置
配置zabbix页面, 配置动作,添加触发器,当监听的80端口不存在的时候执行某个动作
zabbix4与zabbix6 两个版本的页面有所变化,zabbix6版本将脚本单独做了一个页面。zabbix6中将zabbix4页面的脚本页面整合到一起了
2.1 zabbix4配置
在
zabbix网页上创建动作
配置动作,添加触发器,当监听的
80端口不存在的时候执行某个动作
创建执行脚本操作

2.2 zabbix6配置
在页面管理-->脚本. 创建一个新的脚本


创建新的触发器动作, 并且创建新的动作

设置动作名称, 以及触发器触发条件

选择主机群组中的模板



添加动作操作方式


如果这里没有创建这个脚本, 这里不会跳出这个下拉菜单选择, 直接显示发送消息。步骤持续时间最少为60s,不然会报错

之后直接点击添加即可

将
nginx停掉之后, 过一两分钟就会再将这个服务启动。实现了基本上的nginx宕机之后能再次启动的效果,这种方法也适用于JAVA、tomcat、redis等服务器上的自治愈,针对某些功能执行某些脚本即可。