首页主机资讯ubuntu filebeat日志存储策略

ubuntu filebeat日志存储策略

时间2025-11-17 19:45:04发布访客分类主机资讯浏览778
导读:Ubuntu 上 Filebeat 的日志存储策略 一 策略总览 采集侧(Filebeat 自身日志):使用 logrotate 管理 /var/log/filebeat/filebeat.log,按天轮转、保留7天、压缩归档,避免磁盘被...

Ubuntu 上 Filebeat 的日志存储策略

一 策略总览

  • 采集侧(Filebeat 自身日志):使用 logrotate 管理 /var/log/filebeat/filebeat.log,按天轮转、保留7天、压缩归档,避免磁盘被无限增长。
  • 业务侧(被采集的日志文件):由 logrotate 或应用自身按大小/时间轮转;Filebeat 通过 inode/指纹 跟踪文件,配合 clean_inactive / ignore_older 等参数自动发现新文件并清理过期状态,避免重复采集与状态膨胀。
  • 存储侧(Elasticsearch/Logstash/Redis):在 Elasticsearch 使用 ILM(索引生命周期管理) 做热-温-冷-删除的滚动与过期;若经 LogstashRedis 中转,存储与保留策略在后端落地。Filebeat 本身不负责长期归档与删除。

二 Filebeat 自身日志轮转配置(Ubuntu 推荐 logrotate)

  • 创建轮转配置
    • 新建文件 /etc/logrotate.d/filebeat,内容示例:
      /var/log/filebeat/*.log {
          
          daily
          rotate 7
          compress
          missingok
          notifempty
          create 0640 root root
          postrotate
              # 通知 Filebeat 重新打开日志文件(若使用 filebeat.pid)
              if [ -f /var/run/filebeat/filebeat.pid ];
       then
                  kill -USR1 "$(cat /var/run/filebeat/filebeat.pid)"
              fi
              # 若 systemd 管理且无 pid 文件,可用:systemctl kill -s USR1 filebeat
          endscript
      }
      
      
  • 手动测试与生效
    • 测试:sudo logrotate -f /etc/logrotate.d/filebeat
    • 验证:ls -lh /var/log/filebeat/,应出现按日分割与压缩的旧日志。
  • 说明
    • 若采用 systemd 且未生成 filebeat.pid,可在 postrotate 中使用 systemctl kill -s USR1 filebeat 触发重新打开日志。
    • 不建议仅依赖 Filebeat 内置文件日志的 keepfiles/rotation(版本支持有限且灵活性不足),生产环境优先使用 logrotate

三 被采集日志的采集与保留策略

  • 基本采集示例(/etc/filebeat/filebeat.yml)
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
      # 可按需添加字段、标签、JSON 解析等
    output.elasticsearch:
      hosts: ["localhost:9200"]
      index: "filebeat-%{
    [agent.version]}
    -%{
    +yyyy.MM.dd}
        "
    # 或使用 Logstash/Redis 中转
    # output.logstash: hosts: ["localhost:5044"]
    # output.redis: hosts: ["127.0.0.1:6379"];
     key: "filebeat"
    
  • 状态与过期清理(避免注册表膨胀)
    • 合理设置 clean_inactive(如:24h/48h),清理长时间未更新的文件状态。
    • 结合 ignore_older(如:72h)忽略过久历史文件,减少回溯采集。
    • 使用 close_inactive(如:5m)及时关闭闲置文件句柄,释放资源。
  • 多路径与多类型
    • 为不同业务日志分别配置 pathstags,便于后续在 ILM/索引模板中区分治理。

四 存储与归档策略(Elasticsearch 与中转链路)

  • Elasticsearch ILM 示例(热阶段滚动、30 天后删除)
    PUT _ilm/policy/filebeat-policy
    {
    
      "policy": {
    
        "phases": {
    
          "hot": {
    
            "actions": {
    
              "rollover": {
    
                "max_size": "50gb",
                "max_age": "7d"
              }
    
            }
    
          }
    ,
          "delete": {
    
            "min_age": "30d",
            "actions": {
     "delete": {
    }
     }
    
          }
    
        }
    
      }
    
    }
    
    
    • 将策略绑定到索引模板/索引生命周期中,实现按大小或时间自动滚动与过期删除。
  • 经 Logstash 或 Redis 中转
    • 若输出到 Redis(如:output.redis: { hosts: ["127.0.0.1:6379"], key: "filebeat" } ),Redis 仅做缓冲队列,需在 Logstash 或下游 Elasticsearch 侧设置索引与保留策略。
  • 关键原则
    • Filebeat 不负责长期存储与归档,长期保留、冷热分层、快照与合规删除应在 Elasticsearch/存储后端 实现;中转组件(Logstash/Redis)侧重缓冲与处理。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ubuntu filebeat日志存储策略
本文地址: https://pptw.com/jishu/749257.html
Python在Debian上的机器学习如何应用 ubuntu filebeat日志解析规则

游客 回复需填写必要信息