Após coletar logs no Simple Log Service, você pode criar alertas baseados em palavras-chave.
Informações gerais
Logs registram operações e exceções do sistema, como logs de aviso, logs de erro, erros panic em Go, erros java.lang.StackOverflowError em Java e logs de status do sistema para eventos como falhas de pagamento. Pesquisar palavras-chave, monitorá-las e criar alertas são requisitos comuns para a manutenção do sistema. Você pode pesquisar palavras-chave em logs e configurar alertas para detectar e localizar problemas rapidamente. O Simple Log Service oferece uma solução de alertas flexível, de alto desempenho e sem necessidade de manutenção para ajudar você a criar alertas baseados em palavras-chave.
Caso de uso 1: alerta na ocorrência de uma palavra-chave
Se você deseja acionar um alerta sempre que uma palavra-chave específica aparecer nos logs, siga este caso de uso para configurar a instrução de consulta e a regra de monitoramento de alertas.
-
Instrução de consulta
Defina o intervalo de tempo da consulta como 15 Minutes (Relative) e execute a instrução a seguir para consultar logs que contenham a palavra-chave ERROR. Para mais informações, consulte Consultar e analisar logs.
ERROR -
Resultado da consulta
O resultado da consulta indica que a palavra-chave ERROR apareceu duas vezes nos últimos 15 minutos.
O resultado da consulta mostra dois logs correspondentes. Os detalhes dos logs revelam erros Python Traceback gerados durante uma tarefa ETL, em que o campo levelname tem o valor
ERROR. -
Configuração da regra de monitoramento de alertas
Crie uma regra de monitoramento de alertas com base no resultado da consulta. Para mais informações, consulte Criar uma regra de monitoramento de alertas. Os principais parâmetros de configuração são:
-
Defina Trigger Condition como data is returned. Isso aciona um alerta quando a palavra-chave ERROR aparece em um log.
-
Na seção Annotations, defina Description como ${logging} e Alert Template como SLS Built-in Content Template. A notificação de alerta incluirá o conteúdo do campo logging do log original.
Defina Rule Name como
Error-level event detected, Check Frequency como um intervalo fixo de 15 minutos e Severity como Medium. Em Alert Policy, selecione Simple Mode. Em Action Policy, adicione DingTalk como canal de notificação, selecione osampleWebhook e defina Send Period como Any. -
-
Notificação de alerta
Após criar a regra de monitoramento de alertas, você receberá uma notificação de alerta no seu grupo do DingTalk sempre que a palavra-chave ERROR aparecer nos logs. Você também pode clicar em Details para visualizar o log que acionou o alerta e rastrear o problema.
Caso de uso 2: alerta com base na contagem de palavras-chave
Se você deseja acionar um alerta somente quando o número de ocorrências de uma palavra-chave atingir um limiar específico dentro de um período determinado, siga este caso de uso para configurar a consulta analítica e a regra de monitoramento de alertas.
-
Consulta analítica
Defina o intervalo de tempo da consulta como 1 Hour (Relative) e execute a instrução a seguir para contar as ocorrências da palavra-chave ERROR em uma hora. Para mais informações, consulte Consultar e analisar logs.
ERROR | SELECT count(*) AS cnt -
Resultado da consulta analítica
O resultado da consulta analítica indica que a palavra-chave ERROR apareceu 11 vezes na última hora.
A consulta analítica é
ERROR | SELECT count(*) AS cnt, e o resultado mostra o valor 11 na coluna cnt. -
Configuração da regra de monitoramento de alertas
Crie uma regra de monitoramento de alertas com base no resultado da consulta analítica. Para mais informações, consulte Criar uma regra de monitoramento de alertas. Os principais parâmetros de configuração são:
-
Defina Trigger Condition como data is returned, and cnt > 5. Isso aciona um alerta se a palavra-chave ERROR aparecer mais de 5 vezes em uma hora.
-
Na seção Annotations, defina Description como ERROR occurred ${cnt} times in the last hour e Alert Template como SLS Built-in Content Template. A notificação de alerta exibirá o número de vezes que a palavra-chave ERROR apareceu na última hora.
Defina Rule Name como
High volume of ERROR messages, Check Frequency como um intervalo fixo de 1 hora, Group Evaluation como Disabled e Severity como Medium. Em Alert Policy, selecione Simple Mode. Selecione DingTalk como canal de notificação, selecione o Webhook sample, defina Reminders como Disabled e defina Send Period como Any. -
-
Notificação de alerta
Após criar a regra de monitoramento de alertas, você receberá uma notificação de alerta no seu grupo do DingTalk se a palavra-chave ERROR aparecer mais de 5 vezes na última hora. Você também pode clicar em Details para visualizar os logs que acionaram o alerta e rastrear o problema.
Caso de uso 3: alerta com base na comparação dia a dia
Se a frequência de uma palavra-chave nos logs segue um ciclo diário, sendo mais frequente durante o dia e menos frequente à noite, usar uma contagem absoluta pode não ser adequado para detectar anomalias. Você pode usar as funções de comparação por intervalo e por periodicidade para calcular a proporção de ocorrências de palavras-chave entre os mesmos períodos em dias diferentes e configurar um alerta com base nessa proporção.
-
Consulta analítica
Defina o intervalo de tempo da consulta como 1 Hour (Relative) e execute a instrução a seguir para calcular a proporção de ocorrências da palavra-chave ERROR entre a hora atual e a mesma hora do dia anterior. Para mais informações, consulte Consultar e analisar logs. Para mais informações sobre a função compare, consulte Funções de comparação por intervalo e por periodicidade.
ERROR | SELECT diff [1] AS today, diff [2] AS yesterday, round((diff [3]-1) * 100, 2) AS ratio FROM ( SELECT compare(cnt, 86400) AS diff FROM ( SELECT COUNT(*) AS cnt FROM log ) ) -
Resultado da consulta analítica
O resultado da consulta analítica indica que a palavra-chave ERROR apareceu 11 vezes na última hora e 6 vezes no mesmo período do dia anterior, representando uma taxa de crescimento de 83,33%.
-
Configuração da regra de monitoramento de alertas
Crie uma regra de monitoramento de alertas com base no resultado da consulta analítica. Para mais informações, consulte Criar uma regra de monitoramento de alertas. Os principais parâmetros de configuração são:
-
Defina Trigger Condition como data is returned, and ratio > 10. Isso aciona um alerta se a proporção de ocorrências da palavra-chave ERROR entre a hora atual e a mesma hora do dia anterior exceder 10%.
-
Na seção Annotations, defina Description como Error count in the last hour: ${today}. Same period yesterday: ${yesterday}. Day-over-day growth: ${ratio}%. e Alert Template como SLS Built-in Content Template. A notificação de alerta exibirá o número de ocorrências da palavra-chave ERROR para a hora atual e a mesma hora do dia anterior, além da taxa de variação.
Defina Rule Name como Spike in ERROR messages, Check Frequency como um intervalo fixo de 15 minutos, Group Evaluation como Disabled e Severity como Medium. Em Alert Policy, selecione Simple Mode. Selecione DingTalk como canal de notificação, selecione o Webhook sample, defina Reminders como Disabled, defina Send Period como Any e defina Repeat Interval como 1 minuto.
-
-
Notificação de alerta
Após criar a regra de monitoramento de alertas, você receberá uma notificação de alerta no seu grupo do DingTalk se a proporção de ocorrências da palavra-chave ERROR entre a hora atual e a mesma hora do dia anterior exceder 10%. Você também pode clicar em Details para visualizar os logs que acionaram o alerta e rastrear o problema.
Caso de uso 4: alertas de anomalia baseados em machine learning
Os casos de uso anteriores cobrem cenários básicos. Para situações mais complexas, você pode utilizar os algoritmos de machine learning do Simple Log Service. Por exemplo, a frequência de uma palavra-chave alvo pode ser estável ao longo do dia, mas sofrer um pico ou queda repentina, e você deseja ser notificado dessa mudança imediatamente. Para esse cenário, você pode usar os algoritmos de machine learning do Simple Log Service para realizar previsão de séries temporais e detecção de anomalias. Para mais informações sobre algoritmos de machine learning, consulte Funções de machine learning.
-
Consulta analítica
Defina o intervalo de tempo da consulta como 4 Hours (Relative) e execute a instrução a seguir para contar o número de anomalias na contagem de ERROR nas últimas 4 horas. Para mais informações, consulte Consultar e analisar logs. Para mais informações sobre a função ts_predicate_simple, consulte ts_predicate_simple.
ERROR | SELECT ts_predicate_simple(stamp, value, 6) FROM ( select __time__-__time__ % 30 AS stamp, count(1) AS value FROM log GROUP BY stamp ORDER BY stamp ) -
Resultado da consulta analítica
A consulta retorna colunas como src, predict, upper, lower e anomaly_prob. Um valor maior que 0 na coluna anomaly_prob indica uma anomalia. O número total de anomalias é a contagem de linhas em que
anomaly_probé maior que 0. Você pode usar essa contagem para configurar um alerta. A tabela de resultados contém seis campos:unixtime(timestamp Unix),src(valor original),predict(valor previsto),upper(limite superior previsto),lower(limite inferior previsto) eanomaly_prob(probabilidade de anomalia, em que 0.0 é normal e 1.0 indica uma anomalia).Você também pode exibir o resultado da consulta analítica como um gráfico de série temporal para visualizar quedas repentinas nos dados. Os pequenos círculos vermelhos no gráfico representam pontos de anomalia. Neste exemplo, o gráfico mostra que 15 pontos de anomalia ocorreram durante esse período.

-
Configuração da regra de monitoramento de alertas
Crie uma regra de monitoramento de alertas com base no resultado da consulta analítica. Para mais informações, consulte Criar uma regra de monitoramento de alertas. Os principais parâmetros de configuração são:
-
Defina Trigger Condition como Number of matching rows > 5, where the condition is
anomaly_prob> 0. Isso aciona um alerta se mais de 5 anomalias forem detectadas nas últimas 4 horas. -
Na seção Annotations, defina Description como More than 5 anomalies detected in ERROR count in the last 4 hours e Alert Template como SLS Built-in Content Template. A notificação de alerta exibirá o número de pontos de anomalia que ocorreram nas últimas 4 horas.
Defina Rule Name como
Anomaly in ERROR message counte Check Frequency como um intervalo fixo de 15 minutos. Na seção Query Statistics, insira a instrução de consultaERROR. Defina Group Evaluation como Disabled e Severity como Medium. Em Alert Policy, selecione Simple Mode e, em Action Policy, selecione Error-level event detected-Action Policy. Selecione DingTalk como canal de notificação, selecione oWebhooksample, defina Reminders como Disabled, defina Send Period como Any e defina Repeat Interval como 1 minuto. -
-
Notificação de alerta
Após criar a regra de monitoramento de alertas, você receberá uma notificação de alerta no seu grupo do DingTalk se mais de 5 anomalias forem detectadas nas últimas 4 horas. Você também pode clicar em Details para visualizar os logs que acionaram o alerta e rastrear o problema.