温馨提示×

Filebeat在CentOS上如何进行日志分割

小樊
43
2025-10-09 01:08:34
栏目: 智能运维

在CentOS上,Filebeat默认使用Logstash进行日志处理。如果你想要对Filebeat收集的日志进行分割,可以通过配置Filebeat的processorsfields来实现。以下是一个简单的示例:

  1. 首先,确保你已经安装了Filebeat。如果还没有安装,可以参考官方文档进行安装:https://www.elastic.co/guide/en/beats/filebeat/current/install-filebeat.html

  2. 打开Filebeat的配置文件。通常位于/etc/filebeat/filebeat.yml。使用文本编辑器打开,例如:

    sudo vi /etc/filebeat/filebeat.yml
    
  3. 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设置为空字符串,表示将解析后的字段添加到原始事件中,而不是创建一个新的字段。

  4. 保存并关闭配置文件。

  5. 重启Filebeat服务以应用更改:

    sudo systemctl restart filebeat
    

现在,Filebeat将会按照你定义的规则对日志文件进行分割,并在每个事件中添加一个新的log_file字段,用于存储分割后的日志文件名。你可以根据需要调整tokenizer表达式以适应你的日志文件名格式。

0