温馨提示×

CentOS Filebeat怎么配置

小樊
36
2026-07-20 07:45:12
栏目: 智能运维

下面给你一个在 CentOS 上配置 Filebeat 的完整示例,从安装到常见使用场景(采集日志 → 发送到 Elasticsearch / Logstash)。


一、安装 Filebeat(CentOS 7/8)

1. 使用 RPM 安装(推荐)

# 导入 Elastic GPG 密钥
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# 下载并安装 Filebeat(以 8.x 为例)
sudo yum install -y https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.12.2-x86_64.rpm

版本号可根据需要调整

安装完成后:

filebeat version

二、Filebeat 配置文件位置

/etc/filebeat/filebeat.yml

三、基础配置示例(采集日志 → Elasticsearch)

1. 采集日志路径(inputs)

filebeat.inputs:
  - type: log
    enabled: true
    paths:
      - /var/log/*.log
      - /var/log/nginx/access.log
    fields:
      log_type: system

2. 输出到 Elasticsearch(最常见)

output.elasticsearch:
  hosts: ["http://127.0.0.1:9200"]
  username: "elastic"
  password: "your_password"

如果 Elasticsearch 没开启安全,可去掉 username/password


3. 输出到 Logstash(推荐生产环境)

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

四、示例:采集 Nginx 日志

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

五、启动并设置开机自启

sudo systemctl start filebeat
sudo systemctl enable filebeat

查看状态:

systemctl status filebeat

六、加载 Elasticsearch 索引模板(可选)

filebeat setup --index-management -E output.logstash.enabled=false -E output.elasticsearch.hosts=["localhost:9200"]

七、查看 Filebeat 运行状态

journalctl -u filebeat -f

或:

tail -f /var/log/filebeat/filebeat

八、常见问题排查

1. 日志没采集到

  • 确认 enabled: true
  • 路径是否正确
  • 文件权限是否可读

2. Elasticsearch 无数据

  • 检查 output 配置
  • 查看 filebeat 日志是否有错误

九、最小可用配置示例(总结)

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

output.elasticsearch:
  hosts: ["localhost:9200"]

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ Filebeat 输出到 ES / Logstash / Kafka
  • ✅ 采集什么日志(Nginx / Docker / Java / 自定义)

我可以给你一份完全贴合你环境的配置

0