zabbix配置远程命令脚本
环境
centos6.5+zabbix3.2
注意事项
1.远程执行命令是server端向agent端执行,不支持主动模式的agent;
2.不支持代理模式;
3.zabbix用户必须对命令具有执行权限,可以使用sudo赋予root权限(配置sudo无密码方式);
4.远程命令只是执行,执行成功与否并不检测并确认,可在监测中->仪表盘查看。
客户端
vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands = 1
vim /etc/sudoers打开关于zabbix操作的命令
zabbix ALL=NOPASSWD: ALL
zabbix ALL=NOPASSWD: /bin/bash /usr/lib/zabbix/scripts/restart.sh //脚本位置没有固定要求,但最好统一放置管理
注释掉如下一行,否则命令无法执行:
# Default requiretty //这个看自己系统情况,有的系统已经没有这行配置了
vim /bin/bash /usr/lib/zabbix/scripts/restart.sh
#!/bin/bash
service XXXX restart //根据自己需求编写脚本
chmod +x /bin/bash /usr/lib/zabbix/scripts/restart.sh
重启客户端
服务端
配置-> 动作
事件源选择触发器
创建动作
动作
名称 AS_restart
条件 选择需要的触发器或相应触发条件
操作
默认操作步骤持续时间 1h
默认标题 Problem: {TRIGGER.NAME}
消息内容 Problem started at {EVENT.TIME} on {EVENT.DATE}
Problem name: {TRIGGER.NAME}
Host: {HOST.NAME}
Severity: {TRIGGER.SEVERITY}
Original problem ID: {EVENT.ID}
{TRIGGER.URL}
操作
步骤 1-1
步骤时间 0
操作类型 远程命令
目标主机 当前主机
类型 自定义脚本
执行在 zabbix客户端
命令 sudo /bin/bash /usr/lib/zabbix/scripts/restart.sh