我创建了一个触发器来检查 Web 场景(使用下面的示例)。如果 60 秒内有 3 个值等于 0,它将触发警报。
我的理解是 web.test.fail 在失败时返回步骤号。
我不明白的是以下示例如何触发警报 - 如果 test.example.com 的 Web 场景中只有 1 个步骤,并且失败了,web.test.fail 会返回 1 而不是 0 吗?这是否意味着 60 秒内会有 3 个等于 1 的值?在这种情况下,以下示例将如何工作?我理解错了吗?
触发器示例:
{hosts1:web.test.fail[test.example.com].count(60,0)}=3
答案1
触发表达式 {hosts1:web.test.fail[test.example.com].last()} 将返回最新测试的结果:
- 0- 好的。Web 场景测试.example.com(所有步骤)测试成功;
- 1- Web 场景的第一步测试.example.com失败了(正如你所说,你只完成了场景的一个步骤);
- 未知- 网络主机不可访问。
如果触发表达式将返回未知状态或值大于 0,触发器将生成问题警报。
如果您想在连续三次检查失败后生成警报,则将触发表达式重写为:
{hosts1:web.test.fail[test.example.com].sum(#3)}>0
此触发器适用于您的网络场景的任何步数。它会发送问题第一次测试失败时发出警报并发送好的连续三次检查成功后恢复警报(服务完全恢复后 180 秒)。