linux

如何通过Filebeat进行故障排查

小樊
42
2025-11-25 01:54:44
栏目: 编程语言

Filebeat故障排查实操指南

一 快速定位流程

二 常见故障与修复要点

三 深入验证与可观测性

四 高频场景速查表

症状 快速检查 修复建议
服务无法启动 systemctl status filebeat、Filebeat 日志报错 运行 filebeat -c ... validate 修正语法;核对 filebeat.inputsoutput 配置
配置路径或权限错误 ls -l 目标日志、/var/log/filebeat/filebeat 报错 确认日志文件存在;调整日志与配置权限(如 chmod 644
无法连接 ES/Logstash curl localhost:9200/_cluster/health 失败 检查网络、端口与防火墙;核对输出地址、端口、认证
采集不到新日志 Filebeat 运行但 ES 无数据 核对 paths 通配符是否匹配新文件;查看 close_inactiveclean_inactive 等状态相关参数
日志轮转后丢事件 轮转后事件突降或文件句柄未释放 启用 close_removed: true,必要时调整 ignore_olderclean_inactive
多行/解析错误 堆栈被拆行、字段解析为空 配置 multiline 合并多行;修正 Grok/Dissect 模式或改用 JSON 解析器

五 最小可用配置模板

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.log
  # 多行示例(按时间开头的堆栈合并)
  # multiline.pattern: '^\d{4}-\d{2}-\d{2}'
  # multiline.negate: true
  # multiline.match: after

# 输出到控制台用于自检
output.console:
  pretty: true

# 正式环境可改为输出到 ES 或 Logstash
# output.elasticsearch:
#   hosts: ["http://elasticsearch:9200"]
# output.logstash:
#   hosts: ["logstash:5044"]

# 提升排障期日志级别
logging.level: debug

将输出切换为 Elasticsearch/Logstash 前,先以控制台输出验证事件结构是否正确。

0
看了该问题的人还看了