首页主机资讯Ubuntu Filebeat如何监控日志

Ubuntu Filebeat如何监控日志

时间2025-12-15 14:10:03发布访客分类主机资讯浏览922
导读:Ubuntu 上部署与配置 Filebeat 监控日志 一 安装与准备 导入 Elastic GPG 并添加 APT 源(以 8.x 为例,按需替换为 7.x): sudo apt update sudo apt install -y...

Ubuntu 上部署与配置 Filebeat 监控日志

一 安装与准备

  • 导入 Elastic GPG 并添加 APT 源(以 8.x 为例,按需替换为 7.x):
    • sudo apt update
    • sudo apt install -y apt-transport-https wget
    • wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor | sudo tee /usr/share/keyrings/elastic-keyring.gpg > /dev/null
    • echo “deb [signed-by=/usr/share/keyrings/elastic-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main” | sudo tee /etc/apt/sources.list.d/elastic-8.x.list > /dev/null
    • sudo apt update & & sudo apt install -y filebeat
  • 配置文件默认路径:/etc/filebeat/filebeat.yml。修改前建议备份:sudo cp /etc/filebeat/filebeat.yml /etc/filebeat/filebeat.yml.bak。

二 配置输入与输出

  • 编辑配置文件:sudo nano /etc/filebeat/filebeat.yml。常用两种输入方式(二选一或混用):
    • 经典 log 输入(适合简单场景与旧版本):
      • filebeat.inputs:
        • type: log enabled: true paths:
          • /var/log/syslog
          • /var/log/auth.log
          • /var/log/**/*.log
    • filestream 输入(Filebeat 7.14+ 推荐,支持多行、状态恢复等):
      • filebeat.inputs:
        • type: filestream id: syslog enabled: true paths:
          • /var/log/syslog
          • /var/log/auth.log
    • 常用处理与过滤(可选):
      • processors:
        • add_host_metadata: ~
        • add_cloud_metadata: ~
        • drop_fields: fields: [“agent.ephemeral_id”, “agent.id”, “ecs.version”]
    • 输出到 Elasticsearch(开发/单机测试):
      • output.elasticsearch: hosts: [“localhost:9200”] index: “filebeat-%{ [agent.version]} -%{ +yyyy.MM.dd} ”
    • 输出到 Logstash(生产常用,便于解析与丰富):
      • output.logstash: hosts: [“logstash.example.com:5044”]
    • 安全传输(如启用 TLS,示例):
      • output.elasticsearch: hosts: [“es.example.com:9200”] ssl.certificate_authorities: [“/etc/filebeat/certs/ca.crt”] ssl.verification_mode: “certificate”
  • 验证配置并启动:
    • sudo filebeat test config -e
    • sudo systemctl enable --now filebeat
    • sudo journalctl -u filebeat -f

三 常见输出目标示例

  • 输出到 Logstash(供后续解析与入库):
    • output.logstash: hosts: [“logstash.example.com:5044”]
    • 在 Logstash 侧创建管道(示例)接收 Beats 并写入 ES:
      • input { beats { port => 5044 } }
      • filter { mutate { remove_field => [“host”] } } # 可按需增减
      • output { elasticsearch { hosts => [“es.example.com:9200”] index => “app-logs-%{ +YYYY.MM.dd} ” } }
  • 输出到 Redis(作为缓冲队列):
    • output.redis: hosts: [“redis.example.com:6379”] key: “filebeat” db: 0 timeout: 5
  • 输出到 Kafka(高吞吐场景):
    • output.kafka: hosts: [“kafka1:9092”,“kafka2:9092”] topic: “filebeat-logs-%{ +yyyy.MM.dd} ” codec.json: pretty: false escape_html: false

四 模块与多行日志

  • 使用内置模块快速采集常见服务日志(自动加载仪表盘与管道):
    • 启用模块:sudo filebeat modules enable system nginx mysql
    • 生成/应用模板与仪表盘(对接 ES 时):sudo filebeat setup -e
    • 模块配置目录:/etc/filebeat/modules.d/,可按需编辑(如 nginx、mysql 日志路径与解析规则)。
  • 多行日志(如 Java 堆栈):
    • 在对应 input 下增加:
      • multiline.type: pattern multiline.pattern: ‘^[[:space:]]’ multiline.negate: true multiline.match: after
  • 权限与路径注意事项:
    • 确保 Filebeat 对日志目录有读取权限(如 /var/log//home/Logs/ 等挂载目录)。
    • 容器/挂载场景需保证宿主机路径与容器内路径正确映射,且权限一致。

五 验证与运维

  • 自检与运行态查看:
    • 配置语法:sudo filebeat test config
    • 输出连通:sudo filebeat test output
    • 服务状态与日志:sudo systemctl status filebeat;sudo journalctl -u filebeat -f
  • 索引与生命周期管理:
    • Filebeat 不负责“归档”,建议配合 Elasticsearch ILM 做滚动与保留(示例策略可按大小/时间滚动,30 天后删除)。
    • 在 Kibana 的 Discover/Stack Management 中查看索引与仪表盘是否正常写入。

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


若转载请注明出处: Ubuntu Filebeat如何监控日志
本文地址: https://pptw.com/jishu/771643.html
如何用Ubuntu Filebeat收集数据 Java程序在Debian上权限问题怎么解决

游客 回复需填写必要信息