首页主机资讯CentOS上Filebeat集群部署方法

CentOS上Filebeat集群部署方法

时间2026-01-17 10:27:03发布访客分类主机资讯浏览276
导读:架构与前提 在 CentOS 上部署 Filebeat 通常采用“多节点采集 + 中央存储”的模式:在每台业务服务器上运行独立的 Filebeat 实例,将日志统一发送到 Elasticsearch 或 Logstash。Filebeat...

架构与前提

  • CentOS 上部署 Filebeat 通常采用“多节点采集 + 中央存储”的模式:在每台业务服务器上运行独立的 Filebeat 实例,将日志统一发送到 ElasticsearchLogstash。Filebeat 本身是无状态的轻量采集器,所谓“集群”是指多台主机各自运行 Filebeat,配合后端高可用存储实现整体高可用与负载分担。建议至少准备 2–3 台 Filebeat 节点,网络互通、时间同步(NTP),并统一 Filebeat 版本 与配置基线。

安装与系统服务

  • 方式一 YUM 仓库(推荐,便于升级)
    1. 导入 GPG 并添加 Elastic 8.x 仓库;2) 安装 Filebeat;3) 启动并设置开机自启。
    • sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    • sudo tee /etc/yum.repos.d/elasticsearch.repo < < EOF [elasticsearch-8.x] name=Elastic repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
    • sudo yum install -y filebeat
    • sudo systemctl enable --now filebeat
  • 方式二 RPM 手动安装(适合离线环境)
    • wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.3-x86_64.rpm
    • sudo rpm -ivh filebeat-8.11.3-x86_64.rpm
    • sudo systemctl enable --now filebeat
  • 验证:systemctl status filebeat 应显示 active (running);日志路径通常为 /var/log/filebeat/filebeat(RPM 安装)。

统一配置与差异化设置

  • 建议将公共配置抽离为模板,使用 Ansible/Salt 分发;每个节点仅差异化设置 node.name 与必要的元信息。
  • 示例 filebeat.yml(最小可用,按需扩展)
    • filebeat.inputs:
      • type: log enabled: true paths:
        • /var/log/*.log
        • /var/log/nginx/*.log exclude_files: [‘.gz$’] fields: cluster_name: “my_centos_cluster” log_type: “system” fields_under_root: true

        多行示例(Java 堆栈)

        multiline.pattern: ‘^[’

        multiline.negate: true

        multiline.match: after

        multiline.timeout: 5s

    • processors:
      • add_host_metadata: ~
      • add_cloud_metadata: ~
    • output.elasticsearch: hosts: [“es-node1:9200”,“es-node2:9200”,“es-node3:9200”] username: “elastic” password: “your_password” index: “centos-cluster-logs-%{ +yyyy.MM.dd} ” loadbalance: true
    • 可选:输出到 Logstash

      output.logstash:

      hosts: [“logstash1:5044”,“logstash2:5044”]

  • 重要说明
    • Filebeat 没有“主从/集群角色”配置,无需设置类似 cluster.name/node.master 等与 ES 混淆的参数;只需保证各节点 node.name 唯一 即可。
    • 多节点协同与高可用主要依靠:后端 Elasticsearch 集群(建议至少 3 节点 并开启副本)、Filebeat 对 ES 的 多地址轮询/负载均衡、以及 registry 位点持久化 保证断点续传。

高可用与安全加固

  • 高可用与可靠性
    • 后端存储:Elasticsearch 至少 3 节点、副本分片启用,避免单点;Filebeat 指向多个 ES 节点或前置 负载均衡器,并开启 loadbalance: true
    • 数据不丢:确保 registry.path(默认 /var/lib/filebeat/registry)所在目录存在且可写,重启后可从上次位点继续发送;根据峰值酌情调大 queue.mem.events(如 10000)以缓冲网络抖动。
  • 安全加固
    • 启用 TLS/SSL 加密传输(ssl.enabled: true,配置证书与 CA),并为 ES 输出配置 用户名/密码API Key;在公网/跨机房部署时务必开启。

启动、验证与运维

  • 启动与自检
    • 各节点:sudo systemctl enable --now filebeat
    • 查看状态与日志:systemctl status filebeat;tail -f /var/log/filebeat/filebeat
  • 数据验证
    • ES 侧:curl -XGET “http://es-node1:9200/_cat/indices?v& pretty”,应能看到按日生成的索引(如 centos-cluster-logs-2025.09.20)。
    • Kibana:访问 http://kibana-host:5601,创建索引模式 centos-cluster-logs-*,确认各节点日志已入库并可检索。
  • 运维建议
    • 使用 配置管理工具 保证多节点配置一致;为节点设置 统一标签/字段(如 cluster_name)便于多租户/多环境区分。
    • 监控与告警:采集 filebeat.upfilebeat.output.elasticsearch.success 等指标(如 Prometheus + Grafana),当节点宕机或发送失败触发告警。

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


若转载请注明出处: CentOS上Filebeat集群部署方法
本文地址: https://pptw.com/jishu/782697.html
CentOS中Filebeat版本选择指南 CentOS下Filebeat日志轮转如何设置

游客 回复需填写必要信息