在CentOS系统中,Filebeat默认会自动处理日志文件的分割。但是,如果你想要自定义日志分割的行为,可以通过修改Filebeat的配置文件来实现。以下是一些关于如何在CentOS上配置Filebeat进行日志分割的方法:
filebeat.yml配置文件打开配置文件:
sudo vi /etc/filebeat/filebeat.yml
配置日志路径和文件名: 确保你已经指定了正确的日志路径和文件名。例如:
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
  ignore_older: 72h
配置日志分割:
Filebeat使用rotatelogs工具来处理日志分割。你可以在filebeat.yml中配置rotatelogs参数来自定义分割行为。例如:
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
  ignore_older: 72h
  processors:
  - add_cloud_metadata: ~
  fields_under_root: true
  fields:
    log_type: "myapp"
  output.elasticsearch:
    hosts: ["localhost:9200"]
  setup.template.name: "filebeat"
  setup.template.pattern: "filebeat-*"
  setup.template.enabled: false
  setup.ilm.enabled: false
  setup.kibana:
    host: "localhost"
    port: 5601
  # 配置日志分割
  log:
    to_files: true
    files:
      rotation:
        period: 24h
        count: 7
        size: 100MB
在上面的配置中:
rotation.period:日志文件分割的时间间隔,例如每天(24h)。rotation.count:保留的日志文件数量。rotation.size:每个日志文件的最大大小。logrotate工具如果你更喜欢使用logrotate工具来管理日志分割,可以按照以下步骤操作:
创建或编辑logrotate配置文件:
sudo vi /etc/logrotate.d/filebeat
添加以下内容:
/var/log/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 640 root adm
}
在上面的配置中:
daily:每天分割日志。rotate 7:保留7天的日志文件。compress:压缩旧的日志文件。delaycompress:延迟压缩,直到下一次分割。missingok:如果日志文件不存在,不会报错。notifempty:如果日志文件为空,不进行分割。create 640 root adm:创建新的日志文件时的权限和所有者。无论你使用哪种方法配置日志分割,都需要重启Filebeat服务以使更改生效:
sudo systemctl restart filebeat
通过以上方法,你可以在CentOS系统上自定义Filebeat的日志分割行为。选择适合你需求的方法进行配置即可。