如何从 Logstash 中的文档字段中提取服务名称
How to extract service name from document field in Logstash
我卡在 ELK-Stack 配置的中间,任何线索都将不胜感激。
案例研究:
我能够看到日志(在没有任何过滤器的情况下通过 logstash 解析)但我想在解析日志时应用过滤器。
例如:
system.process.cmdline: "C:\example1\example.exe" -显示名称 "example.run" -服务名称 "example.run"
我可以在 kibana 仪表板中看到上述日志,但我只需要 -servicename 键值。
Kibana 中的预期输出,其中服务名称是索引,example.run 将是关联值。
- 服务名"example.run"
我是ELK.So的新手,请帮帮我...
我的环境:
弹性搜索- 6.6
基巴纳 - 6.6
Logstash- 6.6
Filebeat- 6.6
Metricbeat- 6.6
来自- Windows 服务器 2016
的日志
input {
beats {
port => "5044"
}
}
filter {
grok{
match =>{"message" => "%{NOSPACE:hostname} "}
}
}
output {
file {
path => "/var/log/logstash/out.log"
}
}
我试过上面的 logstash 管道。但我没有成功获得所需的结果。假设我必须在过滤器中添加更多行但不知道具体是什么。
在你的过滤器中使用这个:
grok{
match => { "message" => "%{GREEDYDATA:ignore}-servicename \"%{DATA:serviceName}\"" }
}
您的服务名称现在应该在 serviceName 键中
我卡在 ELK-Stack 配置的中间,任何线索都将不胜感激。
案例研究: 我能够看到日志(在没有任何过滤器的情况下通过 logstash 解析)但我想在解析日志时应用过滤器。 例如: system.process.cmdline: "C:\example1\example.exe" -显示名称 "example.run" -服务名称 "example.run"
我可以在 kibana 仪表板中看到上述日志,但我只需要 -servicename 键值。 Kibana 中的预期输出,其中服务名称是索引,example.run 将是关联值。
- 服务名"example.run"
我是ELK.So的新手,请帮帮我...
我的环境: 弹性搜索- 6.6 基巴纳 - 6.6 Logstash- 6.6 Filebeat- 6.6 Metricbeat- 6.6 来自- Windows 服务器 2016
的日志input {
beats {
port => "5044"
}
}
filter {
grok{
match =>{"message" => "%{NOSPACE:hostname} "}
}
}
output {
file {
path => "/var/log/logstash/out.log"
}
}
我试过上面的 logstash 管道。但我没有成功获得所需的结果。假设我必须在过滤器中添加更多行但不知道具体是什么。
在你的过滤器中使用这个:
grok{
match => { "message" => "%{GREEDYDATA:ignore}-servicename \"%{DATA:serviceName}\"" }
}
您的服务名称现在应该在 serviceName 键中