温馨提示×

ubuntu filebeat能否支持远程日志采集

小樊
42
2025-12-26 18:55:06
栏目: 智能运维

可行性与总体架构 支持。常见做法是在每台需要采集的 Ubuntu 主机上安装 Filebeat,读取本机日志文件后,直接发送到集中端的 Elasticsearch 或经由 Logstash 中转;也可在集中端用 **Logstash 的 Beats 输入插件(默认端口 5044)**接收多台主机的日志。为便于识别来源,建议在采集端为事件添加如 host 等字段标记。若出于统一配置与管控考虑,也可将日志目录通过 NFS/Samba/SSHFS 挂载到采集端本地后由 Filebeat 读取。

快速实现步骤

  • 在 Ubuntu 上安装 Filebeat(APT 方式示例):更新索引、添加 Elastic GPG 密钥、添加 APT 仓库(选择与 ES 一致的 7.x/8.x 主版本)、安装包。完成后配置文件默认位于 /etc/filebeat/filebeat.yml
  • 配置采集输入(示例为系统与应用日志):
    • filebeat.inputs:
      • type: log enabled: true paths:
        • /var/log/syslog
        • /var/log/apache2/*.log fields: {host: “remote-server-ip”} # 标记来源主机
  • 配置输出目标:
    • 直连 Elasticsearch(示例):
      • output.elasticsearch:
        • hosts: [“your_es_host:9200”]
        • index: “filebeat-%{[agent.version]}-%{+yyyy.MM.dd}”
    • 或输出到 Logstash(示例):
      • output.logstash:
        • hosts: [“your_logstash_host:5044”]
  • 启动与验证:
    • 启动服务:sudo systemctl start filebeat && sudo systemctl enable filebeat
    • 查看运行日志:sudo journalctl -u filebeat -f
    • 在 ES 或 Kibana 检查是否生成以 filebeat-* 为前缀的索引与数据。

常见方案对比

方案 网络与端口 适用场景 优点 注意点
Filebeat 直连 ES 到 ES 的 9200 架构简单、日志直写 部署快、链路短 需开启 ES 安全与认证;证书校验要正确
Filebeat → Logstash → ES Filebeat 到 Logstash 5044;Logstash 到 ES 9200 需要过滤、脱敏、路由、丰富处理 处理逻辑灵活 多一跳网络与组件,需保障 Logstash 稳定性
挂载远程日志目录后采集 采集端本地读取挂载点 无法在远端安装 Filebeat 时的折中 不改远端系统服务 依赖共享存储可靠性与权限;注意文件句柄与轮转

安全与运维要点

  • 版本兼容:Filebeat 与 Elasticsearch/Kibana 主版本需一致(如均为 7.x8.x),避免兼容性问题。
  • 加密与认证:生产环境启用 TLS/SSL(如 ssl.verification_mode: full、配置 CA/客户端证书),并为 ES/Logstash 配置 用户名/密码或 API Key,在 Filebeat 输出中对应设置。
  • 网络与防火墙:仅放通必要端口(如 9200/5044),并对来源 IP 做白名单限制(如 ufw)。
  • 权限与运行账户:确保 Filebeat 对日志文件具备读取权限;可使用非 root 专用账户运行。
  • 多租户与可观测性:用 fields/tags 标记来源;在 Kibana 创建 filebeat-* 索引模式查看数据;必要时使用 Filebeat 模块与 setup 命令加载仪表板与索引生命周期管理。

0