앱에 모니터링 사용하기

이 항목에서는 공급자가 Snowflake Native App 에 대한 컨슈머 앱 상태를 모니터링하는 방법에 대해 설명합니다.

컨슈머 애플리케이션 상태 모니터링하기

애플리케이션은 Snowflake에 상태를 보고할 수 있으며, 이를 통해 앱의 컨슈머 인스턴스 상태를 모니터링할 수 있습니다.

상태를 보고하기 위해 앱은 시스템 정의 SYSTEM$REPORT_HEALTH_STATUS(VARCHAR) 함수를 사용하여 상태를 열거형 값으로 전달합니다.

  • OK: 컨슈머 인스턴스가 정상입니다.

  • FAILED: 컨슈머 인스턴스가 오류 상태에 있습니다.

  • PAUSED: 컨슈머가 앱을 수동으로 일시 중지했습니다.

APPLICATION_STATE 뷰</sql-reference/data-sharing-usage/application-state-view>`의 :code:`LAST_HEALTH_STATUSLAST_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