当产生Trigger后,即当触发器条件被满足时,采取一些操作,如发送事件通知,远程执行命令等,需要配置Action。
名称 | 作用 |
---|---|
Trigger | 当Trigger的状态从OK变为PROBLEM |
Discovery | 当network discovery工作 |
Auto registration | 主动模式的agent自动注册 |
Internal | 当Items变成不被支持(unsupported)或者Trigger变为未知状态(unknown state) |
Action条件配置:
参数 | 描述 |
---|---|
Name | 唯一的Action名字 |
Type of calculation | 条件之间的关系,且或非 |
Conditions | 维护周期 触发器状态为PROBLEM |
New condition | 添加新的更多的条件 |
具体操作配置:
操作配置参数
参数 | 描述 |
---|---|
Default operation step duration | 默认时间间隔为1小时 |
Default subject | 默认报警通知主题,可以包含宏,如{TRIGGER.NAME} |
Default message | 默认通知内容,可以包含宏,如{HOST.NAME} |
Pause operations while in maintenance | 维护周期时间内暂时此告警操作 |
Operations | 操作内容 |
Operation details | 具体操作细节 Steps:执行操作的起始次数,0结束表示无限制 Step duration:每次操作的时间间隔 Operation type:操作形式,发送信息,发送远程命令 Send to User groups:发送信息所接受的用户组 Send to Users:发送信息所接受的用户 Send only to:发送信息通知的介质,如邮件、即使讯息 Default message:默认信息内容 |
解释:
默认的步骤是1-1,也即是从1开始到1结束。一旦故障发生,就是执行sendEmail.sh脚本发生报警邮件给Admin用户和zabbix administrator组。
假如故障持续了1个小时,它也只发送一次。如果改成1-0,0是表示不限制.无限发送
间隔就是默认持续时间60秒。那么一个小时,就会发送60封邮件。
相关参考参数:
恢复操作配置:
恢复操作配置参数
参数 | 描述 |
---|---|
Default subject | 默认报警通知主题 |
Default message | 默认通知内容 |
Operations | 事件恢复后执行的操作内容 |
Operation details | 具体操作细节 Steps:执行操作的起始次数,0结束表示无限制 Step duration:每次操作的时间间隔 Operation type:操作形式,发送信息,发送远程命令 Send to User groups:发送信息所接受的用户组 Send to Users:发送信息所接受的用户 Send only to:发送信息通知的介质,如邮件、即使讯息 Default message:默认信息内容 |
保存后
宏配置是在消息主题和消息内容中完成的。
示例一:
消息:{TRIGGER.NAME}:{TRIGGER.STATUS}
接受内容后变为:Processor load is too high on server zabbix.zabbix.com:PROLEM
示例二:
消息:Processor load is:{zabbix.zabbix.com:system.cpu.load[avg1].last(0)}
接受内容后变为:Processor load is:1.45
示例三:
消息: Latest value:{{HOST.HOST}:{ITEM.KEY}.last(0)}
MAX for 15 minutes:{{HOST.HOST}:{ITEM.KEY}.max(900)}
MIN for 15 minutes:{{HOST.HOST}:{ITEM.KEY}.min(900)}
接受内容后变为:Latest value:1.45
MAX for 15 minutes:2..44
MIN for 15 minutes:1.01
示例四:
消息: Problem:
Event ID:{EVENT.ID}
Event value:{EVENT.VALUE}
Event status:{EVENT.STATUS}
Event time:{EVENT.TIME}
Event date:{EVENT.DATE}
Event age:{EVENT.AGE}
Event acknowledgement:{EVENT.ACK.STATUS}
Event acknowledgement history:{EVENT.ACK.HISTORY}
Recovery:
Event ID:{EVENT.RECOVERY.ID}
Event value:{EVENT.RECOVERY.VALUE}
Event status:{EVENT.RECOVERY.STATUS}
Event time:{EVENT.RECOVERY.TIME}
Event date:{EVENT.RECOVERY.DATE}
接受内容后变为:
Problem:
Event ID:21874
Event value:1
Event status:PROBLEM
Event time:13:04:30
Event date:2016.06.03
Event age:5m
Event acknowledgement:Yes
Event acknowledgement history:2016.06.03 13:04:30 "John Smith (Admin)"
Recovery:
Event ID:21896
Event value:0
Event status:OK
Event time:13:10:07
Event date:2016.06.03
AND:所有的条件必须同时满足
OR:满足条件中的一个即可
AND/OR:两个关系的组合,AND用于不同条件的关系,OR用户相同条件的关系
运算符 | 描述 | 运算符 | 描述 |
---|---|---|---|
= | 条件等于 | like | 部分匹配 |
>= | 条件大于或等于 | not like | 部分不匹配 |
>= | 条件小于或等于 | in | 在范围内 |
<> | 排除 | not in | 不在范围内 |
如果Trigger从OK---->PROBLEM,则状态变为PROBLEM
如果Trigger从PROBLEM---->OK,则状态变为OK
对Trigger创建一个新的Action时,会自动添加以下两个条件
Trigger value = PROBLEM:任何问题都会发送消息,如果没有配置条件,则会发送所有事件消息
Maintenance status = not in maintenance:在维护时间段将不会发送消息
注意:配置的用户必须对需要发送消息的主机的Trigger具备可读权限。
注意:
配置过程:
1 开启Agent对远程命令的支持
[root@imxhy02 ~]# vi /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
[root@imxhy02 ~]# systemctl restart zabbix-agent.service
2 web添加对remote command
即当Zabbix-ClientCentOS-02登录用户超过2的时候,发送信息给administrator用户组和admin用户,并且执行pkill -kill -t pts/2命令。
注意:当Zabbix用户执行root命令的时候,需要先设置此命令的权限,visudo。