Uso do monitoramento para um aplicativo¶
Este tópico descreve como os provedores podem monitorar a integridade do app de consumidor para um Snowflake Native App.
Monitoramento da integridade do aplicativo de consumidor¶
Seu aplicativo pode relatar o status de integridade para o Snowflake, o que permite monitorar a integridade das instâncias de consumidor do seu aplicativo.
Para reportar o status de integridade, seu app usa a função SYSTEM$REPORT_HEALTH_STATUS(VARCHAR) definida pelo sistema, passando o status de integridade como um valor de enumeração:
OK: a instância de consumidor está íntegra.FAILED: a instância de consumidor está em estado de erro.PAUSED: O consumidor pausou o aplicativo manualmente.
Você pode usar os campos LAST_HEALTH_STATUS e LAST_HEALTH_STATUS_UPDATED_ON da exibição APPLICATION_STATE para monitorar a integridade das instâncias de consumidor do seu aplicativo. O campo LAST_HEALTH_STATUS contém o valor mais recente passado pelo app em execução na conta do consumidor.
O exemplo de código a seguir demonstra o uso da exibição APPLICATION_STATE para recuperar o status de integridade de todas as instâncias de consumidor do seu aplicativo:
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;
A consulta anterior pode retornar resultados semelhantes aos seguintes:
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