温馨提示×

ubuntu上filebeat的部署步骤是什么

小樊
33
2025-12-28 17:36:07
栏目: 智能运维

Ubuntu 上 Filebeat 部署步骤

一 准备与环境要求

  • 系统建议:Ubuntu 20.04+,网络可访问 Elastic 官方仓库与输出目标(如 Elasticsearch/KafkaIP:Port)。
  • 资源建议:至少 1 核 CPU + 512MB 内存(中等日志量)。
  • 版本兼容:Filebeat 与 Elasticsearch/Kibana 主版本需一致(如 8.x 对 8.x),避免兼容性问题。

二 安装 Filebeat

  • 方式一 APT 仓库安装(推荐)
    1. 更新索引并安装依赖 sudo apt update && sudo apt install -y wget apt-transport-https gnupg
    2. 导入 Elastic GPG 密钥 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    3. 添加 Elastic APT 仓库(将 8.x 替换为你的目标版本) echo “deb https://artifacts.elastic.co/packages/8.x/apt stable main” | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
    4. 安装 Filebeat sudo apt update && sudo apt install -y filebeat
  • 方式二 手动安装 DEB 包 curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.10.0-amd64.deb sudo dpkg -i filebeat-8.10.0-amd64.deb
  • 方式三 Snap 安装(可选) sudo snap install filebeat --classic 配置文件路径为:/var/snap/filebeat/common/etc/filebeat.yml

三 配置 Filebeat

  • 主配置文件路径:/etc/filebeat/filebeat.yml;模块目录:/etc/filebeat/modules.d/
  • 基础配置示例(收集系统日志与 Apache 日志) 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”]
  • 启用预定义模块(简化常见日志采集) sudo filebeat modules enable system sudo filebeat modules enable nginx
  • 高级配置示例
    • 忽略旧文件与排除行 filebeat.inputs:
      • type: log enabled: true paths: [“/var/log/*.log”] ignore_older: 72h exclude_lines: [“^DEBUG”]
    • 多行日志合并(如 Java 堆栈) multiline.pattern: ‘^[^[]’ multiline.negate: true multiline.match: after
    • JSON 日志解析 json.keys_under_root: true json.add_error_key: true
    • 处理器(添加云元数据/脱敏字段) processors:
      • add_cloud_metadata: ~
      • drop_fields: fields: [“password”, “credit_card”]

四 启动与验证

  • 启动服务并设置开机自启 sudo systemctl daemon-reload sudo systemctl enable --now filebeat sudo systemctl status filebeat
  • 查看运行日志 sudo journalctl -u filebeat -f
  • 验证数据是否到达 Elasticsearch curl -X GET “localhost:9200/_cat/indices?v” 若看到以 filebeat- 开头的索引(如 filebeat-8.10.0-2025.10.08),说明采集与输出正常。

五 安全与批量部署建议

  • 安全配置
    • 若 Elasticsearch 启用 SSL/TLS认证,在 output.elasticsearch 中配置 ssl.certificate_authoritiesusername/password 等参数。
    • 确保 Filebeat 对日志文件具备读取权限(如 /var/log/syslog 通常需要 root 权限或以 root 运行)。
  • 批量与自动化
    • 可使用 Shell 脚本Ansible Playbook 封装安装、配置与服务启停,实现一键/批量部署(适合多主机统一管理)。

0