温馨提示×

CentOS如何部署Filebeat

小樊
57
2026-07-08 17:09:23
栏目: 智能运维

下面是在 CentOS 7 / 8 上部署 Filebeat(Elastic Stack 的日志采集器) 的完整流程,适用于 RPM 包方式,也是官方推荐方式。


一、环境准备

1. 系统要求

  • CentOS 7 或 CentOS 8
  • root 或 sudo 权限
  • 网络可访问 Elasticsearch / Logstash

2. 确认 Java(可选)

Filebeat 不需要 Java,如果你只是采集日志并发送到 ES 或 Logstash,可直接跳过。


二、安装 Filebeat

方式一:使用 Elastic 官方 RPM 仓库(推荐)

1️⃣ 导入 GPG 密钥

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

2️⃣ 创建 YUM 仓库

sudo tee /etc/yum.repos.d/elastic.repo <<EOF
[elastic-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

如果你需要 7.x 版本,把 8.x 改成 7.x

3️⃣ 安装 Filebeat

sudo yum install filebeat -y

方式二:手动下载 RPM(离线环境)

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.12.0-x86_64.rpm
sudo rpm -ivh filebeat-8.12.0-x86_64.rpm

三、配置 Filebeat

1. 主配置文件

sudo vi /etc/filebeat/filebeat.yml

2. 基本配置示例(发送到 Elasticsearch)

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
    - /var/log/messages

output.elasticsearch:
  hosts: ["http://192.168.1.10:9200"]

# 可选:指定索引生命周期
setup.ilm.enabled: false
setup.template.name: "filebeat"
setup.template.pattern: "filebeat-*"

3. 发送到 Logstash(常见)

output.logstash:
  hosts: ["192.168.1.20:5044"]

四、加载 Kibana 仪表板(可选)

sudo filebeat setup -e \
  -E output.logstash.enabled=false \
  -E output.elasticsearch.hosts=["http://192.168.1.10:9200"] \
  -E setup.kibana.host="http://192.168.1.10:5601"

五、启动并设置开机自启

sudo systemctl enable filebeat
sudo systemctl start filebeat

查看状态

systemctl status filebeat

六、常用排查命令

查看日志

journalctl -u filebeat -f

测试配置文件

filebeat test config

测试输出连通性

filebeat test output

七、常见场景示例

1. 采集 Nginx 日志

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
    - /var/log/nginx/error.log

2. 多行日志(如 Java 异常)

multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after

八、常见问题

❌ Filebeat 启动失败

  • 检查 YAML 缩进
  • 检查 ES / Logstash 端口是否通
  • 查看 journalctl -u filebeat

❌ 收不到日志

  • 确认 enabled: true
  • 路径是否正确
  • 是否有权限读取日志文件

九、总结

CentOS 部署 Filebeat 核心步骤:

  1. 添加 Elastic YUM 源
  2. 安装 Filebeat
  3. 修改 /etc/filebeat/filebeat.yml
  4. 启动并设置开机自启

如果你需要:

  • Filebeat → Kafka
  • Filebeat → Elasticsearch + Kibana
  • 多节点部署
  • 安全认证(用户名密码 / TLS)

可以直接告诉我你的架构,我可以给你定制配置。

0