| name | kql-query-guide |
| description | 蓝鲸作业平台日志查询专家。当需要:(1) 编写 KQL 查询语句查询作业执行日志,(2) 排查任务执行失败问题,(3) 分析 GSE/CMDB 调用问题,(4) 查看任务完整链路日志时使用。提供 KQL 语法指导和常用查询模板。 |
| license | Apache-2.0 |
KQL Query Guide - 日志查询语句编写指导
帮助用户正确编写 KQL (Kibana Query Language) 查询语句,用于蓝鲸作业平台的日志查询。
核心原则
使用正确的 KQL 语法和字段名,结合业务场景选择合适的查询条件。
快速开始
基础查询模板
request_id: "{request_id}"
request_id: "{request_id}" AND level: ERROR
request_id: "{request_id}" AND path: "*gse.log*"
request_id: "{request_id}" AND path: "*cmdb.log*"
使用脚本生成查询语句
python3 scripts/generate_kql.py --request-id "b02df4aec7bd263a9b4f727eb605fad9"
python3 scripts/generate_kql.py --request-id "b02df4aec7bd263a9b4f727eb605fad9" --level ERROR
python3 scripts/generate_kql.py --request-id "b02df4aec7bd263a9b4f727eb605fad9" --service gse
python3 scripts/generate_kql.py --request-id "b02df4aec7bd263a9b4f727eb605fad9" --service cmdb
KQL 语法要点
1. 字段查询
字段名: "值"
常用字段:
request_id - 请求 ID(任务执行的唯一标识)
level - 日志级别(ERROR, WARN, INFO, DEBUG)
path - 日志文件路径
message - 日志消息内容
logger - 日志记录器名称
2. 组合查询
使用 AND 连接多个条件:
条件1 AND 条件2 AND 条件3
3. 通配符匹配
使用 * 进行模糊匹配:
path: "*cmdb.log"
message: "*timeout*"
常见查询场景
场景 1:排查任务执行失败
步骤:
- 先查询错误日志定位问题
- 根据错误信息决定是否需要查看 GSE/CMDB 调用日志
查询语句:
request_id: "{request_id}" AND level: ERROR
场景 2:分析 GSE 调用问题
适用情况:
查询语句:
request_id: "{request_id}" AND path: "*gse.log*"
场景 3:分析 CMDB 调用问题
适用情况:
查询语句:
request_id: "{request_id}" AND path: "*cmdb.log*"
场景 4:查看任务完整链路
适用情况:
查询语句:
request_id: "{request_id}"
服务日志路径
| 服务名 | GSE 日志路径 | CMDB 日志路径 |
|---|
| job-execute | /data/logs/job-execute/gse.log | /data/logs/job-execute/cmdb.log |
| job-manage | - | /data/logs/job-manage/cmdb.log |
| job-backup | - | /data/logs/job-backup/cmdb.log |
| job-crontab | - | /data/logs/job-crontab/cmdb.log |
| job-file-gateway | /data/logs/job-file-gateway/gse.log | - |
| job-logsvr | - | - |
详细说明:查看 bk-job-log-paths.md
查询参数配置
timeRange(时间范围)
1d - 最近 1 天(默认)
1h - 最近 1 小时
15m - 最近 15 分钟
7d - 最近 7 天(最大)
size(返回条数)
10 - 默认值
50 - 推荐用于详细分析
100 - 最大值(避免返回过多数据)
asc(排序方式)
false - 降序(默认,最新日志在前)
true - 升序(最早日志在前,适合查看任务启动阶段)
最佳实践
- 先查错误,再查详情:优先使用
level: ERROR 定位问题
- 合理设置时间范围:根据任务执行时间选择合适的
timeRange
- 控制返回数量:使用
size 参数避免返回过多日志
- 使用升序查看启动日志:排查启动阶段问题时设置
asc: true
- 组合查询精确定位:使用
AND 组合多个条件缩小范围
注意事项
⚠️ 重要提醒:
- 引号使用:
request_id 的值必须用双引号包裹
- 大小写敏感:字段名和关键字(如
AND、ERROR)需要注意大小写
- 路径精确匹配:
path 字段需要完整的日志文件路径
- 避免过大查询:不要在没有
request_id 的情况下查询所有日志
- 时间范围限制:最大支持查询 7 天内的日志
示例库
查看更多查询示例:examples/common-queries.md
相关工具
- MCP 工具:
searchLogsByCondition - 执行日志查询
- MCP 工具:
searchRequestIdByStepInstanceId - 通过步骤实例 ID 查询 request_id