在Logstash中获取Filebeat源文件名的一部分,可以通过使用Logstash的filter插件来实现。具体步骤如下:
fields
选项来添加自定义字段,用于存储源文件名的一部分。例如,可以添加一个名为filename
的字段,并使用%{[source]}{basename}
来获取源文件名的基本部分。示例配置如下:filebeat.inputs:
- type: log
paths:
- /path/to/logs/*.log
fields:
filename: "%{[source]}{basename}"
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "source" => "/path/to/logs/(?<filename>[^/]+)\.log" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "logs-%{+YYYY.MM.dd}"
}
}
在上述配置中,使用grok
插件来匹配source
字段,并提取文件名的一部分到名为filename
的新字段中。
通过以上配置,当Filebeat发送日志事件给Logstash时,Logstash会解析源文件名,并将提取的文件名的一部分存储在filename
字段中。你可以根据需要在Logstash的输出插件中使用该字段进行进一步处理或存储。
腾讯云相关产品推荐:腾讯云日志服务(CLS)是一种全托管的日志管理服务,可帮助您收集、存储、检索和分析日志数据。您可以使用CLS来集中管理和分析Logstash收集的日志数据。了解更多信息,请访问腾讯云日志服务产品介绍页面:腾讯云日志服务。
领取专属 10元无门槛券
手把手带您无忧上云