Zabbix搭建笔记[8]--报警配置简介

时间:2024-03-26 20:15:10

了解了触发器设置,我们接着来为触发器添加事件处理动作(Action)。

Action可以响应以下4种不同的事件:

Trigger events:触发器状态从OK=>Problem或者反过来

Discovery events:当network discovery触发的时候(后面再介绍)

Auto registration event:当新的agent自动注册的时候

Internal events:当监控项变为unsupported或触发器变成未知状态

 

先创建一个Action看一下配置情况,我们为Trigger创建一个Action

Zabbix搭建笔记[8]--报警配置简介

 

Action一共分为三个部分,第一个部分是Action的名称,以及触发条件的配置:

Zabbix搭建笔记[8]--报警配置简介

其中Name指定Action的名字,Conditions可以添加多个,并且Condition之间可以使用and或者or来进行组合,例如:

Zabbix搭建笔记[8]--报警配置简介

针对响应不同TriggerActionCondition配置,可以详细参考下面的官网连接:

https://www.zabbix.com/documentation/3.2/manual/config/notifications/action/conditions

 

OperationsRecovery Operations分别是达到Action条件的时候(即认为是出现问题的情况)Action应该采取的operation,以及当问题恢复后应该采取的operation

Zabbix搭建笔记[8]--报警配置简介

 

由于Recovery operationOperations几乎一样,所以这里只针对Operations做一下说明,看一下Operation的基本配置:

Zabbix搭建笔记[8]--报警配置简介

Defaultoperation step duration中定义了默认一个Operation步骤的时间间隔(即过多久会执行下一个步骤)。

Default subjectDefault message定义了发送消息(邮件)的主题和消息内容。

Pauseoperations while in maintenance这个选项用于配合维护时间的设置,如果设置了维护时间,那么在维护时间窗口内,不会执行Action

 

Action中的Operation一共有两种,一种是发送消息(Send message),一种是执行远端命令(Remote command)。点击"New"我们来看一下发送消息的Operation的配置:

Zabbix搭建笔记[8]--报警配置简介

Steps定义了这个Operation包含的步骤,如果右侧的数字指定0的话,表示无限次执行。

Stepduration表示每个Step的执行间隔,如果指定0表示使用前面Action选项卡中指定的Default值。

Operationtype指定是要发送消息还是执行远端命令。

Conditions中定义了Operation的执行条件。

 

对于发消息类型的Operation

Sendto User groupsSend to Users分别指定要发送消息的目标(后面我们会介绍如何定义UserUser Group)。

Sendonly to定义了要发送给哪一类介质(Media)。

Defaultmessage这个Checkbox如果勾选,则会使用默认的Message模板,否则,可以自定义模板。

 

对于执行远端命令类型的Operation

Zabbix搭建笔记[8]--报警配置简介

Target list中可以添加Host或者Host group,用于指定命令执行的目标机器。

Type指定要执行的命令的类型,如Custom scriptSSHTelnet等。

根据Type指定不同,下面会弹出针对这种命令的一些参数。

如果要使用Zabbix agent执行远端命令,需要修改zabbix agent的配置文件,将EnableRemoteCommands的值修改为1

 

针对Discoveryevents创建的ActionOperations里面有一些额外的可选项:

Zabbix搭建笔记[8]--报警配置简介

Operation名称都比较容易理解,其中自动注册事件的可用OperationAdd host/Disable host/Add to hostgroup/Link to template/Set host inventory mode

 

关于主机的inventorymode可以参考:

https://www.zabbix.com/documentation/3.0/manual/config/hosts/inventory

 

我们再来简单看一下subjectmessage的写法,subjectmessage中主要使用宏来进行编写。下面几个例子译自官网(https://www.zabbix.com/documentation/3.2/manual/config/notifications/action/operation/macros):

 

  1. 消息的Subject{TRIGGER.NAME}: {TRIGGER.STATUS}

当收到消息时,消息Subject会被替换成类似下面的内容:

Processor load is too high on server zabbix.zabbix.com: PROBLEM

  1. 消息内容:Processor load is: {zabbix.zabbix.com:system.cpu.load[,avg1].last()}

当收到消息时,消息会被替换成类似下面的内容:

Processor load is: 1.45

  1. 消息内容:

Latest value: {{HOST.HOST}:{ITEM.KEY}.last()}

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.33

MIN for 15 minutes: 1.01

  1. 消息内容:http://<server_ip_or_name>/zabbix/events.php?triggerid={TRIGGER.ID}&filter_set=1

收到的消息会包含一个链接,链接指向问题触发器的事件。

  1. 消息内容:

Trigger: {TRIGGER.NAME}

Trigger expression: {TRIGGER.EXPRESSION}

1. Item value on {HOST.NAME1}: {ITEM.VALUE1} ({ITEM.NAME1})

2. Item value on {HOST.NAME2}: {ITEM.VALUE2} ({ITEM.NAME2})

当收到消息时,消息会被替换成类似下面的内容:

Trigger: Processor load is too high on a local host

Trigger expression:{Myhost:system.cpu.load[percpu,avg1].last()}>5 |{Myotherhost:system.cpu.load[percpu,avg1].last()}>5

1. Item value on Myhost: 0.83 (Processor load (1 min average percore))

2. Item value on Myotherhost: 5.125 (Processor load (1 min averageper core))

  1. 消息内容:

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: 2014.01.02

Event age: 5m

Event acknowledgement: Yes

Event acknowledgement history: 2014.01.02 13:05:51 "John Smith(Admin)"

-acknowledged-

 

Recovery:

Event ID: 21896

Event value: 0

Event status: OK

Event time: 13:10:07

Event date: 2014.01.02

 

关于Zabbix中支持的全部宏的列表,可以参考下面的链接:

https://www.zabbix.com/documentation/3.0/manual/config/hosts/inventory

 

前面提到的发送消息的目标UserUser Group可以在Administration标签下面找到并创建:

Zabbix搭建笔记[8]--报警配置简介

 

创建User Group

Zabbix搭建笔记[8]--报警配置简介

 

创建User

Zabbix搭建笔记[8]--报警配置简介

为用户配置消息介质:

Zabbix搭建笔记[8]--报警配置简介

 

Administration下面创建消息介质:

Zabbix搭建笔记[8]--报警配置简介

 

限于篇幅,我们在下一小节中举两个报警配置的具体例子。