2

我正在使用Kibana (version 7.1.1)我的日志记录。alert to Slack我想根据某些条件设置频道。

到目前为止我所拥有的工作:

  • 在我设置条件的地方创建了一个带有监视器的警报。
  • 创建了集成了 Slack web-hook 的触发器。
  • 当我的条件得到满足时,我可以向松弛频道发送非常基本的消息。

我想要的是:

Kibana 使用mustache.jsand 在这里,我可以通过做得到我的触发器名称,{{ctx.trigger.name}}但我不确定如何从日志中获取特定信息,例如_source.

在线研究表明您可以这样做{{ ctx._source }}{{ ctx.payload }}但我在上下文中看不到这一点。我怎么能得到那个?

这是显示参数的链接,其中大部分参数在我的上下文中看不到。

ctx 结果:

{
  monitor = {
    _id = ,
    _version = 1,
    name = Failed Order Alert,
    enabled = true
  }, trigger = {
    id = SOME-GUID,
    name = Failed Order Trigger,
    severity = 1,
    actions = [{
      name = JUST TESTING
    }]
  }, results = [{
    _shards = {
      total = 1,
      failed = 0,
      successful = 1,
      skipped = 0
    },
    hits = {
      hits = [],
      total = {
        value = 0,
        relation = eq
      },
      max_score = null
    },
    took = 8,
    timed_out = false
  }], periodStart = 2020 - 02 - 13 T16: 40: 10.055 Z, 
  periodEnd = 2020 - 02 - 13 T16: 41: 10.055 Z, 
  alert = null, 
  error = null
}

Kibana 结果: 在此处输入图像描述

4

1 回答 1

2

我能够找到解决方案。我在这里学到的是,如果您的查询没有产生任何结果,那么您将看到我最初发布的有效负载。在这里,问题是我的查询。

在这种情况下该怎么办:

  1. 确保您的查询是正确的。在这里,如果您已经应用了时间范围,那么您也需要检查它。这将很重要。
  2. 检查您的索引是否正确。这似乎很明显,但可能会发生。

假设所有这些都已得到纠正,那么您应该results在输出中看到。可以这样取。{{ ctx.results.0.hits.hits.0._source.YOUR-OBJECT }}

于 2020-07-13T15:13:56.403 回答