温馨提示×

centos filebeat怎么监控

小樊
52
2026-10-20 11:45:37
栏目: 智能运维

在 CentOS 上用 Filebeat 监控日志,通常分为 安装 → 配置 → 启动 → 验证 几个步骤。下面给你一个实用版教程,以监控本地日志文件并发送到 Elasticsearch / Logstash为例。


一、安装 Filebeat(CentOS 7/8)

方式一:使用 yum 安装(推荐)

sudo yum install -y https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.13.4-x86_64.rpm

版本号可自行替换,例如 7.17.x

安装完成后:

filebeat version

二、配置 Filebeat

1️⃣ 主配置文件

路径:

/etc/filebeat/filebeat.yml

2️⃣ 监控日志文件示例

例如监控:

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

- type: log
  enabled: true
  paths:
    - /var/log/messages

⚠️ Filebeat 7.15+ 推荐使用 filestream


三、输出配置(重要)

✅ 输出到 Elasticsearch

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

✅ 输出到 Logstash

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

四、启动 Filebeat

1️⃣ 测试配置

filebeat test config
filebeat test output

2️⃣ 启动服务

systemctl enable filebeat
systemctl start filebeat

3️⃣ 查看状态

systemctl status filebeat
journalctl -u filebeat -f

五、常见监控场景

✅ 监控多行日志(如 Java 报错)

multiline.pattern: '^\['
multiline.negate: true
multiline.match: after

✅ 按服务分索引

setup.template.name: "nginx"
setup.template.pattern: "nginx-*"

六、常见问题排查

❌ 没有数据?

  • 日志文件是否存在
  • filebeat 是否有权限读日志
ls -l /var/log/nginx/access.log

❌ SELinux 拦截

getenforce
setenforce 0  # 临时关闭

七、示例:完整最小配置

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

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

如果你愿意,我可以:

  • ✅ 帮你写 Nginx / Tomcat / Docker 日志监控配置
  • ✅ 教你 Filebeat + Kibana 可视化
  • ✅ 给你 生产环境最佳实践

你现在是想监控 什么日志?

0 踩