我有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发布于 2021-03-31 14:31:09
长话短说:如果某些插入/更新没有失败,可以检查数据库日志(特别是在event_recovery和问题表中)
长话短说:我们在ZBX4.4上观察到类似的行为,并且只使用某些触发器检查最后10分钟的数据(例如item_key.str('problem',10m ) =1 )。尽管触发条件不再匹配,但即使在事件发生几天后,问题也会被检测到,但以后也不会得到解决。
在我们的特殊情况下:
然后,我在events表中查找特定的objectid (100123),发现确实存在一个“”事件(例如125)
我只是简单地创建了一个条目: into event_recovery (eventid,r_eventid)
中调整相似的配对
在problems表中,我发现了eventid (123)的问题,并简单地将恢复事件映射到该问题:更新problem set r_eventid='125‘ eventid='123’
问题是,这不是一个解决方案,只是一次性的变通方法。这个问题不断出现,此时我们怀疑问题出在数据库端(我们有一个primary+standby数据库,其中的selects被定向到standby,这可能会导致某些select操作失败,因为standby数据库处于只读模式)。
我们将尝试将所有内容重定向到主数据库,看看是否有帮助。
https://stackoverflow.com/questions/65085206
复制相似问题