温馨提示×

Ubuntu Filebeat日志管理技巧

小樊
40
2025-12-15 00:15:36
栏目: 智能运维

Ubuntu 上 Filebeat 日志管理实用技巧

一 定位与查看 Filebeat 自身日志

  • 常见日志路径为 /var/log/filebeat/filebeat.log;使用命令实时查看:sudo tail -f /var/log/filebeat/filebeat.log。如使用 systemd 管理,可用 sudo journalctl -u filebeat.service -f 实时跟踪。若修改了 Filebeat 配置,重启使其生效:sudo systemctl restart filebeat。以上路径与方式适用于 Ubuntu 环境的默认安装。

二 调整 Filebeat 自身日志级别与输出

  • /etc/filebeat/filebeat.yml 中提高日志详细程度,便于排错:
    • 设置:logging.level: debuglogging.to_files: true
    • 指定文件:logging.files.path: /var/log/filebeatname: filebeatkeepfiles: 7permissions: 0644
  • 修改后重启服务:sudo systemctl restart filebeat。当 FilebeatSnap 安装时,配置文件路径为 /var/snap/filebeat/common/etc/filebeat.yml,请相应调整。

三 系统级日志轮转 logrotate 推荐做法

  • /var/log/filebeat/*.log 创建轮转配置 /etc/logrotate.d/filebeat,示例:
    • 配置:
      /var/log/filebeat/*.log {
          daily
          rotate 7
          missingok
          notifempty
          compress
          delaycompress
          sharedscripts
          postrotate
              /usr/bin/filebeat -c /etc/filebeat/filebeat.yml -path.config /etc/filebeat test config >/dev/null 2>&1 && systemctl reload filebeat
          endscript
      }
      
    • 说明:按天轮转、保留 7 份、压缩旧日志;轮转后通过 reload 让 Filebeat 重新打开日志文件,避免句柄占用。
  • 测试与生效:sudo logrotate -f /etc/logrotate.d/filebeat;logrotate 通常由系统 cron 每日自动执行。

四 使用 Filebeat 内置文件输出进行自轮转

  • 若希望由 Filebeat 自行管理输出日志,可在 filebeat.yml 启用 output.file
    • 示例:
      output.file:
        path: "/var/log/filebeat"
        filename: "filebeat-%{+yyyy.MM.dd}.log"
        max_size: 100MB
        max_files: 5
      
    • 说明:按日命名并限制单个文件 100MB、最多 5 个文件。注意此方式仅管理 Filebeat 自身的输出日志,不影响被采集的业务日志。

五 被采集日志的归档与保留策略

  • Filebeat 不负责切割业务日志,切割通常由 rsysloglogrotate 完成;Filebeat 会自动发现并继续读取新文件。
  • 若日志最终写入 Elasticsearch,建议使用 ILM(Index Lifecycle Management) 做热温冷与删除策略,例如按大小或时间 rollover,并在 30 天后自动删除旧索引,示例策略:
    • 策略要点:
      PUT _ilm/policy/logstash-policy
      {
        "policy": {
          "phases": {
            "hot": {
              "actions": {
                "rollover": { "max_size": "50gb", "max_age": "7d" }
              }
            },
            "delete": {
              "min_age": "30d",
              "actions": { "delete": {} }
            }
          }
        }
      }
      
    • 将策略绑定到索引模板或索引生命周期中,以实现自动归档与清理。

0