【问题标题】:Parse integer and show in timeline in Kibana在 Kibana 中解析整数并在时间轴中显示
【发布时间】:2017-03-23 09:46:39
【问题描述】:

这是 Kibana UI,我想解析消息中的一些 Integer。消息末尾的数字是一种方法的处理时间,我在 Kibana 中按小时可视化平均处理时间。这可能吗?

我在logstash中尝试了一些conf:

filter{
    json{
        source => "message"
    }
    grok {
        match => {
            "message" => "^Finish validate %{NUMBER:cto_validate_time}$"
        }
    }
    grok {
        match => {
            "message" => "^Finish customize %{NUMBER:cto_customize_time}$"
        }
    }

}

它有效。但是当我创建时间表时,我无法获取新字段。

【问题讨论】:

  • 是否可以修改映射?您是否允许修改 elasticsearch.yaml 文件中的设置?使用什么将数据发送到 Elasticsearch(Logstash、自定义应用程序等)?您需要对索引中的现有数据执行此操作,还是仅添加新数据?你关心性能吗?根据您对这些问题的回答,有几种方法可以做到这一点。
  • 这是一个 springboot 应用程序,我只是使用“net.logstash.logback.appender.LogstashTcpSocketAppender”向 Logstash 发送数据。如果可能的话,我需要对现有数据进行处理。而且我不在乎性能。
  • 我认为我无法更改 elasticsearch 设置,而且我对映射知之甚少。我对 elk 文件很痛苦,这就是在这里提出问题的原因之一 :-(

标签: elasticsearch logging kibana kibana-5


【解决方案1】:

由于您不关心性能问题,您可以使用以下无痛代码在索引模式中创建一个名为 process_timescripted field。它所做的只是从您的 message 字段中获取最后一个数值。

def m = /.*\s(\d+)$/.matcher(doc['message.keyword'].value);
if ( m.matches() ) {
   return m.group(1)
} else {
   return 0
}

然后您可以构建一个图表以按小时显示平均处理时间。转到可视化选项卡并创建一个新的垂直条形图。在 Y 轴上,您将在 process_time 字段上创建 Average 聚合,在 X 轴上,您将在时间戳字段上使用 Date histogram 聚合.示例如下:

注意:您还需要在elasticsearch.yml文件中添加以下行并重新启动ES:

script.painless.regex.enabled: true

更新

如果您想通过 Logstash 进行操作,可以添加以下 grok 过滤器

filter{
    grok {
        match => {
            "message" => "^Finish customize in controller %{NUMBER:cto_customize_time}$"
        }
    }
    mutate {
        convert => { "cto_customize_time" => "integer" }
    }
}

【讨论】:

  • 这个运气好吗?
  • 我试过了,它在 Kibana 中显示 Warning Courier Fetch: 5 of 5 shards failed.
  • 我发现我可以访问logstash conf 有什么方法可以在logstash 中创建时间字段吗?
  • 让我们首先解决错误(然后我们将研究修改 Logstash 配置)。您是否有权访问 Elasticsearch 日志以查看潜在错误是什么?
  • 麻烦就在这里。创建脚本字段后,它不会在日志中显示任何新的错误消息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 2015-10-20
  • 2019-10-15
  • 2012-11-21
  • 2016-12-11
相关资源
最近更新 更多