Share via


O que são alertas Databricks SQL?

Os alertas do Databricks SQL periodicamente executam consultas, avaliam as condições definidas e enviam notificações se uma condição for atendida. Você pode configurar alertas para monitorar sua empresa e enviar notificações quando os dados relatados estiverem fora dos limites esperados. O agendamento de um alerta executa sua consulta subjacente e verifica os critérios de alerta. Isso é independente de qualquer agendamento que possa existir na consulta subjacente.

Importante

  • Os alertas que aproveitam consultas com parâmetros usam o valor padrão especificado no editor SQL para cada parâmetro.

Ver e organizar alertas

Use uma das seguintes opções para acessar alertas:

  • Ícone do espaço de trabalhoClique no Espaço de trabalho na barra lateral para exibir alertas na pasta Início, onde eles são armazenados por padrão. Os usuários podem organizar alertas em pastas no navegador de espaço de trabalho junto com outros objetos Databricks.
  • Ícone de alertasClique em Alertas na barra lateral para visualizar a página de listagem de alertas.

Por padrão, os objetos são classificados em ordem cronológica inversa. Pode clicar nos cabeçalhos das colunas para reordenar a lista. Clique na guia Todos os alertas na parte superior da tela para exibir todos os alertas no espaço de trabalho. Clique na guia Meus alertas para exibir alertas onde você é o proprietário.

  • Nome mostra o nome da cadeia de cada alerta.
  • Estado mostra se o estado do alerta é TRIGGERED, OK ou UNKNOWN.
  • Última atualização mostra a hora ou data da última atualização.
  • Criado em mostra a data e a hora em que o alerta foi criado.
    • TRIGGERED significa que, na execução mais recente, a coluna Valor na consulta de destino cumpriu a Condição e o Limiar que configurou. Se o alerta verificar se "gatos" está acima de 1500, será acionado na condição de que "gatos" esteja acima de 1500.
    • OK significa que, na execução de consulta mais recente, a coluna Valor não cumpriu a Condição e o Limiar que configurou. Isso não significa que o Alerta não tenha sido acionado anteriormente. Se o valor de "gatos" for agora 1470, o alerta será exibido como OK.
    • UNKNOWN significa que o Databricks SQL não tem dados suficientes para avaliar os critérios de alerta. Você verá esse status imediatamente após a criação do Alerta e até que a consulta seja executada. Também o verá se não houver dados no resultado da consulta ou se o resultado da consulta mais recente não incluir a Coluna Valor que configurou.

Criar um alerta

Siga estas etapas para criar um alerta em uma única coluna de uma consulta.

  1. Execute um dos seguintes procedimentos:

    • Clique em Novo íconeNovo na barra lateral e selecione Alerta.
    • Clique em Ícone de alertasAlertas na barra lateral e clique no botão + Novo Alerta.
    • Clique em Ícone do espaço de trabalhoEspaço de trabalho na barra lateral e clique em + Criar alerta.
    • Clique no Menu de kebab menu kebab no canto superior direito de uma consulta salva e clique em + Criar alerta.
  2. No campo Consulta, procure uma consulta de destino.

    Consulta de destino

    Para alertar em várias colunas, você precisa modificar sua consulta. Consulte Agregações de alerta.

  3. No campo Condição do gatilho, configure o alerta.

    • A lista suspensa Coluna Valor controla qual campo do resultado da consulta é avaliado. As condições de alerta podem ser definidas no primeiro valor de uma coluna no resultado da consulta ou você pode optar por definir uma agregação em todas as linhas de uma única coluna, como SOMA ou MÉDIA.

      Agregações de alertas

    • A lista suspensa Operador controla a operação lógica a ser aplicada.

    • A entrada de texto Valor do limite é comparada com a coluna Valor usando a Condição especificada.

    Condições do acionador

  4. Clique em Visualizar alerta para visualizar o alerta e testar se o alerta seria acionado com os dados atuais.

  5. No campo Quando o alerta for acionado, envie notificação , selecione quantas notificações serão enviadas quando o alerta for acionado:

    • Apenas uma vez: envie uma notificação quando o status do alerta mudar de OK para TRIGGERED.
    • Cada vez que o alerta é avaliado: Envie uma notificação sempre que o estado do alerta estiver TRIGGERED independentemente do seu estado na avaliação anterior.
    • No máximo sempre: envie uma notificação sempre que o status do alerta estiver TRIGGERED em um intervalo específico. Essa opção permite evitar spam de notificação para alertas que são acionados com frequência.

    Independentemente da configuração de notificação escolhida, você receberá uma notificação sempre que o status for de OK ou TRIGGEREDTRIGGERED para .OK As configurações de agendamento afetam quantas notificações você receberá se o status permanecer TRIGGERED de uma execução para outra. Para obter detalhes, consulte Frequência de notificação.

  6. Na lista suspensa Modelo, escolha um modelo:

    • Usar modelo padrão: a notificação de alerta é uma mensagem com links para a tela de configuração do Alerta e para a tela Consulta.
    • Usar modelo personalizado: a notificação de alerta inclui informações mais específicas sobre o alerta.
      1. Uma caixa é exibida, consistindo em campos de entrada para assunto e corpo. Qualquer conteúdo estático é válido e você pode incorporar variáveis de modelo internas:

        • ALERT_STATUS: O status de alerta avaliado (string).
        • ALERT_CONDITION: O operador de condição de alerta (string).
        • ALERT_THRESHOLD: O limiar de alerta (cadeia de caracteres ou número).
        • ALERT_COLUMN: O nome da coluna de alerta (string).
        • ALERT_NAME: O nome do alerta (string).
        • ALERT_URL: O URL da página de alerta (string).
        • QUERY_NAME: O nome da consulta associada (cadeia de caracteres).
        • QUERY_URL: O URL da página de consulta associada (string).
        • QUERY_RESULT_TABLE: A tabela HTML do resultado da consulta (string).
        • QUERY_RESULT_VALUE: O valor do resultado da consulta (cadeia de caracteres ou número).
        • QUERY_RESULT_ROWS: As linhas de resultado da consulta (matriz de valores).
        • QUERY_RESULT_COLS: As colunas de resultado da consulta (matriz de cadeia de caracteres).

        Um exemplo de assunto, por exemplo, poderia ser: Alert "{{ALERT_NAME}}" changed status to {{ALERT_STATUS}}.

      2. Você pode usar HTML para formatar mensagens em um modelo personalizado. As seguintes tags e atributos são permitidos em modelos:

        • Etiquetas: , , , , , <br><td><code>><h6><h5<head<h4><h3><h2>><h1><em><hr><div><i><ol><p><li><span><html><tbody><th><table><strong><tr><body><blockquote><b><acronym><abbr><a><ul>
        • Atributos: href (para <a>), título (para <a>, <abbr>, <acronym>)
      3. Clique no botão de alternância Visualizar para visualizar o resultado renderizado.

        Importante

        A visualização é útil para verificar se as variáveis de modelo são renderizadas corretamente. Não é uma representação precisa do eventual conteúdo da notificação, pois cada destino de notificação pode exibir notificações de forma diferente.

      4. Clique no botão Salvar alterações .

  7. Clique em Criar alerta.

  8. Clique em Adicionar Agenda.

    • Use os seletores suspensos para especificar a frequência, o período, a hora de início e o fuso horário. Opcionalmente, marque a caixa de seleção Mostrar sintaxe cron para editar a agenda no Quartz Cron Syntax.
    • Escolha Mais opções para mostrar as configurações opcionais. Você também pode escolher:
      • Um nome para a agenda.
      • Um armazém SQL para alimentar a consulta. Por padrão, o SQL warehouse usado para execução de consultas ad hoc também é usado para um trabalho agendado. Use essa configuração opcional para selecionar um depósito diferente para executar a consulta agendada.
  9. Clique na guia Destinos na caixa de diálogo Adicionar agenda.

    Guia Destinos na caixa de diálogo de configurações

    • Use a lista suspensa para selecionar um destino de notificação disponível. Ou comece a digitar um nome de usuário para adicionar indivíduos.

    Importante

    Se ignorar este passo , não será notificado quando o alerta for acionado.

  10. Clique em Criar. O alerta salvo e os detalhes da notificação aparecem na tela.

    Alerta guardado

  11. Partilhe a programação.

    • À direita da agenda listada, escolha o Menu de kebab menu kebab e selecione Editar permissões de agenda.
    • Escolha um usuário ou grupo no menu suspenso na caixa de diálogo.
    • Escolha entre as seguintes permissões de agendamento:
      • SEM PERMISSÕES: Nenhuma permissão foi concedida. Os usuários sem permissões não podem ver se a agenda existe, mesmo que sejam assinantes ou incluídos nos destinos de notificação listados.
      • CAN VIEW: Concede permissão para exibir resultados de execução agendada.
      • CAN MANAGE RUN: Concede permissão para exibir resultados de execução agendada.
      • CAN MANAGE: Concede permissão para visualizar, modificar e excluir agendas. Essa permissão é necessária para fazer alterações no intervalo de execução, atualizar a lista de assinantes e pausar ou cancelar a pausa da agenda.
      • IS OWNER: Concede todas as permissões de CAN MANAGE. Além disso, as credenciais do proprietário da agenda serão usadas para executar consultas de painel. Apenas um administrador de espaço de trabalho pode alterar o proprietário.

    Importante

    As permissões para alertas e agendas são separadas. Conceda acesso a usuários e grupos na lista de destinos de notificações para que eles possam exibir os resultados da execução agendada.

  12. Partilhe o alerta.

    • Clique Botão Partilhar perto do canto superior direito da página.
    • Adicione usuários ou grupos que devem ter acesso ao alerta.
    • Escolha o nível de permissão apropriado e clique em Adicionar.

Importante

CAN MANAGE concede permissão para visualizar, modificar e excluir agendas. Essa permissão é necessária para fazer alterações no intervalo de execução, atualizar a lista de destino da notificação e pausar ou cancelar a pausa da agenda.

Para obter mais informações sobre níveis de permissão de alerta, consulte ACLs de alerta.

Agregações de alertas

Uma agregação em um alerta funciona modificando o SQL original da consulta SQL do Databricks anexada ao alerta. O alerta quebra o texto da consulta original em uma expressão de tabela comum (CTE) e executa uma consulta de agregação de quebra automática para agregar o resultado da consulta.

Por exemplo, uma SUM agregação em um alerta anexado a uma consulta com texto SELECT 1 AS column_name significa que, sempre que o alerta for atualizado, o SQL modificado executado será: WITH q AS (SELECT 1 AS column_name) SELECT SUM(column_name) FROM q.

Isso significa que o resultado da consulta original (pré-agregado) não pode ser mostrado em um corpo personalizado de alerta (com parâmetros como QUERY_RESULT_ROWS e QUERY_RESULT_COLS) sempre que houver uma agregação em um alerta. Em vez disso, essas variáveis exibirão apenas o resultado final da consulta pós-agregação.

Nota

Todas as condições de gatilho relacionadas a agregações não são suportadas pela API.

Alertas em várias colunas

Para definir um alerta com base em várias colunas de uma consulta, sua consulta pode implementar a lógica de alerta e retornar um valor booleano para o alerta ser acionado. Por exemplo:

SELECT CASE WHEN drafts_count > 10000 AND archived_count > 5000 THEN 1 ELSE 0 END
FROM (
SELECT sum(CASE WHEN is_archived THEN 1 ELSE 0 END) AS archived_count,
sum(CASE WHEN is_draft THEN 1 ELSE 0 END) AS drafts_count
FROM queries) data

Esta consulta retorna 1 quando drafts_count > 10000 and archived_count > 5000. Em seguida, você pode configurar o alerta para disparar quando o valor for 1.

Frequência das notificações

O Databricks SQL envia notificações para os destinos de notificação escolhidos sempre que deteta que o status do Alerta foi alterado de OK para TRIGGERED ou vice-versa. Considere este exemplo em que um Alerta é configurado em uma consulta agendada para ser executada uma vez por dia. O status diário do Alerta aparece na tabela a seguir. Antes de segunda-feira, o estado de alerta era OK.

Dia Estado de alerta
Segunda-feira OK
Tuesday OK
Quarta-feira ACIONADO
Quinta-feira ACIONADO
Sexta-feira ACIONADO
Sábado ACIONADO
Domingo OK

Se a frequência de notificação estiver definida como Just Once, o Databricks SQL enviará uma notificação na quarta-feira, quando o status for alterado de OK para TRIGGERED e novamente no domingo, quando ele voltar. Ele não envia alertas na quinta-feira, sexta-feira ou sábado, a menos que você o configure especificamente para fazê-lo porque o status do Alerta não foi alterado entre execuções nesses dias.

Configurar permissões de alerta e transferir a propriedade do alerta

Você deve ter pelo menos a permissão CAN MANAGE em uma consulta para compartilhar consultas. Para obter os níveis de permissão de alerta, consulte ACLs de alerta.

  1. Na barra lateral, clique em Alertas.

  2. Clique em um alerta.

  3. Clique no Botão Partilhar botão no canto superior direito para abrir a caixa de diálogo Compartilhamento .

    Gerenciar permissões de alerta

  4. Pesquise e selecione os grupos e usuários e atribua o nível de permissão.

  5. Clique em Adicionar.

Transferir a propriedade de um alerta

Ao salvar um alerta, você se torna o proprietário do alerta. Se o proprietário de um alerta for removido de um espaço de trabalho, o alerta não terá mais um proprietário. Um usuário administrador de espaço de trabalho pode transferir a propriedade de um alerta para um usuário diferente. Não é possível atribuir a propriedade de um alerta às entidades de serviço e aos grupos. Você também pode transferir a propriedade usando a API de Permissões.

  1. Como administrador do espaço de trabalho, faça logon no seu espaço de trabalho do Azure Databricks.

  2. Na barra lateral, clique em Alertas.

  3. Clique em um alerta.

  4. Clique no botão Compartilhar no canto superior direito para abrir a caixa de diálogo Compartilhamento .

  5. Clique no ícone de engrenagem no canto superior direito e clique em Atribuir novo proprietário.

    Atribuir novo proprietário

  6. Selecione o usuário ao qual atribuir a propriedade.

  7. Clique em Confirmar.