You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zabbix模板SSH登录告警触发器配置报错:表达式参数无效问题求助

解决Zabbix SSH登录触发器表达式报错的思路

我之前也碰到过类似的触发器语法问题,结合你的配置情况,给你几个具体的排查和解决方向:

  • 先确认监控项的键值是否合理
    你配置的监控项键是log[/var/log/auth.log,"Accepted .*",,,,skip,\0],这里有两个可以优化的点:

    1. 最后一个参数\0是捕获整个匹配字符串的捕获组,但如果你的需求只是检测SSH登录日志出现,这个参数其实是多余的,可以去掉,简化成log[/var/log/auth.log,"Accepted .*",,,,skip];
    2. 触发器表达式引用监控项时,必须保证键的写法和监控项配置里完全一致,包括参数的引号、逗号分隔顺序都不能错。
  • 修正触发器表达式的语法
    Zabbix 5.2中,change()函数返回值是1(值发生变化,即新匹配到日志)或0(无变化),所以正确的表达式应该判断等于1,而非大于0。另外,监控项键里的双引号可能会和表达式解析逻辑冲突,建议换成单引号试试:

    {Linux by Zabbix agent active:log[/var/log/auth.log,'Accepted .*',,,,skip].change()}=1
    

    如果还是报错,可以尝试去掉skip参数(若不需要跳过重复日志),进一步简化表达式:

    {Linux by Zabbix agent active:log[/var/log/auth.log,'Accepted .*'].change()}=1
    
  • 先验证监控项是否正常采集数据
    别着急调试触发器,先去Zabbix的「最新数据」页面,找到这个「SSH login」监控项,看看有没有采集到对应的日志条目。如果监控项本身没数据,触发器肯定不会生效——这时候要检查Zabbix Agent用户是否有读取/var/log/auth.log的权限,或者部分系统的SSH日志路径是/var/log/secure,确认路径是否正确。

  • 检查表达式的细节拼写
    确认模板名称「Linux by Zabbix agent active」是否完全正确,有没有拼写错误或者多余/缺失的空格;另外,确保整个监控项键被完整包裹在大括号内,没有遗漏任何符号。

内容的提问来源于stack exchange,提问作者user19413311

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:32:47