温馨提示×

centos filebeat如何监控

小樊
51
2026-09-11 20:58:09
栏目: 智能运维

在 CentOS 上,Filebeat 通常用于监控日志文件(如 /var/log/*.log、Nginx、Java 应用日志等),并把日志发送到 Elasticsearch / Logstash / Kafka。

下面从 安装 → 配置 → 启动 → 验证 一步步说明。


一、安装 Filebeat(CentOS)

1. 使用 RPM 安装(推荐)

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

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

二、配置 Filebeat 监控日志

1. 主配置文件

vi /etc/filebeat/filebeat.yml

2. 基础监控示例(监控系统日志)

filebeat.inputs:
  - type: filestream
    id: syslog
    paths:
      - /var/log/messages
      - /var/log/secure

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

⚠️ 7.x 以后推荐用 filestream
老版本用 log


3. 监控多个应用日志(示例)

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

  - type: filestream
    id: nginx-error
    paths:
      - /var/log/nginx/error.log

  - type: filestream
    id: app-log
    paths:
      - /data/app/logs/*.log

三、输出方式选择

✅ 输出到 Elasticsearch

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

✅ 输出到 Logstash

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

✅ 输出到 Kafka

output.kafka:
  hosts: ["kafka1:9092"]
  topic: logs-topic

四、启动 Filebeat

systemctl enable filebeat
systemctl start filebeat

查看状态:

systemctl status filebeat

五、验证是否监控成功

1. 测试配置文件

filebeat test config

2. 查看日志

journalctl -u filebeat -f

3. 手动生成日志测试

echo "test log" >> /var/log/messages

六、常用监控技巧

✅ 忽略旧日志

scan.at_start: end

✅ 多行日志(Java 异常)

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

✅ 添加字段

fields:
  env: prod
  app: order-service

七、典型架构示例

Filebeat → Logstash → Elasticsearch → Kibana

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

  • CentOS 版本(7 / 8 / Stream)
  • Filebeat 版本
  • 要监控什么日志(Nginx / Docker / Java / 自定义)

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

0 踩