温馨提示×

centos怎样用filebeat收集

小樊
37
2026-10-17 13:59:33
栏目: 智能运维

下面以 CentOS 7/8 为例,说明如何使用 Filebeat 收集日志(常见场景:收集系统日志或应用日志,并发送到 Elasticsearch / Logstash)。


一、安装 Filebeat(CentOS)

方式一:使用 RPM 包(推荐)

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

sudo cat > /etc/yum.repos.d/filebeat.repo <<EOF
[filebeat]
name=Elastic repository for Filebeat
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

如果是 7.x,把 8.x 改成 7.x


二、配置 Filebeat

配置文件路径:

/etc/filebeat/filebeat.yml

示例 1:收集系统日志并发送到 Elasticsearch

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

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

示例 2:收集自定义应用日志并发送到 Logstash

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

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

三、加载默认仪表盘(可选)

sudo filebeat setup

四、启动并设置开机自启

sudo systemctl enable filebeat
sudo systemctl start filebeat

查看状态:

systemctl status filebeat

五、查看日志排查问题

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

六、常见收集场景示例

1️⃣ 收集 Nginx 日志

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

2️⃣ 多行日志(如 Java 异常)

filebeat.inputs:
  - type: log
    paths:
      - /opt/app/app.log
    multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
    multiline.negate: true
    multiline.match: after

七、防火墙注意事项

如果 ES / Logstash 在远程:

firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --reload

如果你告诉我:

  • CentOS 版本
  • Filebeat 版本(7.x / 8.x)
  • 日志来源(系统 / Nginx / Docker / 自定义)
  • 发送到哪里(ES / Logstash / Kafka)

我可以给你一份 可直接用的配置文件。

0 踩