020.Zabbix的Actions配置

2019-07-26 14:29:38 浏览数 (1)

一 Action概述

当产生Trigger后,即当触发器条件被满足时,采取一些操作,如发送事件通知,远程执行命令等,需要配置Action。

名称

作用

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条件配置:

参数

描述

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封邮件。

相关参考参数:

  • 告警主机:{HOST.NAME}
  • 主机IP: {HOST.IP}
  • 告警时间:{EVENT.DATE} {EVENT.TIME}
  • 告警等级:{TRIGGER.SEVERITY}
  • 告警信息:{TRIGGER.NAME}
  • 问题详情:{ITEM.NAME}:{ITEM.VALUE}
  • 事件ID: {EVENT.ID}

恢复操作配置:

恢复操作配置参数

参数

描述

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

四 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

即当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)

0 人点赞