zabbix可以通过远程发送执行命令或脚本来对部分的服务求故障进行修复
zabbix客户端配置
设置zabbix客户端用户的sudo权限
执行命令visudo:
Defaults:zabbix !requiretty 不需要提示终端登录
zabbix ALL=(ALL) NOPASSWD: ALL 设置zabbix用户免密码登陆
在客户端的配置文件zabbix_agentd.conf中添加下面语句,开启对远程命令的支持,添加完成后重启下服务
EnableRemoteCommands = 1
输入下面命令手动检测,有内容则表示远程命令可用,否则提示remote commands are not enable
zabbix_get -s 192.168.2.119 -k "system.run[sudo df -h]"
创建触发脚本:
上述脚本的作用是当创建a.log并赋予777权限
首先先创建一个判断a.log存不存在的监控项:
对应的触发器:
创建该监控项及触发器的目的是:当触发器a.log不存在这个触发器触发时,直接执行远程命令调用脚本。
- 创建动作
进入动作界面后,点击创建动作按钮
1)
起个动作的名称,触发器示警度这里用的是灾难,触发器是主机zabbix:a.log不存在!!!
这个动作的意思就是触发器警度显示灾难并且触发器是zabbix:a.log不存在
之后点击操作--新的,编辑详细动作内容:
记得先点小号字体的更新,再点大号字体更新,才能生效
测试:
将现有的a.log删掉
触发器触发:
我们去看a.log有没有被创建
发现a.log已经被重新创建成功,告警显示已解决
查看动作日志: