アプリのモニタリングを使用する

このトピックでは、プロバイダーが Snowflake Native App についてコンシューマーアプリの健全性を監視する方法について説明します。

コンシューマーアプリケーションの健全性を監視する

アプリケーションは健全性ステータスをSnowflakeに報告することができ、これによりアプリのコンシューマーインスタンスの健全性を監視することができます。

健全性ステータスを報告するために、アプリはシステム定義の SYSTEM$REPORT_HEALTH_STATUS(VARCHAR) 関数を使用して、健全性ステータスを列挙型値として渡します。

  • OK:コンシューマーインスタンスは正常です。

  • FAILED:コンシューマーインスタンスはエラー状態にあります。

  • PAUSED:コンシューマーは手動でアプリを一時停止しました。

APPLICATION_STATE ビューLAST_HEALTH_STATUS および LAST_HEALTH_STATUS_UPDATED_ON フィールドを使用して、アプリのコンシューマーインスタンスの健全性を監視できます。LAST_HEALTH_STATUS フィールドには、コンシューマーアカウントで実行されているアプリから渡された最新の値があります。

次のコードサンプルは、 APPLICATION_STATE ビューを使用して、アプリのすべてのコンシューマーインスタンスの健全性ステータスを取得していることを示しています。

SELECT
    CONSUMER_ORGANIZATION_NAME,
    CONSUMER_ACCOUNT_NAME,
    LAST_HEALTH_STATUS,
    LAST_HEALTH_STATUS_UPDATE_TIME
FROM
    SNOWFLAKE.ACCOUNT_USAGE.APPLICATION_STATE
WHERE
    PROVIDER_ORG_NAME = '<your_provider_org_name>'
    AND APPLICATION_NAME = '<your_app_name>'
ORDER BY
    LAST_HEALTH_STATUS_UPDATE_TIME DESC;
Copy

上記のクエリは、次のような結果を返す場合があります。

CONSUMER_ORG_NAME    CONSUMER_ACCOUNT_NAME    LAST_HEALTH_STATUS    LAST_HEALTH_STATUS_UPDATE_TIME
------------------   ---------------------    ------------------    -------------------------------
consumer_org_1       consumer_account_1       OK                    2024-01-15 10:30:00.000
consumer_org_2       consumer_account_2       FAILED                2024-01-15 09:45:00.000
consumer_org_3       consumer_account_3       PAUSED                2024-01-14 16:20:00.000