首页主机资讯Filebeat如何进行日志查询

Filebeat如何进行日志查询

时间2025-11-21 12:14:04发布访客分类主机资讯浏览752
导读:Filebeat日志查询与排查指南 一 查询 Filebeat 自身运行日志 查看本地日志文件 默认路径为:/var/log/filebeat/filebeat.log。常用命令: 查看全部:sudo cat /var/log/file...

Filebeat日志查询与排查指南

一 查询 Filebeat 自身运行日志

  • 查看本地日志文件
    默认路径为:/var/log/filebeat/filebeat.log。常用命令:
    • 查看全部:sudo cat /var/log/filebeat/filebeat.log
    • 实时跟踪:sudo tail -f /var/log/filebeat/filebeat.log
  • 通过 systemd 查看
    • 实时查看:sudo journalctl -u filebeat.service -f
    • 按时间段查看:sudo journalctl -u filebeat.service --since “2025-11-20 00:00:00” --until “2025-11-20 23:59:59
  • 容器化部署
    • Docker:docker logs -f filebeat-container-name
  • 提高日志级别便于排错
    /etc/filebeat/filebeat.yml 中设置:
    logging.level: debug
    logging.to_files: true
    logging.files:
    path: /var/log/filebeat
    name: filebeat
    keepfiles: 7
    permissions: 0644
    修改后重启:sudo systemctl restart filebeat

二 查询 Filebeat 采集并上报的业务日志

  • 使用 Kibana Discover 检索
    若输出到 Elasticsearch,在 Kibana → Discover 选择对应索引模式(如 filebeat-* 或自定义索引),用时间范围、关键词(如 ERROR、服务名)、字段过滤(如 host.namelog.file.path)检索。
  • 直接查询 Elasticsearch
    示例:
    • 最近 15 分钟 ERROR:
      curl -XGET ‘http://:9200/filebeat-*/_search?pretty’ -H ‘Content-Type: application/json’ -d ‘{
      “query”: { “bool”: { “must”: [ { “match”: { “message”: “ERROR” } } , { “range”: { “@timestamp”: { “gte”: “now-15m” } } } ] }
      } ’
    • 按日志文件路径统计:
      curl -XGET ‘http://:9200/filebeat-*/_search?pretty’ -H ‘Content-Type: application/json’ -d ‘{
      “aggs”: { “paths”: { “terms”: { “field”: “log.file.path.keyword”, “size”: 20 } } } ,
      “size”: 0
      } ’
  • 经由 Logstash 时的排查
    查看 Logstash 日志(如 /var/log/logstash/logstash-plain.log)确认是否收到事件、是否存在解析错误;必要时在 Logstash 增加 stdout { codec => rubydebug } 输出以核对事件结构。

三 常见查询场景与命令示例

  • 实时查看 Filebeat 自身日志:sudo tail -f /var/log/filebeat/filebeat.log
  • 查看 Filebeat 服务日志并实时跟踪:sudo journalctl -u filebeat.service -f
  • 按时间段查看服务日志:sudo journalctl -u filebeat.service --since “2025-11-20 00:00:00” --until “2025-11-20 23:59:59
  • 统计服务日志行数:sudo journalctl -u filebeat.service | wc -l
  • 容器内实时查看:docker logs -f filebeat-container-name
  • 在业务日志中快速定位 ERROR:
    • 命令行:grep -i “ERROR” /var/log/filebeat/filebeat.log
    • Elasticsearch:按上文示例查询 message 包含 ERROR 且在最近 15 分钟 的事件。

四 查询不到日志时的排查要点

  • 核对输入路径与权限:确认 filebeat.inputs.paths 正确且 Filebeat 对日志文件有读取权限。
  • 核对输出连通性:确认 output.elasticsearchoutput.logstash 地址、端口、认证信息正确;必要时用 curl/ping 测试连通。
  • 检查配置语法与生效:修改 /etc/filebeat/filebeat.yml 后用 filebeat test config 校验,再重启:sudo systemctl restart filebeat
  • 查看运行状态与资源:确认进程存活(ps/ systemctl status)、资源使用(top/htop)、系统资源限制(ulimit -a)。
  • 打开调试日志:将 logging.level 设为 debug 并观察 filebeat.log 中的采集、发送细节。

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


若转载请注明出处: Filebeat如何进行日志查询
本文地址: https://pptw.com/jishu/753164.html
Debian SSH如何使用SSHFS Filebeat如何进行日志归档

游客 回复需填写必要信息