温馨提示×

centos下filebeat怎么配置

小樊
48
2026-09-06 01:57:32
栏目: 智能运维

下面以 CentOS 7/8 为例,给你一个从安装到配置的 Filebeat 实战说明(以采集日志并发送到 Elasticsearch / Logstash 为例)。


一、安装 Filebeat(CentOS)

1. 使用官方 RPM 源安装(推荐)

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

sudo cat > /etc/yum.repos.d/filebeat.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

sudo yum install filebeat -y

如果你用的是 Elasticsearch 7.x,把 8.x 改成 7.x


二、Filebeat 主要配置文件

配置文件路径:

/etc/filebeat/filebeat.yml

三、基础配置示例

示例 1:采集日志 → Elasticsearch

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

output.elasticsearch:
  hosts: ["http://192.168.1.10:9200"]
  username: "elastic"
  password: "yourpassword"

示例 2:采集日志 → Logstash(更常见)

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

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

四、常用配置说明

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

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

2. 添加自定义字段

fields:
  env: production
  app: nginx
fields_under_root: true

3. 忽略旧日志

ignore_older: 24h

五、启动 Filebeat

systemctl enable filebeat
systemctl start filebeat

查看状态:

systemctl status filebeat

六、测试配置是否正确

filebeat test config
filebeat test output

七、查看日志排错

journalctl -u filebeat -f
# 或
tail -f /var/log/filebeat/filebeat

八、常见场景

Nginx 日志

paths:
  - /var/log/nginx/*.log

Docker 容器日志

paths:
  - /var/lib/docker/containers/*/*.log

多个服务分别采集

filebeat.inputs:
  - type: log
    paths:
      - /app/a/logs/*.log
    tags: ["app-a"]

  - type: log
    paths:
      - /app/b/logs/*.log
    tags: ["app-b"]

如果你有 具体日志路径 / 发送到哪(ES、Logstash、Kafka) / CentOS 版本,我可以帮你写一份可直接用的 filebeat.yml

0