Filebeat在Ubuntu上的使用案例有哪些

作者:袖梨 2026-08-07

Filebeat在Ubuntu上的常见使用案例

Filebeat在Ubuntu上的使用案例有哪些

系统日志集中采集与解析

  1. 使用 Filebeat 的 System 模块统一采集 /var/log/auth.log、/var/log/syslog 等系统日志,借助模块内置的解析器完成字段提取与标准化。
  2. 典型架构:Filebeat → Logstash(可选)→ Elasticsearch → Kibana 展示与告警。
  3. 快速上手:
    1. 启用模块:sudo filebeat modules enable system
    2. 配置输出为 Logstash:在 filebeat.yml 中禁用 Elasticsearch 输出,启用 output.logstash.hosts: [“your_logstash:5044”]
    3. 重启服务:sudo systemctl restart filebeat
    4. Logstash 侧使用 beats 输入并针对 system.auth 等事件做 grok 解析与丰富。

Nginx 访问与错误日志采集

  1. 场景一(传统文本日志):采集 access.log / error.log,在 Filebeat 中定义 paths,直接输出到 Elasticsearch 或经 Logstash 处理;可按业务设置索引名与 ILM 策略。
  2. 场景二(JSON 日志):将 Nginx 日志格式调整为 JSON,在 Filebeat 启用 json.keys_under_root: true 将 JSON 字段提升为顶层,便于检索与分析。
  3. 示例要点:
    1. 文本日志 input 片段:
      1. type: logenabled: truepaths: [“/var/log/nginx/*.log”]tags: [“nginx”]
    2. JSON 日志关键配置:
      1. json.keys_under_root: true
    3. 输出到 ES 可自定义索引名,如:index: “filebeat-nginxlog-base-%{+yyyy.MM.dd}”。

Docker 容器日志采集

  1. 直接读取 Docker 容器日志文件(/var/lib/docker/containers),对容器输出进行结构化采集与转发。
  2. 配置示例:
    1. type: dockercontainers.path: “/var/lib/docker/containers”stream: “all”json.overwrite_keys: truefields:app_name: “your_app_name”
  3. 输出可对接 Elasticsearch 或 Logstash,便于在 Kibana 按容器、镜像、服务维度进行检索与可视化。

多目标输出与缓冲队列

  1. 输出到消息队列(如 Redis)以解耦采集与后端处理,适合高并发与峰值削峰场景。
  2. 配置示例:
    1. output.redis:
      1. hosts: [“localhost:6379”]
      2. key: “filebeat_logs”
  3. 结合 Logstash 从 Redis 消费,进行二次解析、丰富与落库,提升整体可靠性与可扩展性。

部署与运维要点

  1. 安装方式:
    1. APT 安装:导入 Elastic GPG 密钥与仓库后执行 sudo apt-get install filebeat;适合 Ubuntu 20.04/22.04/24.04 等发行版。
  2. 服务管理:
    1. 使用 systemd:sudo systemctl start|enable|status filebeat;排查可用 journalctl -u filebeat -f。
  3. 目录与路径:
    1. 常见配置与数据目录:/etc/filebeat/filebeat.yml、/var/log/filebeat/;自定义数据目录便于多实例与版本并存。
  4. 模块与模板:
    1. 启用模块:sudo filebeat modules enable system(或 nginx 等);必要时执行 filebeat setup 初始化索引模板与仪表板。

相关文章

精彩推荐