首页主机资讯如何排查CentOS中Filebeat故障

如何排查CentOS中Filebeat故障

时间2025-12-19 23:33:03发布访客分类主机资讯浏览1210
导读:CentOS 上 Filebeat 故障排查清单 一 快速定位与基础检查 查看服务状态与最近日志 执行:sudo systemctl status filebeat -l 实时看日志:sudo journalctl -xeu fileb...

CentOS 上 Filebeat 故障排查清单

一 快速定位与基础检查

  • 查看服务状态与最近日志
    • 执行:sudo systemctl status filebeat -l
    • 实时看日志:sudo journalctl -xeu filebeatsudo tail -f /var/log/filebeat/filebeat
  • 确认配置文件有效
    • 主配置路径:/etc/filebeat/filebeat.yml
    • 语法校验:sudo yamllint /etc/filebeat/filebeat.yml
  • 核对输入与输出
    • 输入:filebeat.inputs 中的 paths 是否存在且可读
    • 输出:检查 output.elasticsearchoutput.logstashhosts、端口、认证、SSL 等
  • 版本与兼容性
    • 查看版本:filebeat -version
    • Elasticsearch/Logstash 版本需匹配(参考官方兼容矩阵)
  • 资源与端口
    • 资源:top/htop 观察 CPU/内存
    • 端口:是否被占用 sudo netstat -tulpen | grep < 端口>

二 常见故障与修复要点

  • 服务起不来或反复重启
    • journalctl -xeu filebeat 定位具体报错;常见为 YAML 缩进错误、输出 hosts 不可达、证书/认证错误
    • 重置失败状态:systemctl reset-failed filebeat & & systemctl start filebeat
  • 配置与权限
    • 配置文件权限:sudo chmod 644 /etc/filebeat/filebeat.yml
    • 日志文件权限:确保运行用户(常见为 filebeatroot)对目标日志有 读权限
  • 网络与防火墙
    • 连通性测试:telnet logstash-host 5044curl -I http://elasticsearch:9200
    • 防火墙放行(示例):sudo firewall-cmd --add-port=5044/tcp --permanent & & sudo firewall-cmd --reload
  • 日志路径与文件句柄
    • 路径错误:确认 paths 存在且被轮转脚本正确管理
    • 删除旧文件后句柄未释放:在输入中启用 close_removed: true
  • 解析与多行日志
    • JSON 日志:在输入启用 json.* 相关选项,确保 message 字段提取正确
    • 多行堆栈:使用 multiline 正确合并堆栈行,避免事件被拆分

三 到 Elasticsearch 与 Logstash 的端到端验证

  • 到 Elasticsearch
    • 健康检查:curl -X GET "http://< es-host> :9200/_cluster/health?pretty"
    • 索引与数据:curl -X GET "http://< es-host> :9200/_cat/indices?v"_search 检索最近事件
  • 到 Logstash
    • 端口连通:telnet < logstash-host> 5044
    • 自身状态:curl http://< logstash-host> :9600/api/version(确认 Logstash 正常运行)
  • 认证与 SSL
    • 若启用 HTTPS/认证,在 Filebeat 输出中补充 ssl.certificate_authoritiesusername/password 等参数

四 高频场景速查表

现象 快速检查 处理建议
Active: failed journalctl -xeu filebeat 按报错修复 YAML/输出/权限,随后 reset-failed 并启动
permission denied ls -l < 日志文件> ;`ps -ef grep filebeat`
connection refused / timeout telnet < host> < port> curl 核对地址端口、服务是否启动、放行防火墙
illegal configuration / YAML 报错 yamllint filebeat.yml 修正缩进与语法错误
SSL/TLS error 查看 Filebeat 与对端 SSL 配置 补全 CA/证书/启用 ssl 参数
日志不进 ES/无新数据 ES 健康检查;Filebeat 日志;索引列表 核对输出配置、索引生命周期、时间范围查询
多行堆栈被拆分 事件 message 是否含完整堆栈 配置 multiline 正确合并首行与堆栈
删除日志后仍在发送 close_removed 未启用 在输入中启用 close_removed: true
版本不兼容 filebeat -version 与对端版本 对齐 Elastic Stack 版本矩阵

五 最小可用配置模板用于验证

  • 输出到控制台(先排除网络因素)
    • 配置片段:
      filebeat.inputs:
      - type: log
        enabled: true
        paths:
          - /var/log/messages
          - /var/log/*.log
      
      output.console:
        enabled: true
        pretty: true
      
    • 验证:sudo filebeat -e -c /etc/filebeat/filebeat.yml
  • 输出到 Logstash
    • 配置片段:
      output.logstash:
        hosts: ["logstash.example.com:5044"]
      
  • 输出到 Elasticsearch
    • 配置片段:
      output.elasticsearch:
        hosts: ["http://es.example.com:9200"]
        # username: "elastic"
        # password: "changeme"
      
  • 修改后执行:sudo systemctl restart filebeat & & sudo tail -f /var/log/filebeat/filebeat

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何排查CentOS中Filebeat故障
本文地址: https://pptw.com/jishu/776797.html
如何在centos部署tomcat Filebeat采集日志有哪些限制

游客 回复需填写必要信息