0

我正在尝试在 kibana 中定义一个观察者来监视我们的日志,并在发生错误时向我们的松弛通道发送带有消息详细信息的通知。

问题是我找不到获取消息详细信息的方法。我已经打印了整个{{ ctx }}字典,但没有发现任何有用的东西。

4

2 回答 2

0

您应该能够从用于观察者的查询和条件中找到消息元素。例如,如果您的情况是这样的:

"condition": {
    "compare": {
      "ctx.payload.hits.total": {
        "gt": 0
      }
    }
  }

对于这种情况,可以在以下位置找到消息:

ctx.payload.hits.hits.0._source.message
于 2020-05-28T04:19:48.390 回答
0

您可以使用您的查询并点击弹性搜索并检查消息详细信息的响应。下面的示例适用于多桶聚合查询,类似地,您可以使用您的查询集查询 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
        }
      }
    }
  }
}
于 2019-04-10T06:02:47.460 回答