【发布时间】:2019-12-27 22:07:17
【问题描述】:
我目前正在监视一个打印以下运行状况检查的页面
<status>
<link type="text/css" id="dark-mode" rel="stylesheet" href=""/>
<style type="text/css" id="dark-mode-custom-style"/>
<cache>ok</cache>
<databaseMaster>error</databaseMaster>
<databaseSlave>error</databaseSlave>
<redis>ok</redis>
<files>ok</files>
</status>
我通过使用以下触发器来做到这一点(这个有效)
{host:web.page.regexp[{$HOST_IP},health/check,,[error|warning],,].str(error)}=1
但是,当尝试详细解析每个单独的行响应时(即数据库主服务器, 在第 5 行,它可以显示 3 个值,ok、error 和 warning,我试图运行的表达式运行(这不起作用)
{host:web.page.regexp[{$HOST_IP},health/check,,[<databaseMaster>error|<databaseMaster>warning],,].str(error)}=1
尽管语法和我找不到任何问题,因为大于和小于符号不是元字符,不知何故我怀疑我的正则表达式是错误的,但我不知道如何将它翻译成pcre 所以我可以匹配我想要触发警报的字符
我也想知道zabbix是否有更适合这个的功能?
【问题讨论】: