Tipos de alertas
1. Alertas de busca
Crie o alerta
No painel de criação de alerta, você pode:- Atribuir um nome à busca salva associada ao alerta.
- Definir um limiar e especificar quantas vezes ele deve ser atingido dentro de um determinado período. Os limiares também podem ser usados como limite superior ou inferior. O período aqui também determinará com que frequência o alerta será acionado.
- Especificar um valor
grouped by. Isso permite que a busca seja submetida a uma agregação, por exemplo,ServiceName, permitindo que vários alertas sejam acionados a partir da mesma busca. - Escolher um destino de webhook para notificações. Você pode adicionar um novo webhook diretamente desta visualização. Consulte Adicionando um webhook para mais detalhes.
2. Alertas de gráficos no dashboard
Para criar um alerta para uma visualização em um dashboard, o dashboard precisa estar salvo.
Abra a caixa de diálogo de edição do gráfico
Abra o menu de configuração do gráfico e selecione o botão de alerta. Isso abrirá a caixa de diálogo de edição do gráfico.Adicione o alerta
Selecione Add Alert.Defina as condições do alerta
Defina a condição (>=, >, <=, <, =, !=, <= x >=, > or <), o limiar, a duração e o webhook. A duração aqui também determinará com que frequência o alerta será disparado.Você pode adicionar um novo webhook diretamente nesta tela. Consulte Adicionando um webhook para mais detalhes.Adicionando um webhook
Add New Webhook.
Isso abre a caixa de diálogo de criação de webhook, na qual você pode criar um novo webhook:
É necessário informar um nome para o webhook, enquanto as descrições são opcionais. As demais configurações que precisam ser preenchidas dependem do tipo de serviço.
Observe que há diferentes tipos de serviço disponíveis entre o ClickStack Open Source e o ClickStack Cloud. Consulte Integrações por tipo de serviço.
Integrações por tipo de serviço
- Slack: envie notificações diretamente para um canal por meio de um webhook ou da API.
- PagerDuty: encaminhe incidentes para equipes de plantão por meio da API do PagerDuty.
- Webhook: conecte alertas a qualquer sistema ou fluxo de trabalho personalizado por meio de um webhook genérico.
Integrações exclusivas do ClickHouse CloudAs integrações com a API do Slack e com o PagerDuty são compatíveis apenas com o ClickHouse Cloud.
- URL do webhook. Por exemplo:
https://hooks.slack.com/services/<unique_path>. Consulte a documentação do Slack para mais detalhes.
- Token do bot do Slack. Consulte a documentação do Slack para mais detalhes.
- Chave de integração do PagerDuty. Consulte a documentação do PagerDuty para mais detalhes.
- URL do webhook
- cabeçalhos do webhook (opcional)
- corpo do webhook (opcional). No momento, o corpo oferece suporte às variáveis de modelo
{{title}},{{body}}e{{link}}.
Gerenciando alertas
- Barra vermelha: A condição de limiar foi atendida durante esta avaliação, e o alerta foi disparado (notificação enviada)
- Barra verde: O alerta foi avaliado, mas a condição de limiar não foi atendida (nenhuma notificação enviada)
Excluindo um alerta
Remove Alert removerá o alerta do gráfico.
Alertas de gráfico baseados em SQL
Tipos de gráfico compatíveis
| Tipo de gráfico | Comportamento |
|---|---|
| Linha | Alerta de série temporal. A consulta deve produzir linhas agregadas por intervalos de tempo. Cada bucket é avaliado de forma independente em relação ao limite. |
| Barra empilhada | Alerta de série temporal. Mesmo comportamento do gráfico de Linha. |
| Número | Alerta de valor único. A consulta retorna um único resultado numérico, que é comparado ao limite uma vez por avaliação. |
Criando um alerta SQL
Crie ou abra um gráfico baseado em SQL em um dashboard
Em um dashboard salvo, crie um novo gráfico no modo de gráfico SQL ou abra para edição um gráfico baseado em SQL existente.Escolha linha, barra empilhada ou número como tipo de visualização.Adicione o alerta
Selecione Add Alert na seção de alerta do editor de gráfico. Configure:- Tipo de limiar:
>=(maior ou igual a),>(maior que),<=(menor ou igual a),<(menor que),=(igual a),!=(diferente de),<= x >=(entre) ou> or <(fora do intervalo) - Valor do limiar: o valor numérico a ser comparado
- Intervalo: com que frequência o alerta é avaliado (1m, 5m, 15m, 30m, 1h, 6h, 12h ou 1d). Isso também define a janela de tempo de cada avaliação.
- Webhook: o canal de notificação usado quando o alerta é disparado. Consulte Como adicionar um webhook.
Salve o dashboard
Salve o dashboard para ativar o alerta. O alerta começará a ser avaliado no intervalo configurado.Como os resultados da consulta são interpretados
- Coluna de valor: a última coluna numérica na sua cláusula
SELECTé usada como valor do alerta. Se a sua consulta retornar várias colunas numéricas (por exemplo,count, avg_latency, p99_latency), apenas a última (p99_latency) será comparada ao limiar. - Coluna de timestamp: para gráficos de séries temporais (linha e barra empilhada), o sistema identifica a coluna Date/DateTime nos resultados como o bucket de tempo (ou seja, o eixo x em um gráfico de séries temporais). A coluna de valor de cada bucket de tempo é avaliada em relação ao limiar de forma independente e, se o valor de qualquer bucket de tempo ultrapassar o limiar configurado, o alerta será disparado.
- Colunas de agrupamento: quaisquer colunas que não sejam numéricas nem de timestamp (por exemplo,
ServiceName,Environment) são tratadas como dimensões de agrupamento. Quando há grupos, cada combinação única de valores de grupo é monitorada e gera alertas separadamente. O ClickStack enviará um alerta para cada grupo cujo valor ultrapassar o limiar configurado. Os grupos estão disponíveis apenas para gráficos de séries temporais.
Parâmetros de consulta e macros
Parâmetros obrigatórios e recomendados
{intervalSeconds:Int64}, {intervalMilliseconds:Int64}, $__timeInterval(col) ou $__timeInterval_ms(col)). Durante a execução do alerta, ele será substituído pelo período configurado do alerta.
Consultas usadas para alertas devem incluir um filtro de intervalo de tempo ({startDateMilliseconds:Int64} e {endDateMilliseconds:Int64}, ou $__timeFilter(col), etc.). Independentemente de a consulta ter ou não um filtro de intervalo de tempo, a consulta do alerta será executada com base no período configurado do alerta. Se não houver filtro de intervalo de tempo, a consulta lerá todo o intervalo de tempo disponível na tabela de origem em cada execução.
Exemplos de consultas para alertas
Taxa de erro por serviço (série temporal)
>= 5 (dispara quando a taxa de erro atinge 5%)
Nesta consulta, ServiceName é uma coluna não numérica e que não é de timestamp, então cada serviço é tratado como um grupo de alerta separado. O alerta é disparado de forma independente para cada serviço.
Detecção de anomalias com média defasada (séries temporais)
> 0 (dispara quando são detectados erros em excesso acima da linha de base móvel)
Observe que a consulta recupera 30 intervalos antes do início do intervalo de datas para alimentar os cálculos da janela móvel e, em seguida, filtra a saída final para manter apenas a janela de avaliação.
Cenários comuns de alertas
All Error Events e HTTP Status >= 400 para ser notificado quando
houver um excesso de erros.
Operações lentas: Você pode configurar uma busca para operações lentas (por exemplo,
duration:>5000) e depois criar um alerta quando houver operações lentas
demais.
Eventos de usuário: Você também pode configurar alertas para que equipes que lidam com clientes sejam
notificadas quando novos usuários se cadastrarem ou quando uma ação crítica do usuário for realizada.