温馨提示×

ubuntu上filebeat的部署步骤有哪些

小樊
38
2025-11-15 09:02:31
栏目: 智能运维

Ubuntu 上部署 Filebeat 的标准步骤

一 准备与安装

  • 更新系统并安装依赖
    • 执行:sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
  • 导入 Elastic GPG 密钥(推荐新版 keyring 方式)
    • 执行:wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
  • 添加 Elastic APT 仓库(选择与你的 Elastic Stack 版本一致的 7.x8.x
    • 7.x 示例:echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
    • 8.x 示例:echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
  • 安装 Filebeat
    • 执行:sudo apt update && sudo apt install -y filebeat
  • 备选方式(Snap,适用于 Ubuntu 18.04+
    • 执行:sudo snap install filebeat --classic(配置文件路径与 systemd 服务名与 APT 安装不同,见后文差异)

二 配置 Filebeat

  • 编辑主配置文件
    • APT 安装:sudo nano /etc/filebeat/filebeat.yml
    • Snap 安装:sudo nano /var/snap/filebeat/common/etc/filebeat.yml
  • 启用模块(可选,便于快速采集常见日志)
    • 执行:sudo filebeat modules enable system(启用后可用 sudo filebeat setup 初始化索引模板与仪表板,首次对接 ES/Kibana 时有用)
  • 基本输入示例(采集系统日志与 Apache 日志)
    • 片段:
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/syslog
          - /var/log/apache2/*.log
      
  • 输出示例
    • 输出到 Elasticsearch(开发环境示例)
      output.elasticsearch:
        hosts: ["localhost:9200"]
        index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"
      
    • 输出到 Logstash(常见生产架构)
      output.logstash:
        hosts: ["localhost:5044"]
      
  • 常用优化项(按需添加)
    • 忽略旧文件:ignore_older: 72h
    • 排除含特定关键字的行:exclude_lines: ["^ERROR", "^WARN"]
    • 丰富元数据:processors: - add_cloud_metadata: ~
  • 重要提示
    • 同时只能启用一种输出(Elasticsearch 或 Logstash),避免混用导致数据重复或异常

三 启动与验证

  • 启动与开机自启
    • 执行:sudo systemctl start filebeat && sudo systemctl enable filebeat
  • 查看运行状态与日志
    • 状态:sudo systemctl status filebeat
    • 日志:sudo journalctl -u filebeat -f
  • 验证数据是否到达
    • Elasticsearch 直连:curl -X GET "localhost:9200/_cat/indices?v"curl -X GET "localhost:9200/_search?pretty" -H 'Content-Type: application/json' -d '{ "query": { "match_all": {} } }'
    • Logstash 路径:检查 Logstash 日志(如 /var/log/logstash/logstash-plain.log)是否有来自 Filebeat 的事件

四 常见问题与排查

  • 报错 Unable to locate package filebeat
    • 原因多为未正确添加 Elastic APT 仓库或使用了不匹配的 Ubuntu 版本源。
    • 解决:按“准备与安装”步骤重新导入 GPG 与仓库(注意使用 signed-by7.x/8.x 路径),再执行 sudo apt update 与安装。
  • 配置文件路径与服务差异(APT vs Snap)
    • APT:/etc/filebeat/filebeat.yml,服务名 filebeat
    • Snap:/var/snap/filebeat/common/etc/filebeat.yml,服务名同为 filebeat(但由 Snap 管理,注意权限与路径差异)
  • 首次对接 ES/Kibana 建议
    • 在确保 ES/Kibana 可达的前提下,先启用所需模块并执行 sudo filebeat setup 完成索引模板、ILM 策略与 Kibana 仪表板初始化,再启动采集

0