我有 zabbix 3.4 版。我有 2 个模板。一个用于监控操作系统,另一个用于监控数据库。我几乎没有将 CentOS 6.9 添加到这些模板中的服务器。一切正常。
然后我使用 CentOS 7 在这些模板中添加了 4 个服务器。项目正常工作。他们有预期的结果。问题是当为这 4 个服务器激活触发器时,它们无法解决并保持事件状态,我们在仪表板中看到它们。
例如,在数据库模板中,我们有一个用于服务状态的项目。如果是 1
如果不是 1
,则表示服务正在运行这意味着服务没有运行。我在其中一台 CentOS 7 服务器上停止了该服务。代理得到的结果是0。触发器被激活。然后我开始了服务。在最新数据中,我可以看到该值为 1
这意味着服务正在运行,但触发器没有解决,它仍然在运行。
然后我为其中一台 CentOS 6.9 服务器执行了上述步骤,一切正常。
为什么会发生这种情况,我该如何解决?
更新:
触发器表达式为:
{log-b:db2stat.db2instance_service[].last()}<>1
最佳答案
长话短说:如果某些插入/更新没有失败(尤其是在 event_recovery 和问题表中),则可能检查数据库日志
长话短说:
我们在 ZBX 4.4 上观察到类似的行为,并且只有某些触发器检查最后 10 分钟的数据(例如 item_key.str('problem',10m)=1 )。尽管触发条件不再匹配,但即使经过几天的事件,问题也会被检测到,但稍后也不会得到解决。
在我们的特殊情况下:
问题在于这不是解决方案,只是一次性解决方法。问题不断出现,此时我们怀疑问题出在数据库方面(我们有一个主 + 备用数据库,其选择定向到备用数据库,这可能导致某些最终写入的选择操作失败,因为备用数据库处于读取状态-仅模式)。
我们将尝试将所有内容重定向到主数据库,看看是否有帮助。
关于linux - CentOS 7 无法解析 Zabbix 触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65085206/