如何从Logstash的文档字段中提取服务名称

时间:2019-07-02 06:32:00

标签: elasticsearch logging logstash kibana logstash-grok

我陷入了ELK-Stack配置的中间,任何引线将不胜感激。

案例研究: 我能够看到日志(通过logstash解析,没有任何过滤器),但是我想在解析日志时应用过滤器。 例如: system.process.cmdline:“ C:\ example1 \ example.exe”-显示名称“ example.run”-服务名称“ example.run”

我可以在kibana仪表板中看到以上日志,但是我只需要-servicename键,值。 在Kibana中的预期输出,其中servicename是索引,而example.run将是关联值。

  • 服务名“ example.run”

我是ELK的新手,所以请帮帮我...

我的环境: Elasticsearch- 6.6 基巴那-6.6 Logstash- 6.6 文件拍-6.6 公制-6.6 日志来自-Windows Server 2016

input {
 beats {
        port => "5044"
    }
}
filter {
    grok{
        match =>{"message" => "%{NOSPACE:hostname} "}
    }
}
output {
   file {
     path => "/var/log/logstash/out.log"
  }
}

我已经尝试了上述logstash管道。但是我没有成功获得所需的结果。假设我必须在过滤器中添加更多行,但不知道到底是什么。

1 个答案:

答案 0 :(得分:0)

在您的过滤器中使用它:

grok{
       match => { "message" => "%{GREEDYDATA:ignore}-servicename \"%{DATA:serviceName}\"" }
} 

您的服务名称现在应该在serviceName键中