Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux CentOS 7无法解析Zabbix触发器_Linux_Triggers_Centos_Zabbix_Agent - Fatal编程技术网

Linux CentOS 7无法解析Zabbix触发器

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。触

我有zabbix版本3.4。我有两个模板。一个用于监视操作系统,另一个用于监视数据库。我有几个服务器将CentOS 6.9添加到这些模板中。一切正常

然后我用CentOS 7在这些模板中添加了4台服务器。项目工作正常。他们取得了预期的结果。问题是,当这4台服务器的触发器被激活时,它们不会解决并保持活动状态,我们在仪表板中看到它们

例如,在数据库模板中,我们有一个表示服务状态的项。如果是
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操作失败,这些操作最终会写入,因为备用数据库处于只读模式)

    我们将尝试将所有内容重定向到主数据库,看看是否有帮助


你也可以分享你的触发器表达式吗?你也应该考虑升级到ZabBix5@IronBishop服务不适合我们的团队。我们只使用它。我应该告诉另一个团队看看他们能做些什么。触发器很简单,在.last()上做出反应。我同意@IronBishop,您应该要求服务所有者升级到更新的版本。在CentOS 7上使用puppet升级到zabbix 5将是一个挑战,因为PHP 7。