Alertas na Snowsight¶
Você pode configurar alertas para recursos do Snowflake na Snowsight. Essa interface de usuário simplifica a forma de monitorar sua conta Snowflake.
Em vez de executar instruções SQL para criar e gerenciar alertas, você pode usar assistentes na Snowsight para criar, gerenciar e monitorar seus alertas.
O recurso de gerenciamento de alertas na Snowsight oferece os seguintes benefícios:
Visibilidade centralizada de alertas: no Snowflake Alerts Center, você pode visualizar todos os alertas, assim como o histórico e o status de execução deles.
Modelos para criação de alertas: você pode criar alertas rapidamente para os seguintes recursos usando os modelos de alerta fornecidos na UI do Snowflake Alerts. Nota: quando um alerta é gerado com base em um modelo, ele é equivalente a qualquer outro alerta no que diz respeito ao gerenciamento do ciclo de vida e não contém propriedades especiais
Monitoramento proativo dos recursos do Snowflake: é possível facilmente configurar notificações para falhas, latência ou anomalias de dados para garantir que seus pipelines e orçamentos continuem íntegros.
Pré-requisitos¶
Para usar a Snowsight para criar, monitorar e gerenciar alertas, é necessário atender aos seguintes pré-requisitos:
Pré-requisitos para alertas de tarefas¶
Se você planeja criar, gerenciar e monitorar alertas de :doc:` tarefas</user-guide/tasks-intro>`, você deve fazer o seguinte:
Defina o nível de gravidade das mensagens registradas que você quer capturar para eventos de tarefa.
Os alertas de tarefas monitoram mensagens de erro registradas na tabela de eventos. Você deve definir o parâmetro LOG_LEVEL para pelo menos o status
ERRORdas tarefas que você quer monitorar. Você pode definir esse parâmetro em um dos seguintes tipos de objetos:Para definir o nível de gravidade como ERROR em todos os objetos da conta (incluindo tarefas), execute ALTERACCOUNTSETLOG_LEVEL:
Nota
Essa configuração também afeta as mensagens registradas por UDFs, procedimentos armazenados e tabelas dinâmicas.
Para definir o nível de gravidade como ERROR em todos os objetos em um banco de dados com tarefas, execute:doc:
ALTERDATABASE …SETLOG_LEVEL</sql-reference/sql/alter-database>:Nota
Essa configuração também afeta as mensagens registradas por UDFs, procedimentos armazenados e tabelas dinâmicas nesse banco de dados.
Para definir o nível de gravidade como ERROR para tarefas específicas, execute ALTERTASK …SETLOG_LEVEL:
Verifique os privilégios concedidos à função que você quer usar para acessar a Snowsight.
Essa função deve receber os privilégios para consultar Exibição TASK_HISTORY e Exibição QUERY_HISTORY no esquema ACCOUNT_USAGE.
Para obter mais informações, consulte Habilitando outras funções para usar esquemas no banco de dados SNOWFLAKE.
Pré-requisitos para alertas do Openflow¶
Os alertas do :doc:` Openflow</user-guide/data-integration/openflow/about>` monitoram eventos registrados em uma tabela de eventos. Certifique-se de que o Openflow esteja configurado para registrar eventos em log. Para mais informações, consulte as seções a seguir:
Configuração de uma tabela de eventos para registrar em log os eventos do Openflow (obrigatório) (se você estiver usando o Openflow BYOC)
[Opcional] Configurar uma tabela de eventos específica do Openflow (se você estiver usando o Openflow Snowflake)
Pré-requisitos para alertas de qualidade de dados¶
Certifique-se de que as funções de métricas de dados (DMF) estão registradas e em execução nas tabelas e visualizações que você quer monitorar.
Para obter mais informações, consulte Usar SQL para configurar funções de métricas de dados.
Configuração de notificações para alertas¶
Ao criar um alerta na Snowsight, é possível configurar o alerta para enviar uma notificação por e-mail ou um webhook.
Para enviar notificações, é necessário usar uma integração de notificação. Você pode usar uma integração de notificação que já existe ou criar uma nova:
Para encontrar as integrações de notificação existentes, execute SHOW NOTIFICATION INTEGRATIONS e use o operador de canal para filtrar os resultados:
Para criar uma nova integração de notificação por e-mail, consulte:doc:
/user-guide/notifications/email-notifications.Para criar uma nova integração de notificação com webhook, consulte CREATE NOTIFICATION INTEGRATION (webhooks).
Criação de uma função para acessar alertas na Snowsight¶
Para permitir que outros usuários diferentes do administrador da conta acessem alertas na Snowsight, você pode criar uma função personalizada que tenha recebido todos os privilégios necessários para criar, gerenciar e monitorar alertas. Você pode conceder essa função a usuários e outras funções que precisam usar alertas na Snowsight.
Por exemplo, suponha que você queira criar uma função chamada my_alert_center_role para esse fim. Para criar essa função, siga estas etapas:
Alterne para uma função que tenha permissão para criar sua função personalizada (por exemplo, ACCOUNTADMIN):
Crie sua função personalizada:
Conceda o privilégio USAGE ao warehouse que você planeja usar ao acessar alertas na Snowsight. Você deve conceder esse privilégio porque alguns dos recursos exigem um warehouse ativo.
Conceda os privilégios para executar alertas à função:
Se você quiser criar alertas que usam um warehouse específico para execução, conceda os seguintes privilégios a essa função:
Privilégio EXECUTE ALERT na conta
Privilégio USAGE no warehouse que você quer usar para o alerta
Por exemplo:
Se você quiser criar um alerta sem servidor, conceda o privilégio EXECUTEMANAGEDALERT na conta:
Conceda os privilégios necessários para criar alertas em um banco de dados e esquema.
Por exemplo, se você quiser criar os alertas em um banco de dados chamado
my_alerts_databasee em um esquema chamadamy_alert_schema, conceda o privilégio USAGE nesse banco de dados e esquema e concede o privilégio CREATEALERT no esquema:Conceda o privilégio USAGE na integração de notificação por e-mail que você configurou antes:
Conceda a função de aplicativo que permite acesso à tabela de eventos padrão:
Se você quiser configurar alertas de monitoramento da qualidade dos dados, conceda ao aplicativo a função e os privilégios necessários para monitorar a qualidade dos dados e executar funções de métricas de dados:
Conceda a função personalizada aos usuários ou outras funções:
Acesso a alertas na Snowsight¶
Para acessar alertas na Snowsight:
Faça login no Snowsight.
No menu de navegação, selecione Monitoring » Alerts.
Você pode ver uma lista de alertas existentes e filtrá-los pelo nome e status do alerta. Você também pode ver o status das execuções recentes de alertas.
Criação de um novo alerta¶
Você pode criar um novo alerta usando um dos modelos fornecidos. Para criar um alerta, siga estas etapas:
Faça login no Snowsight.
No menu de navegação, selecione Monitoring » Alerts e depois + Alert.
No campo Name, insira um nome para o alerta.
No campo Description, descreva a finalidade do alerta.
A partir do menu Location, escolha o banco de dados e o esquema em que você quer criar o alerta.
No menu Compute Type, escolha uma das seguintes opções:
Para criar um alerta sem servidor, escolha Serverless.
Para especificar o warehouse que você quer usar para o alerta, escolha Warehouse.
Se você selecionou essa opção, escolha o warehouse no menu Warehouse.
Se quiser ativar o alerta depois que ele for criado, selecione Activate alert upon creation.
Se você não selecionar esta opção, o alerta que acabou de ser criado será suspenso. Você deve retomar o alerta para ativá-lo.
Selecione Next.
No menu Select warehouse, escolha o warehouse que você quer usar para o alerta.
No menu Alert template, escolha um dos grupos de modelos para recursos do Snowflake e escolha o modelo que você quer usar para criar o alerta.
A tabela a seguir lista os grupos e modelos que você pode escolher.
Grupo de modelos
Modelo
Descrição
DATA_QUALITY
Anomaly detection alert
Monitores de anomalias detectadas em métricas de qualidade de dados, que acionam um alerta quando padrões ou exceções incomuns são identificados.
Expectation violations alert
Monitores de violações de expectativas de qualidade de dados, que acionam um alerta quando as expectativas definidas são violadas.
OPENFLOW
High CPU alert
Monitora pods de tempo de execução do Openflow para alto uso constante de CPU (>90%), o que pode indicar uma degradação potencial do desempenho.
Connector backpressure (object count)
Monitora a contagem da fila do conector para determinar se ele excede o limite de backpressure, o que pode indicar que o sistema downstream não consegue acompanhar a taxa de fluxo de dados.
Connector backpressure (bytes)
Monitora os bytes enfileirados do conector para determinar se ele excede o limite de backpressure, o que pode indicar que há pressão de memória no pipeline de dados.
High queued bytes alert
Monitora os bytes da fila do conector para determinar se ele está próximo do limite de backpressure (>80%), o que pode gerar um aviso antes que a backpressure seja acionada.
High queued count alert
Monitora a contagem de objetos da fila do conector para determinar se ele está próximo do limite de backpressure (>80), o que pode gerar um aviso antes que a backpressure seja acionada.
No data alert
Monitora conectores que tenham um tempo de processamento ativo, mas que não estejam recebendo ou enviando dados, o que pode indicar possíveis problemas no fluxo de dados.
Runtime high error rate alert
Monitora os processadores de tempo de execução do Openflow para verificar se há um alto volume de logs com nível de gravidade ERROR, o que pode indicar falhas no processamento.
Table replication failure alert
Monitores de transições de replicação de tabela para um estado FAILED, o que pode indicar problemas críticos de sincronização de dados.
TASKS
Error rate alert
Aciona um alerta quando a taxa de erro cumulativa da tarefa excede um limite especificado.
Preencha os campos de configuração do alerta. Os campos dependem do modelo escolhido.
Selecione o escopo que você quer monitorar. O escopo determina os objetos monitorados para o alerta. Por exemplo, para monitorar todos os objetos da conta, escolha Account do menu Scope.
No menu Schedule, escolha o tipo de cronograma que você quer usar para executar o alerta:
Para executar o alerta somente quando novos objetos forem adicionados (por exemplo, quando novas linhas forem inseridas em uma tabela que você está monitorando), selecione When new events are detected.
Para executar o alerta em um cronograma regular e selecionar a frequência (por exemplo, a cada 10 minutos), selecione On a schedule.
No menu Notification integration, escolha a integração de notificação que você criou antes. Você pode usar uma integração de e-mail ou uma :doc:` integração de webhook</sql-reference/sql/create-notification-integration-webhooks>`.
Se você tiver selecionado uma integração de e-mail, no menu Email recipients, escolha os endereços de e-mail das pessoas que devem ser notificadas quando o alerta for acionado.
Selecione Create.
Nota
O assistente de modelo gera as instruções SQL para criar o alerta. Caso queira personalizar ainda mais o alerta, você poderá modificar essas instruções diretamente.
O alerta só fica visível se sua função atual tiver o privilégio MONITOR ou OWNERSHIP no alerta.
Visualização dos detalhes de um alerta¶
Para ver os detalhes de um alerta específico, selecione a linha do alerta na lista. A Snowsight abrirá a página de detalhes do alerta, com as seguintes informações:
Histórico de execuções recentes: uma tabela de execuções recentes do alerta, incluindo o horário de conclusão, o status (por exemplo, Triggered ou Condition not met), a condição e a ação SQL que foi executada, assim como os IDs de consulta correspondentes. Você pode filtrar por intervalo de tempo e status, assim como carregar execuções adicionais.
Descrição: comentário ou descrição definida no alerta.
Detalhes: metadados sobre o alerta, incluindo o nome do alerta, status (iniciado ou suspenso), função de proprietário, banco de dados, esquema, warehouse e cronograma.
Condição: a instrução SQL que representa a condição do alerta. Esse é o bloco
IF(EXISTS(...))do alerta.Ação: a instrução SQL que o alerta é executado quando a condição é atendida. Esse é o bloco
THENdo alerta.
Monitoramento das execuções de alertas¶
Na tabela de histórico de execuções recentes na página de detalhes do alerta, a coluna Status mostra o estado de cada execução. Os estados possíveis incluem:
Triggered: a condição foi avaliada como TRUE e a ação foi executada.
Condition not met: a condição foi avaliada como FALSE e nenhuma ação foi tomada.
Para uma lista completa dos estados possíveis e seus significados, consulte a coluna STATE em ALERT_HISTORY.
Para investigar uma execução com falha, verifique as colunas Condition query ID e Action query ID. Você pode usar esses IDs de consulta para procurar o SQL_ERROR_CODE e a SQL_ERROR_MESSAGE da execução em ALERT_HISTORY, que fornecem o código de erro específico e uma descrição do que deu errado.
Edição de um alerta¶
Para editar um alerta na página de detalhes correspondente, selecione
no canto superior direito e escolha Edit. A Snowsight abrirá a caixa de diálogo de edição com duas guias:General e Config.
Edição das propriedades gerais do alerta¶
Na guia General, você pode modificar as seguintes propriedades do alerta:
Name: nome do alerta. Esse campo é somente leitura para alertas existentes.
Comentário: uma descrição do que o alerta monitora. Isso mapeia a propriedade COMMENT em ALTERALERT.
Tipo de computação: se o alerta usa um modelo de computação sem servidor ou um :ref:` warehouse especificado<label-alerts_warehouse_user_managed>`. Se você escolher Warehouse, selecione o warehouse no menu Warehouse.
Cronograma: com que frequência o alerta é executado. Escolha On a schedule e defina a frequência (por exemplo, a cada 30 minutos).
Selecione Save para aplicar as alterações.
Edição da configuração de um alerta¶
Na guia Config, você pode editar a configuração (CONFIG) do alerta. Quando um alerta é criado a partir de um modelo, o modelo define uma configuração que contém os parâmetros ajustáveis do alerta (por exemplo, limites, destinos de notificação e escopo de monitoramento). A condição e a ação SQL do alerta leem esses valores no tempo de execução por meio de SYSTEM$GET_ALERT_CONFIG.
Editar a configuração permite que você altere a lógica de negócios do alerta sem modificar as instruções SQL subjacentes.
Dependendo da estrutura da configuração, a Snowsight exibe uma de duas experiências de edição.
Edição de uma configuração de modelo¶
Se o alerta tiver sido criado a partir de um modelo e a configuração mantiver a estrutura esperada pelo modelo, a Snowsight exibirá um formulário de edição rico. Cada campo na configuração é exibido com um rótulo que pode ser lido por humanos e uma descrição dos valores esperados. Os campos específicos dependem do modelo, mas exemplos comuns incluem:
Um valor limite que aciona o alerta (por exemplo, uma taxa de erro entre 0,0 e 1,0).
Um método de notificação, como EMAIL ou WEBHOOK, com campos relacionados para integração e destinatários.
Um escopo que controla quais objetos o alerta monitora (por exemplo, ACCOUNT, DATABASE ou SCHEMA), com filtros opcionais para restringir ainda mais esse escopo.
Quando você altera esses campos e seleciona Save, a Snowsight atualiza o CONFIGJSON no alerta. A condição e a ação SQL do alerta usarão os novos valores na próxima vez que o alerta for executado.
Edição de uma configuração de chave-valor simples¶
Se a configuração não corresponder à estrutura esperada pelo modelo (por exemplo, se você modificou o CONFIG via SQL e mudou seu esquema), a Snowsight retornará para um editor de chave-valor simples.
Nesta visualização, a configuração é mostrada como uma lista de pares de chave-valor. Você pode alternar entre dois modos:
Key-value: edite cada par chave-valor individualmente.
JSON: visualização e edição direta da configuração do JSON bruto.
Cuidado
Os valores de configuração influenciam a condição e a lógica de ação do alerta, mas não são parâmetros gerenciados com um contrato profundo com o Snowflake. CONFIG é uma cadeia de caracteres JSON em que o SQL do alerta lê durante o tempo de execução, e o SQL do modelo é responsável por interpretar esses valores.
A alteração dos valores de configuração muda o comportamento do tempo de execução do SQL do alerta. Valores incorretos (por exemplo, um valor não numérico para um limite ou um endereço de e-mail inválido) podem fazer com que o alerta não funcione ou produza resultados inesperados. Revise a documentação do modelo ou do SQL do alerta antes de modificar os valores de configuração.
Para mais informações sobre como o parâmetro CONFIG funciona no nível de SQL, consulte como passar a configuração para um alerta.