温馨提示×

centos filebeat怎样监控

小樊
49
2026-10-17 14:03:36
栏目: 智能运维

在 CentOS 上使用 Filebeat 监控日志,一般流程如下(以 Filebeat 监控文件日志并发送到 Elasticsearch / Logstash 为例):


一、安装 Filebeat(CentOS)

1. 使用 RPM 包安装(推荐)

sudo rpm --import https://artifacts.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

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


二、配置 Filebeat 监控日志

1. 编辑配置文件

vi /etc/filebeat/filebeat.yml

2. 配置要监控的日志路径(示例)

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

老版本写法(≤7.x):

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

三、配置输出(Elasticsearch 或 Logstash)

方式 1:直接输出到 Elasticsearch

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

方式 2:输出到 Logstash

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

四、启动并设置开机自启

systemctl enable filebeat
systemctl start filebeat

查看状态:

systemctl status filebeat

五、验证是否监控成功

1. 查看 Filebeat 日志

journalctl -u filebeat -f

2. 测试日志是否产生

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

3. 在 Elasticsearch 中查看

curl -X GET "localhost:9200/_cat/indices?v"

六、常见监控场景示例

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

3. 排除某些文件

exclude_files: ['.gz$']

七、使用 Module(更省事)

例如监控 Nginx:

filebeat modules enable nginx
filebeat setup

配置文件在:

/etc/filebeat/modules.d/nginx.yml

八、常见问题

✅ 没数据?

  • 检查 enabled: true
  • 检查文件路径是否存在
  • 检查 Elasticsearch / Logstash 是否可连通

✅ 权限问题?

chmod 644 /var/log/messages

如果你能告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Filebeat 版本
  • 日志类型(Nginx / Java / 自定义)

我可以给你 更精确的配置示例。

0 踩