首页主机资讯ubuntu filebeat怎样处理日志文件

ubuntu filebeat怎样处理日志文件

时间2025-12-11 14:19:04发布访客分类主机资讯浏览1195
导读:Ubuntu 上 Filebeat 处理日志的完整流程 一 核心概念与职责 Filebeat 是轻量级日志采集器,负责从本地文件读取日志、进行基础处理与发送;它不负责日志轮转与归档。 日志轮转 通常由 logrotate 或应用自身(如...

Ubuntu 上 Filebeat 处理日志的完整流程

一 核心概念与职责

  • Filebeat 是轻量级日志采集器,负责从本地文件读取日志、进行基础处理与发送;它不负责日志轮转与归档。
  • 日志轮转 通常由 logrotate 或应用自身(如 rsyslog)完成;Filebeat 会自动发现并继续读取被轮转后的新文件。
  • 长期保留与归档 建议在 Elasticsearch 侧通过 ILM(Index Lifecycle Management) 或按日索引策略实现。

二 安装与配置文件位置

  • 安装 Filebeat(APT):
    • 更新索引并安装:sudo apt-get update & & sudo apt-get install filebeat
  • 配置文件默认路径:/etc/filebeat/filebeat.yml
  • 常用目录:
    • 运行日志:/var/log/filebeat/filebeat.log
    • 数据目录:/var/lib/filebeat/
  • 服务管理:
    • 启动/开机自启:sudo systemctl start filebeat & & sudo systemctl enable filebeat
    • 查看状态/实时日志:sudo systemctl status filebeatsudo journalctl -u filebeat -f

三 采集与输出配置示例

  • 采集系统日志并发送到 Elasticsearch(按日索引):
    • 配置示例:
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/syslog
          - /var/log/auth.log
      
      output.elasticsearch:
        hosts: ["localhost:9200"]
        index: "filebeat-%{
      [agent.version]}
      -%{
      +yyyy.MM.dd}
      "
      
    • 验证并启动:
      • 校验配置:sudo filebeat test config
      • 启动服务:sudo systemctl restart filebeat
  • 采集系统日志并发送到 Logstash(便于解析与增强):
    • Filebeat 配置:
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/syslog
          - /var/log/auth.log
      
      output.logstash:
        hosts: ["localhost:5044"]
      
    • Logstash 示例(/etc/logstash/conf.d/filebeat.conf):
      input {
       beats {
           port =>
       5044 }
       }
      
      output {
       elasticsearch {
           hosts =>
           ["localhost:9200"] index =>
       "filebeat-logstash-%{
      +yyyy.MM.dd}
      " }
       }
      
      
    • 启动顺序:Logstash → Filebeat(如需 Kibana 仪表盘,可运行 filebeat setup --dashboards

四 多日志按业务拆分索引

  • 通过添加字段并使用条件索引,将不同域名或应用的日志写入不同索引:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/nginx/example.com.access.log
      fields:
        domain: example.com
      fields_under_root: true
    
    - type: log
      enabled: true
      paths:
        - /var/log/nginx/api.example.com.access.log
      fields:
        domain: api.example.com
      fields_under_root: true
    
    output.elasticsearch:
      hosts: ["localhost:9200"]
      indices:
        - index: "example-com-%{
    +yyyy.MM.dd}
    "
          when.equals:
            domain: "example.com"
        - index: "api-example-com-%{
    +yyyy.MM.dd}
    "
          when.equals:
            domain: "api.example.com"
    
  • 说明:也可结合 Logstash 做更复杂的解析与路由,再写入目标索引。

五 轮转归档与保留策略

  • 轮转(由系统完成):
    • 使用 logrotate 管理 Filebeat 自身日志(示例:/etc/logrotate.d/filebeat
      /var/log/filebeat/*.log {
      
          daily
          missingok
          rotate 7
          compress
          notifempty
          create 640 root adm
      }
      
      
    • 测试与生效:sudo logrotate -f /etc/logrotate.d/filebeat
    • 应用日志(如 /var/log/syslog、/var/log/auth.log)通常由 rsyslog 按系统策略轮转,Filebeat 会自动跟踪新文件。
  • 归档与保留(在 Elasticsearch 侧完成):
    • 使用 ILM 管理索引生命周期(示例策略:滚动更新与 30 天后删除)
      PUT _ilm/policy/logstash-policy
      {
      
        "policy": {
      
          "phases": {
      
            "hot": {
      
              "actions": {
      
                "rollover": {
      
                  "max_size": "50gb",
                  "max_age": "7d"
                }
      
              }
      
            }
      ,
            "delete": {
      
              "min_age": "30d",
              "actions": {
      
                "delete": {
      }
      
              }
      
            }
      
          }
      
        }
      
      }
          
      
    • 将策略绑定到索引模板或索引设置中,实现自动滚动与清理。

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


若转载请注明出处: ubuntu filebeat怎样处理日志文件
本文地址: https://pptw.com/jishu/769376.html
ubuntu filebeat能用于实时监控吗 ubuntu filebeat如何配置安全策略

游客 回复需填写必要信息