020.Zabbix的Actions配置

一 Action概述

当产生Trigger后,即当触发器条件被满足时,采取一些操作,如发送事件通知,远程执行命令等,需要配置Action。
95
 
名称
作用
Trigger
当Trigger的状态从OK变为PROBLEM
Discovery
当network discovery工作
Auto registration
主动模式的agent自动注册
Internal
当Items变成不被支持(unsupported)或者Trigger变为未知状态(unknown state)

二 Action配置

2.1 配置步骤

  1. Configuration---->Actions
  2. 在Event source中选择事件来源
  3. Create action
  4. 设置Action参数
  5. Conditions,设置执行动作

2.2 具体配置

Action条件配置:
96
97
 
参数
描述
Name
唯一的Action名字
Type of calculation
条件之间的关系,且或非
Conditions
维护周期
触发器状态为PROBLEM
New condition
添加新的更多的条件
具体操作配置:
98
操作配置参数
参数
描述
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封邮件。
相关参考参数:
  • 告警主机:{HOST.NAME}
  • 主机IP: {HOST.IP}
  • 告警时间:{EVENT.DATE} {EVENT.TIME}
  • 告警等级:{TRIGGER.SEVERITY}
  • 告警信息:{TRIGGER.NAME}
  • 问题详情:{ITEM.NAME}:{ITEM.VALUE}
  • 事件ID: {EVENT.ID}
恢复操作配置:
99
恢复操作配置参数
参数
描述
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:默认信息内容
保存后
100

三 发送消息中的宏配置

宏配置是在消息主题和消息内容中完成的。
示例一:
消息:{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

四 Conditions(条件)配置

4.1 条件的逻辑运算

AND:所有的条件必须同时满足
OR:满足条件中的一个即可
AND/OR:两个关系的组合,AND用于不同条件的关系,OR用户相同条件的关系
运算符
描述
运算符
描述
=
条件等于
like
部分匹配
>=
条件大于或等于
not like
部分不匹配
>=
条件小于或等于
in
在范围内
<>
排除
not in
不在范围内

4.2 触发器的状态

如果Trigger从OK---->PROBLEM,则状态变为PROBLEM
如果Trigger从PROBLEM---->OK,则状态变为OK
对Trigger创建一个新的Action时,会自动添加以下两个条件
Trigger value = PROBLEM:任何问题都会发送消息,如果没有配置条件,则会发送所有事件消息
Maintenance status = not in maintenance:在维护时间段将不会发送消息

五 Operation type(操作类型)

5.1 动作有以下两种

  • 发送消息(send message)
  • 执行远程命令(Remote command)

5.2 配置发送消息的步骤

  1. 配置消息发送介质,步骤为:Administration---->Media types
  2. 配置一个对需要发送消息设备的用户,步骤为:Administration---->Users---->Create User
  3. 配置Action中的消息发送
注意:配置的用户必须对需要发送消息的主机的Trigger具备可读权限。

5.3 远程命令配置

  • 通过远程命令可以执行以下操作:
  • 若服务无响应,自动重启应用(Web服务、中间件、CRM)
  • 通过IPMI协议远程重启服务器
  • 清空磁盘无用文件,释放空间
  • 当CPU负载过高,从一个物理机迁移VM到另一台物理机
  • 当CPU资源不足时,为云环境增加一个节点资源CPU(磁盘、内存及其他)等
注意:
  • 远程命令不支持主动模式的Agent,是从Server向Agent执行,即被动模式
  • 远程命令不支持代理模式
  • 命令的长度被限制为255个字符
  • 可以在一个操作中执行多条命令,添加新的远程命令即可
  • 远程命令可以包含宏
  • Zabbix用户必须对该命令具有执行权限,或可以无密码模式sudo
  • Agent的防火墙允许从数据包进来的命令
  • Zabbix不会检测命令是否执行成功,只是执行命令
配置过程:
1 开启Agent对远程命令的支持
[root@imxhy02 ~]# vi /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
[root@imxhy02 ~]# systemctl restart zabbix-agent.service
2 web添加对remote command
101
102
即当Zabbix-ClientCentOS-02登录用户超过2的时候,发送信息给administrator用户组和admin用户,并且执行pkill -kill -t pts/2命令。
注意:当Zabbix用户执行root命令的时候,需要先设置此命令的权限,visudo。

六 discovery配置

6.1 自动发现discovery有以下8种

  • 增加主机(add host)
  • 删除主机(remove host)
  • 开启主机监控(enable host)
  • 关闭主机监控(disable host)
  • 增加到组(add to group)
  • 从一个组中删除(delete from group)
  • 链接到模板(link to templates)
  • 取消模板链接(unlink from template)

6.2 自动注册auto-registration动作有以下6种

  • 发送消息(send message)
  • 远程命令(remote command)
  • 增加主机(add host)
  • 关闭主机监控(disable)
  • 增加到组(add ro group)
  • 链接到模板(link to template)
原文地址:https://www.cnblogs.com/itzgr/p/9962955.html