Filebeat如何进行日志查询
导读: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.name、log.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
} ’
- 最近 15 分钟 ERROR:
- 经由 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.elasticsearch 或 output.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
