未復旧イベントの照会¶
照会する前に、イベント関連フィールドの説明 にある df_monitor_checker_event_ref、df_fault_id、df_status、df_fault_status の各フィールドの説明を確認してください。
1. 照会の入口¶
OpenAPI 未復旧イベント一覧(POST /api/v1/events/abnormal/list)を使用することもできます。この API は、同じ df_monitor_checker_event_ref の直近のイベントのステータスが ok ではないものを一覧表示します。後述の手書き DQL は df_fault_status=fault でフィルタリングするため、必要なステータスの基準に応じて選択してください。
2. クエリステートメント¶
以下のリクエストボディは JSON を使用します。timeRange を実際の照会時間範囲に置き換えてください。サンプルの開始時刻と終了時刻はミリ秒単位です。disable_sampling=true はサンプリングの無効化を意味します。
方法1: 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 グループを取得することを意味します。
方法2: 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. 現在のワークスペースのイベントのストレージエンジンタイプの確認方法¶
API によるワークスペースのストレージ情報の取得¶
API レスポンスの 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"
}