Zabbix中为LLD发现的触发器创建Action时无触发器可选问题求助
先梳理下你的问题背景:
目标
我想要为Zabbix中部分发现的项创建告警。
已执行操作
- 为Zabbix配置了自定义LLD脚本及相关设置,用来生成监控项和触发器
- 尝试创建Action,以便在异常发生时发送通知
当前遇到的问题
进入Configuration→Actions,选择好要配置的触发器后,在New condition中选择Trigger&=→Select,弹出的窗口里Template显示正确,但完全看不到任何触发器。
我之前也碰到过类似的情况,给你分享几个排查思路:
先确认触发器是否真的生成了
别只看模板层面,去Configuration→Hosts找到应用了该模板的主机,进入Triggers标签页,看看LLD生成的触发器是否存在。如果没有,要么是LLD规则还没到自动执行的时间(可以手动点击LLD规则的「Check now」触发更新),要么是你的LLD脚本输出有问题,导致触发器没成功生成。检查触发器状态与权限
就算触发器生成了,如果处于禁用状态,在Action的选择窗口里是不会显示的。去Configuration→Templates找到对应模板,进入Triggers标签页,筛选LLD生成的触发器,确认它们是Enabled状态。另外,还要确保当前登录的Zabbix用户拥有查看这些触发器的权限——去Administration→Users查看你的权限组,确认是否给了Triggers的Read权限,以及对应模板/主机的访问权限。检查Action的作用范围限制
如果你的Action设置了仅针对特定主机组或主机,而LLD触发器所属的主机不在这个范围内,也会导致选择窗口里看不到触发器。你可以先临时把Action的作用范围改成「All hosts」,再尝试选择触发器,能找到的话再调整回合适的范围即可。刷新Zabbix缓存
有时候LLD生成触发器后,Zabbix的缓存没有及时同步,导致界面上无法显示。你可以去Administration→General→Housekeeping,点击「Execute now」清理缓存,或者重启Zabbix Server服务,应该就能解决缓存不一致的问题。
内容的提问来源于stack exchange,提问作者Yaron

