未恢复事件查询¶
查询前请关注事件相关字段说明 中的df_monitor_checker_event_ref、df_fault_id、df_status、df_fault_status 字段说明。
1. 查询入口¶
也可使用 OpenAPI 未恢复事件列出(POST /api/v1/events/abnormal/list)。该接口按相同 df_monitor_checker_event_ref 的最近一条事件状态不为 ok 列出事件;下文手写 DQL 按 df_fault_status=fault 筛选,请根据所需状态口径选择。
2. 查询语句¶
以下请求体使用 JSON。请将 timeRange 替换为实际查询时间范围;示例起止时间均为毫秒。disable_sampling=true 表示禁止采样。
方式一:having 方式查询(适用于 Doris 引擎)可直接得到结果¶
查询结构¶
{
"queries": [
{
"qtype": "dql",
"query": {
"disableMultipleField": false,
"q": "E::`monitor`:(`__docid`, `df_title`,`df_monitor_checker_event_ref`, `df_fault_id`, `df_status`, `df_fault_status`,`df_fault_start_time`, `df_event_id`) { df_monitor_checker_event_ref = exists() } by `df_monitor_checker_event_ref` having df_fault_status = 'fault' sorder by create_time desc",
"timeRange": [
1724320359294,
1724323959294
],
"align_time": true,
"disable_sampling": true,
"slimit": 100,
"tz": "Asia/Shanghai"
}
}
]
}
其中 slimit=100 表示获取最多 100 个分组。
方式二:非 having 方式查询(非 Doris 引擎)需要过滤筛选¶
查询结构¶
{
"queries": [
{
"qtype": "dql",
"query": {
"disableMultipleField": false,
"q": "E::`monitor`:(`__docid`, `df_title`,`df_monitor_checker_event_ref`, `df_fault_id`, `df_status`, `df_fault_status`,`df_fault_start_time`, `df_event_id`, `create_time`) { df_monitor_checker_event_ref = exists() } by `df_monitor_checker_event_ref` sorder by create_time desc",
"timeRange": [
1724320359294,
1724323959294
],
"align_time": true,
"disable_sampling": true,
"slimit": 1000,
"tz": "Asia/Shanghai"
}
}
]
}
其中 slimit=1000 表示获取最多 1000 个触发对象分组,再按下述方式过滤。
对 DQL 查询结果进行过滤¶
对查询结果中的 df_fault_status 状态进行过滤,过滤出 df_fault_status=fault 的事件。此时这些数据就是未恢复事件列表
最终输出¶
根据 time 字段对数据进行降序排列得出最终的未恢复事件列表。
3. 如何确认当前工作空间事件的存储引擎类型¶
通过接口获取工作空间存储信息¶
接口响应结果中 datastore 存储了当前工作空间内所有基础数据的存储引擎类型(不包括外部索引)。datastore 中 keyevent 的值为 doris 就表明事件数据是 doris 存储引擎。
以下为节选的响应示例:
{
"code": 200,
"content": {
"id": 1,
"uuid": "wksp_xxxxx",
"name": "【Doris】工作空间名",
"versionType": "pay",
"datastore": {
"backup_log": "doris",
"custom_object": "doris",
"keyevent": "doris",
"logging": "doris",
"metric": "guancedb",
"network": "doris",
"object": "doris",
"object_history": "doris",
"profiling": "doris",
"rum": "doris",
"security": "doris",
"tracing": "doris"
}
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "2956247345653191101"
}