Linux CentOS 7无法解析Zabbix触发器
我有zabbix版本3.4。我有两个模板。一个用于监视操作系统,另一个用于监视数据库。我有几个服务器将CentOS 6.9添加到这些模板中。一切正常 然后我用CentOS 7在这些模板中添加了4台服务器。项目工作正常。他们取得了预期的结果。问题是,当这4台服务器的触发器被激活时,它们不会解决并保持活动状态,我们在仪表板中看到它们 例如,在数据库模板中,我们有一个表示服务状态的项。如果是Linux CentOS 7无法解析Zabbix触发器,linux,triggers,centos,zabbix,agent,Linux,Triggers,Centos,Zabbix,Agent,我有zabbix版本3.4。我有两个模板。一个用于监视操作系统,另一个用于监视数据库。我有几个服务器将CentOS 6.9添加到这些模板中。一切正常 然后我用CentOS 7在这些模板中添加了4台服务器。项目工作正常。他们取得了预期的结果。问题是,当这4台服务器的触发器被激活时,它们不会解决并保持活动状态,我们在仪表板中看到它们 例如,在数据库模板中,我们有一个表示服务状态的项。如果是1则表示服务正在运行,如果不是1则表示服务未运行。我停止了CentOS 7服务器上的服务。代理得到的结果是0。触
1
则表示服务正在运行,如果不是1
则表示服务未运行。我停止了CentOS 7服务器上的服务。代理得到的结果是0。触发器被激活。然后我开始服务。在最新的数据中,我可以看到值是1
,这意味着服务正在运行,但触发器没有解决,它仍然在运行
然后,我为CentOS 6.9服务器之一执行了上述步骤,一切正常
为什么会发生这种情况,我如何解决
更新:
触发器表达式为:
{log-b:db2stat.db2instance_service[].last()}<>1
{log-b:db2stat.db2instance_服务[].last()}1
长话短说:如果某些插入/更新没有失败,可能会检查数据库日志(特别是在事件恢复和问题表中)
短篇故事:
我们在ZBX 4.4上观察到类似的行为,仅在某些触发器检查最后10分钟的数据时(例如,item_key.str('problem',10m)=1)。虽然触发条件不再匹配,但问题已被检测到,但即使在事件发生几天后也无法得到解决
在我们的特殊情况下:
- 我查看了DB,在events表中找到了具有适当eventid(例如123)的事件,并记下了objectid(例如100123)
- 然后,我检查了特定objectid(100123)的events表,发现确实存在“resolution”事件(例如125)
- 当检查事件\恢复表时,我找不到与这两个事件ID匹配的条目(而对于其他触发器,在解决它们之后,它们在事件\恢复表中有一个条目)
- 我只是创建了一个条目:insert into event_recovery(eventid,r_eventid)值('123','125')
- 但这还不够,因为需要在问题表中调整类似的配对
- 在problems表中,我发现我的eventid(123)存在问题,并简单地将恢复事件映射到该问题:更新问题集r_eventid='125',其中eventid='123'和objectid='100123' 问题在于,这不是一个解决方案,只是一次性的解决办法。问题不断出现,目前我们怀疑问题出在数据库端(我们有一个主+备用数据库,其中selects指向standby,这会导致某些select操作失败,这些操作最终会写入,因为备用数据库处于只读模式) 我们将尝试将所有内容重定向到主数据库,看看是否有帮助