コンテンツにスキップ

未復旧イベントの照会


照会する前に、イベント関連フィールドの説明 にある 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"
}

フィードバック

このページは役に立ちましたか?