介绍
- 触发器事件 - 触发器状态在OK和PROBLEM之间变化
- 发现事件
- 自动注册时间 - 新的客户端注册进来
- 内部事件 - item转变为unsupported状态,触发器转变为unknown状态
配置action
- Action创建
点击configuration(配置)->Actions(报警)->选择事件来源文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/
文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/
- Action配置
如上图,我们可以发现这四种事件来源正好是我们前面提到的,选择好你的事件来源之后,点击create action文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/
- 条件配置
Type Of calculation:各种条件之间的关系,包含AND、OR 以及AND/OR,如上图是AND关系,同时要满足以上机器不在维护状态以及触发器值为PROBLEM才会触发报警的动作。文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/
- operaations配置
此处没有报警的动作,当你满足了报警条件也没有任何意义,因为你不执行任何报警的操作,那还要action做什么,对吧?话说回来,每个action都必须配置operations。
如上图,我们可以看出第1-10次报警都会发邮件给Admin这个用户,每次邮件间隔为300秒,第4-10次开始(故障发生15分钟后)便会发送邮件给administrators这个组。这边可以实现故障开始时发送邮件给值班运维,多少分钟还没处理好发送邮件给主管或者经理,甚至是老板,呵呵。
- 保存
最后
zabbix报警配置到此结束,下一节聊聊zabbix监控nginx吧。继续关注运维生存时间~文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/ 文章源自运维生存时间-https://www.ttlsa.com/zabbix/zabbix-actions/

15F
你好。有幸看到这篇文章。现在我遇到的问题是故障时能正常收到邮件。故障恢复时收到的邮件是故障定义的subject和message。请问这是哪的原因?
14F
您好,我想自定义些内容到“通知内容”中
场景:通过snmp获取交换机端口信息,在报警的内容中添加交换机描述信息,描述信息我已经获取到,查了官网内容发现key中没有类似的值,这个我该怎么办?
13F
不好意思,本来想问点trigger方面的,没找到合适的位置,就在这里问吧。
目前来看,trigger就是采用简单的或者复杂的表达式来判断item的值(也包括历史的值)。有没有办法添加一些判断来源呢?
意思就是我想扩展自己的trigger,判断来源不局限于item,也可以是item与某个服务器本地上的某个值做对比。当然扩展判断方式也挺好的,比如扩展成自己的函数来判断,不局限于他的表达式。
不知有没有这方面的资料呢,感谢!
B1
@ zabbix新人 以目前的资料来说,基本上都是通过item来判断的。你可以举个具体的需求。
B2
@ 运维生存时间 比如说吧,agent上报来某个item。我要判断他这个item所对应的信息是否需要更新,但是是否需要更新这个判断条件不是只判断item就行的,我还需要与比如服务器本地的某个值作对比才能判断出来这个item是否过期。
大概就是这个意思吧。能不能通过扩展trigger或者在源码级来增加这个功能呢?谢谢
B2
@ 运维生存时间 你好,我现在有个通过log 方法获取到的一些关键字,例如delay,我现在需要对这个关键字添加trigger,但是发现,到了表达式那里一直提示 :field “expressions” is mandatory,试了好多个方法都无法实现,也不知道大神有没有什么好的建议呢?
12F
楼主用的zabbix的版本是啥,我用的1.8 貌似没有这个功能啊
B1
@ aarons zabbix 2.2,可以考虑升级,1.8版本太老了。官方目前2.4,看起来3.0也快出了。
11F
博主我请问一下,我配置的操作细节里面的 step from 1
to 5
step duration 300
按博主的意思应该是每隔300秒发送一次邮件,发送5次。但是我实验发现完全不听使唤,发送间隔明明设置的300秒,却是1分钟发送一次,发送5次,也不对,根本停不下来。。
B1
@ 永乐技术 请看下是不是有多少个action,或者把图片发到http://bbs.ttlsa.com/,我们会定期去查看的。
B2
@ 运维生存时间 关于“这边可以实现故障开始时发送邮件给值班运维,多少分钟还没处理好发送邮件给主管或者经理,甚至是老板。”
这个是单纯的延后15分钟发送,还是15分钟后会检查触发是否恢复正常,正常就不发送,不正常再发送?
B1
@ 永乐技术 我现在也遇到这样的情况,修改Action里的Operations里时间间隔不起作用,一直都是1分钟一次报警不会停的,想咨询下问题最后怎么解决的
10F
我想实现一个Problem的出现,每隔5分钟发送一次报警信息,直到解决位置是否是在这里设置呢?
from 1
to 0 (默认是1,改为0无限的)
Step duration 0
默认是怎么样的报警间隔呢?
B1
@ " 梦 想 粺 Default operation step duration设置的数字便是默认时间间隔,当你step duration为0,就用这个默认值。按你的需求,你可以设置为300。这样的话,他会不休止的给你发送报警。
9F
Operations: 最小值 60seconds 应该是1分钟,而不是一小时吧。(关于截图中的勘误)
再就是第4-10次开始(故障发生15分钟后)便会发送邮件给administrators这个组。怎么实现呢? 没有在2.2.X版本里面看到时间的设定啊?
B1
@ " 梦 想 粺 1. 创建action默认的时间是3600秒也就是一小时。最小值是60秒。我核对了下,没有写错。
2. 4-10这个,你在step这边在新增加一个就行了,请注意看下哦。
—–没注意到你这个留言,抱歉。
8F
十分感谢! 那这样的需求得从触发器本身实现。
B1
@ fandami 你这种做法,还不是很理解
B2
@ TSA 感谢回复!
就是想通过agent.ping和icmpping来实现主机存活的判断和报警。
刚刚通过设置trigger的依赖,达到要求了。
新建trigger
Name {HOST.NAME} is down by ICMP and agent.ping
Expression {Template ICMP Ping:icmpping.sum(#2)}=0
Dependencies
Template App Zabbix Agent: Zabbix agent on {HOST.NAME} is unreachable for 5minutes
actions 设置
(A) and (B) and (C) and (D)
(A) Maintenance status not in maintenance
(B) Trigger value = PROBLEM
(C) Trigger severity = High
(D) Trigger = Template ICMP Ping: Template ICMP Ping is down by ICMP and agent.ping
B3
@ fandami ok~
B4
@ TSA 我错了,哈哈哈,
7F
@fandami
当一个触发器触发的时候,只会有一个trigger name,所以第一个会触发。第二个这辈子都没机会触发的,不可能一个触发器有两个名字吧。
6F
当 (A) and (B and C) 需要这样的情况下触发报警, 是不是我哪里理解有误?
5F
@TSA
感谢回复
加入后测试
(A) Trigger value = PROBLEM
(B) Trigger name like Zabbix agent on
(C) Trigger name like is unavailable by ICMP
当 (A) and (B or C) 可以触发
当 (A) and (B and C) 不可以触发
4F
@fandami
你没配置trigger value = problem
3F
@fandami
或者,如何结合icmp ping 和 agent.ping 来检查主机存活
2F
Type of calculation
(A and B)
Conditions
Label Name Action
(A) Trigger = Template ICMP Ping: Is unavailable by ICMP on Template ICMP Ping
(B) Trigger = Template App Zabbix Agent: Zabbix agent on Template App Zabbix Agent is unreachable for 1 minutes
请问为何设置如上的action后无法触发报警
1F
广告多了点 影响浏览
来自外部的引用