我目前正在监视打印以下健康检查的页面
<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个值,确定,错误和警告,我正在尝试运行的表达式消失了(这不起作用)
{host:web.page.regexp[{$HOST_IP},[<databaseMaster>error|<databaseMaster>warning],].str(error)}=1
尽管有语法,但我找不到任何错误,因为大于和小于符号不是元字符,所以我怀疑我的regex表达式是错误的,但是我不确定如何将其转换为pcre 这样我就可以匹配要触发警报的字符
我还想知道zabbix是否具有更适合此功能的功能?