すべてのプロダクト
Search
ドキュメントセンター

Hologres:サーバーレスコンピューティングのモニタリング

最終更新日:Oct 16, 2025

このトピックでは、サービスを安定的かつ効率的に維持するために Hologres サーバーレスコンピューティングをモニタリングする方法について説明します。

モニタリングメトリックの表示

Hologres コンソールにログインして、インスタンスのサーバーレスコンピューティングに関連するメトリックを表示します。詳細については、「CloudMonitor」をご参照ください。

タスクステータスの表示

  • サーバーレスリソースで実行中の SQL タスクを表示します。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
        AND (running_info::json) -> 'current_stage'->>'stage_name' = 'EXECUTE'
  • サーバーレスリソースのキューに入っている SQL タスクを表示します。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
        AND (running_info::json) -> 'current_stage'->>'stage_name' = 'QUEUE'
  • サーバーレスリソースで実行されている特定の SQL タスクのステータスを表示します。

    SELECT
        *,
        (running_info::json) ->> 'computing_resource' AS computing_resource,
        (running_info::json) ->> 'current_stage' AS current_stage
    FROM
        hg_stat_activity
    WHERE 
        query_id = '<query_id>';

履歴タスクのクエリ

説明

hologres.hg_query_log および hologres.hg_serverless_computing_query_log ビューのデータは 1 か月間保持されます。

Hologres V2.1.18 以降、hologres.hg_serverless_computing_query_log ビューを使用して、サーバーレスリソースで実行された履歴タスクをクエリできます。

  • スロークエリログと比較して、このビューには次のフィールドが追加されています:

    • queue_time_ms: SQL クエリがサーバーレスリソースを待機してキューで費やした時間 (ミリ秒)。

    • serverless_allocated_cores: クエリに割り当てられた CU の数。

    • serverless_allocated_workers: クエリに割り当てられたワーカーの数。

    • serverless_resource_used_time_ms: クエリがサーバーレスリソースを使用した時間 (ミリ秒)。

  • extended_info フィールドは追加情報を提供します:

    • serverless_computing_source: サーバーレスリソースで実行される際のクエリの発生元を示します。有効な値:

    • query_id_of_triggered_rerun: serverless_computing_sourcequery_queue_rerun の場合にのみ存在します。再実行されたクエリの元の ID を示します。

Hologres V2.2.7 より前では、hologres.hg_serverless_computing_query_log ビューには、実行時間が 100 ms を超える成功したクエリと、すべての失敗したクエリのみが表示されていました。Hologres V2.2.7 以降、このビューにはサーバーレスコンピューティングで実行されているすべてのクエリが表示されます。

SELECT
    *
FROM
    hologres.hg_serverless_computing_query_log;

COPYCTASINSERT OVERWRITE などの特定のタスクは、スロークエリログに複数のレコードを生成します。これらのレコードには、元の SQL タスクと、その実行中に作成された後続の INSERT 文が含まれます。これらの INSERT 文が、実際にサーバーレスリソースを消費するものです。元のタスクのレコードの trans_id を使用して、INSERT レコードを元のタスクにリンクします。次の例は、このリンクを確立する方法を示しています。

SELECT
    query_id,
    query,
    extended_info
FROM
    hologres.hg_query_log
WHERE
    extended_info ->> 'source_trx' = '<transaction_id>' -- COPY、CTAS、RESHARDING などのタスクのレコードの trans_id フィールドから transaction_id を取得します。
    -- extended_info ->> 'src_query_id' = 'query_id'	-- ストアドプロシージャはトランザクションではないため、query_id フィールドを使用してリンクする必要があります。
    -- query like '%<transaction_id>%'	-- RESHARDING タスクは extended_info フィールドを使用してリンクできません。query フィールドを使用してリンクする必要があります。
ORDER BY
    query_start
;

リソース使用量の表示

アクティブな SQL タスクによって使用されるサーバーレスリソースの合計を表示します。

SELECT
    datname::text as db_name,
    (running_info::json) -> 'current_stage' ->> 'stage_name' AS current_stage,
    SUM(((running_info::json) -> 'current_stage' ->> 'serverless_allocated_cores')::int) AS total_computing_resource,
    count(1) as query_qty
FROM
    hg_stat_activity
WHERE (running_info::json) ->> 'computing_resource' = 'Serverless'
GROUP BY
    1,
    2;

結果セットには次の列が含まれます:

  • db_name: データベース名。

  • current_stage: EXECUTE (実行中) や QUEUE (キューイング中) などのタスクの実行ステージ。

  • total_computing_resource: データベースおよび実行ステージで使用されるサーバーレスリソースの合計。

  • query_qty: SQL クエリの数。