首页主机资讯Filebeat如何在Ubuntu上实现实时监控

Filebeat如何在Ubuntu上实现实时监控

时间2025-12-05 11:42:03发布访客分类主机资讯浏览1275
导读:在 Ubuntu 上部署 Filebeat 实现实时监控 一 安装与准备 更新索引并导入 Elastic GPG 密钥: sudo apt update wget -qO - https://artifacts.elastic.co/G...

在 Ubuntu 上部署 Filebeat 实现实时监控

一 安装与准备

  • 更新索引并导入 Elastic GPG 密钥:
    • sudo apt update
    • wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  • 添加 Elastic APT 仓库(以 7.x 为例,可按需替换为你的版本):
    • echo “deb https://artifacts.elastic.co/packages/7.x/apt stable main” | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
  • 安装 Filebeat:
    • sudo apt update & & sudo apt install filebeat
  • 说明:默认配置文件路径为 /etc/filebeat/filebeat.yml;Filebeat 7 的默认输入类型为 filestream(老版本为 log),两者均可用于实时采集。

二 配置实时采集

  • 启用模块(可选,便于解析常见日志,如 system、nginx、apache):
    • sudo filebeat modules enable system
  • 编辑主配置 /etc/filebeat/filebeat.yml,示例一(直接输出到 Elasticsearch):
    • filebeat.inputs:
      • type: log enabled: true paths:
        • /var/log/syslog
        • /var/log/apache2/*.log
    • output.elasticsearch:
      • hosts: [“localhost:9200”]
      • index: “filebeat-%{ [agent.version]} -%{ +yyyy.MM.dd} ”
  • 示例二(输出到 Logstash,适合做解析与过滤):
    • output.logstash:
      • hosts: [“localhost:5044”]
  • 说明:paths 支持 glob 通配;如需采集 Java 多行堆栈,需配置 multiline(见下一节)。

三 启动与验证

  • 启动并设为开机自启:
    • sudo systemctl start filebeat
    • sudo systemctl enable filebeat
  • 查看运行状态与日志:
    • sudo systemctl status filebeat
    • journalctl -u filebeat -f
  • 验证数据是否到达:
    • 直连 ES:curl -X GET “localhost:9200/_cat/indices?v”
    • 使用 Kibana Dev Tools 查询索引或在 Discover 中查看
    • 若走 Logstash:tail -f /var/log/logstash/logstash-plain.log 观察接收情况。

四 常见场景与关键配置

  • 多行日志(Java 异常堆栈等):
    • 在对应 input 下加入:
      • multiline:
        • pattern: ‘^[[:space:]]’
        • negate: true
        • match: after
        • max_lines: 1000
        • timeout: 5s
  • 仅采集新增行(避免重启后重发历史):
    • tail_files: true
    • 注意:该选项对 Filebeat 已处理过的文件不生效;如需对全部文件生效,需先停止 Filebeat 并删除 registry 文件(会丢失历史进度)。
  • 忽略旧文件与按条件筛选:
    • ignore_older: 72h
    • include_lines: [‘^ERR’, ‘^WARN’]
    • exclude_lines: [‘^DEBUG’]
  • 添加元信息便于检索:
    • processors:
      • add_host_metadata: ~
      • add_cloud_metadata: ~
      • add_fields:
        • fields: { service: “myapp”, env: “prod” }
        • fields_under_root: true
  • 性能与可靠性要点:
    • 合理设置 close_older、scan_frequency、backoff 等参数以适配日志轮转与写入速率;Filebeat 具备 反压敏感 发送机制,高负载时会自动降速。

五 安全与集成建议

  • 若 Elasticsearch 启用安全特性(如 X-Pack),在 filebeat.yml 中配置认证:
    • output.elasticsearch:
      • hosts: [“https://es-host:9200”]
      • username: “filebeat_writer”
      • password: “your_password”
      • ssl.certificate_authorities: [“/etc/filebeat/certs/ca.crt”]
  • 与现有系统集成:
    • 通过 Logstash 做字段解析、脱敏与路由,再由 Logstash 输出到 ES 或其他存储;确保 Logstash 输入为 beats { port => 5044 } 与 Filebeat 输出一致。

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


若转载请注明出处: Filebeat如何在Ubuntu上实现实时监控
本文地址: https://pptw.com/jishu/764563.html
Ubuntu Filebeat的性能调优技巧有哪些 Filebeat在Ubuntu上的安装步骤是什么

游客 回复需填写必要信息