앱에 모니터링 사용하기¶
이 항목에서는 공급자가 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_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;
앞의 쿼리는 다음과 유사한 결과를 반환할 수 있습니다.
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