温馨提示×

Filebeat在CentOS上部署步骤是什么

小樊
37
2025-12-17 12:43:59
栏目: 智能运维

在 CentOS 上部署 Filebeat 的标准步骤

一 准备与安装

  • 更新系统与依赖
    • 执行:sudo yum update -y && sudo yum install -y yum-utils
  • 方式一 官方 YUM 仓库安装(推荐)
    • 导入 GPG:sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
    • 创建仓库文件:sudo tee /etc/yum.repos.d/filebeat.repo <<EOF [filebeat] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.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 daemon-reload && sudo systemctl enable --now filebeat
  • 方式二 直接安装 RPM 包
    • 下载并安装(示例版本号按需替换):wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.3-x86_64.rpm && sudo rpm -vi filebeat-7.16.3-x86_64.rpm
  • 验证安装
    • 状态检查:sudo systemctl status filebeat(应显示 active/running)

二 配置 Filebeat

  • 编辑主配置文件
    • 路径:sudo vi /etc/filebeat/filebeat.yml
  • 最小可用配置示例(输出到本机 Elasticsearch)
    • 输入:
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/*.log
      
    • 输出:
      output.elasticsearch:
        hosts: ["localhost:9200"]
      
  • 启用模块(可选,以 Nginx 为例)
    • 启用模块:sudo filebeat modules enable nginx
    • 模块配置目录:/etc/filebeat/modules.d/(按需调整其中的 nginx.yml
  • 配置检查
    • 语法与输出连通性:filebeat test configfilebeat test output

三 常用输出目标配置

  • 输出到 Elasticsearch(基础)
    • 配置:
      output.elasticsearch:
        hosts: ["elasticsearch:9200"]
      
  • 输出到 Elasticsearch(启用认证与 TLS)
    • 配置:
      output.elasticsearch:
        hosts: ["https://your_es_host:9200"]
        username: "your_username"
        password: "your_password"
        ssl.enabled: true
        ssl.certificate: "/etc/pki/tls/certs/filebeat.crt"
        ssl.key: "/etc/pki/tls/private/filebeat.key"
      
  • 输出到 Kafka(高吞吐场景)
    • 配置示例:
      output.kafka:
        enabled: true
        hosts: ["192.168.122.200:9092"]
        topic: "%{[log_topic]}"
        partition.round_robin:
          reachable_only: true
        worker: 2
        required_acks: 1
        compression: gzip
        max_message_bytes: 10000000
      
    • 说明:可通过 fieldsfields_under_root 为日志添加业务标识,然后在 topic 中使用 %{[log_topic]} 动态选择主题

四 启动与验证

  • 启动与自启
    • 启动:sudo systemctl start filebeat
    • 开机自启:sudo systemctl enable filebeat
  • 运行状态与健康检查
    • 服务状态:sudo systemctl status filebeat
    • Filebeat 自身日志:sudo tail -f /var/log/filebeat/filebeat
    • Elasticsearch 索引:确认出现以 filebeat- 开头的索引,例如:curl -X GET "localhost:9200/_cat/indices?v"(若对接 ES)
    • ES 集群健康:curl -X GET "localhost:9200/_cluster/health?pretty"(可选)
  • Kibana 可视化(可选)
    • KibanaDashboard 中查看如 [Filebeat Nginx] Overview ECS 等仪表板,验证数据接入与解析是否正常

五 安全与运维建议

  • 加固传输安全
    • 启用 TLS/SSL(证书与密钥配置见上文),避免明文传输敏感日志。
  • 防火墙放行
    • 若与 Logstash 协同使用常见端口 5044sudo firewall-cmd --permanent --add-port=5044/tcp && sudo firewall-cmd --reload
  • SELinux 策略
    • 如遇采集受限,可临时:sudo setenforce 0;生产环境建议按需配置 SELinux 布尔值或策略,而非直接关闭。
  • 版本选择与仓库
    • 示例命令多为 7.x,如部署 8.x,请将仓库与软件包版本替换为 8.x 对应地址;生产环境建议固定版本并校验 GPGSHA256

0