我需要配置一个 Zabbix 检查,它将检查对某个互联网页面的访问。该页面可以返回http status 200 (ok)
或500 (internal server error)
。我希望在500 status error
出现 两次时收到 Zabbix 通知,可以吗?
编辑 #1:@Tero Kilkanen:这是我尝试创建触发器时收到的错误:
Incorrect trigger expression. Check expression part starting from "{Mobit engine health check:web.test.rspcode[Check engine,engine health check].count(10,"500 (internal server error)","eq")".
编辑#2:我已经创建了如下的 Web 场景:
并且单个步骤:
我已经创建了下一个触发器:
这是Lastest Data
来自 Zabbix 服务器的:
但是我有两个问题:
1. How can I check that the trigger works if it is not displayed in `Latest Data` in the Zabbix server?
2. How do I edit the trigger to reflect the needed configuration? which is to raise and alert when http status returns `500 Internal server error` twice?
谢谢!
答案1
是的,有可能。
首先,您需要按照以下说明创建网络支票https://www.zabbix.com/documentation/2.0/manual/web_monitoring
然后,在进行测试后,您将获得新项目,您可以在触发器中使用这些项目。在您的例子中,您想要检查 HTTP 错误代码,因此触发器将如下所示:
{HOST:web.test.error[TESTNAME].count(10,500)}>1
此处,HOST 表示配置进行 Web 检查的主机。TESTNAME 是为 Web 检查场景指定的名称。
coint() 的第一个参数10
表示它计算过去 10 秒内发生的事件。第二个参数包含要比较的错误代码。如果过去 10 秒内有超过 1 个 500 个错误实例,则触发器启动。
有关count
语法的更多信息,请参阅https://www.zabbix.com/documentation/2.0/manual/appendix/triggers/functions。
答案2
这是可以做到的。创建下面的触发器:
{HOST:web.test.rspcode[SCENARIO,STEP].diff(200)}
祝你好运!