在CentOS上,Filebeat默认使用Logstash进行日志处理。如果你想要对Filebeat收集的日志进行分割,可以通过配置Filebeat的processors和fields来实现。以下是一个简单的示例:
首先,确保你已经安装了Filebeat。如果还没有安装,可以参考官方文档进行安装:https://www.elastic.co/guide/en/beats/filebeat/current/install-filebeat.html
打开Filebeat的配置文件。通常位于/etc/filebeat/filebeat.yml。使用文本编辑器打开,例如:
sudo vi /etc/filebeat/filebeat.yml
在filebeat.inputs部分,添加一个processors配置,用于处理日志文件。在这个例子中,我们将使用dissect处理器来解析日志,并使用add_fields处理器来添加一个新的字段,用于存储分割后的日志文件名。将以下内容添加到配置文件中:
processors:
- dissect:
tokenizer: '%{[agent.version]} %{[agent.os]} %{[message]}'
field: "message"
target_prefix: ""
- add_fields:
fields:
log_file: "%{[fileset][module]}-%{[fileset][beat]}-%{[fileset][version]}-%{+yyyy-MM-dd}.log"
这里的tokenizer是一个正则表达式,用于解析日志文件名。你需要根据你的实际日志文件名进行修改。target_prefix设置为空字符串,表示将解析后的字段添加到原始事件中,而不是创建一个新的字段。
保存并关闭配置文件。
重启Filebeat服务以应用更改:
sudo systemctl restart filebeat
现在,Filebeat将会按照你定义的规则对日志文件进行分割,并在每个事件中添加一个新的log_file字段,用于存储分割后的日志文件名。你可以根据需要调整tokenizer表达式以适应你的日志文件名格式。