elasticsearch ElastAlert将查询和范围合并到OR子句中
我有一个kibana查询来查找结果为“HTTP 5xx”或响应代码大于等于400的所有事务elasticsearch ElastAlert将查询和范围合并到OR子句中,elasticsearch,yaml,kibana,elastalert,elasticsearch,Yaml,Kibana,Elastalert,我有一个kibana查询来查找结果为“HTTP 5xx”或响应代码大于等于400的所有事务 service.name : "my-service" AND transaction.name : "my-transaction" AND (transaction.result: "HTTP 5xx" OR http.response.status_code >= 400) 我需要在ElastAlert规则(.yaml文件)中使用相
service.name : "my-service" AND transaction.name : "my-transaction" AND (transaction.result: "HTTP 5xx" OR http.response.status_code >= 400)
我需要在ElastAlert规则(.yaml文件)中使用相同的查询。我可以在范围中使用状态代码,它将作为and子句与查询一起使用,但我如何使用事务。结果如下:
filter:
- query:
query_string:
query: 'service.name : "my-service" AND transaction.name : "my-transaction"'
- range:
http.response.status_code:
gt: 399
有人可以帮助您将其包括在内吗?您可以在过滤器定义中使用:
filter:
- and:
- query:
query_string:
query: >-
service.name : "my-service" AND transaction.name :
"my-transaction"
- or:
- term:
transaction.result: HTTP 5xx
- range:
http.response.status_code:
gt: 399
或者,您也可以去掉query\u字符串
query,并将其拼写成单独的查询:
filter:
- and:
- term:
service.name: my-service
- term:
transaction.name: my-transaction
- or:
- term:
transaction.result: HTTP 5xx
- range:
http.response.status_code:
gt: 399
谢谢,我会先测试一下,然后再给它打分。我觉得第一个有问题,让我测试一下是啊,亚姆太糟糕了:-)我修正了缩进。让我知道太棒了,很高兴它有帮助!