我正在尝试在 kibana 中定义一个观察者来监视我们的日志,并在发生错误时向我们的松弛通道发送带有消息详细信息的通知。
问题是我找不到获取消息详细信息的方法。我已经打印了整个{{ ctx }}
字典,但没有发现任何有用的东西。
我正在尝试在 kibana 中定义一个观察者来监视我们的日志,并在发生错误时向我们的松弛通道发送带有消息详细信息的通知。
问题是我找不到获取消息详细信息的方法。我已经打印了整个{{ ctx }}
字典,但没有发现任何有用的东西。
您应该能够从用于观察者的查询和条件中找到消息元素。例如,如果您的情况是这样的:
"condition": {
"compare": {
"ctx.payload.hits.total": {
"gt": 0
}
}
}
对于这种情况,可以在以下位置找到消息:
ctx.payload.hits.hits.0._source.message
您可以使用您的查询并点击弹性搜索并检查消息详细信息的响应。下面的示例适用于多桶聚合查询,类似地,您可以使用您的查询集查询 elasticsearch 并检查响应。
curl -H "Content-Type: application/json" -X POST http://localhost:9002/filebeat-2019.04.04/_search?pretty=true -d '{"size": 0,"aggs": {"messages": {"filters": {"filters": {"errors": {"match": {"message": "CREDENTIALS"}},"warnings": {"match": {"message": "SUCCESS"}}}}}}}'
回复:
{
"took": 9,
"timed_out": false,
"_shards": ...,
"hits": ...,
"aggregations": {
"messages": {
"buckets": {
"errors": {
"doc_count": 1
},
"warnings": {
"doc_count": 2
}
}
}
}
}