Este tópico descreve como integrar o Grafana ao subserviço de Gerenciamento de Alertas do Application Real-Time Monitoring Service (ARMS). Após criar a integração com o Grafana, os alertas gerados são reportados ao Gerenciamento de Alertas.
Etapa 1: Criar uma integração do Grafana
Faça login no console do ARMS. No painel de navegação à esquerda, escolha .
Na aba Alert Integration, clique em Grafana.
-
Na caixa de diálogo New Grafana Integration, insira um nome e uma descrição para a integração, selecione a versão do Grafana, defina o tempo limite de resolução automática para eventos de alerta e clique em Save.
NotaTempo de recuperação automática após o tempo limite: se um evento de alerta não for acionado novamente dentro do período especificado, o sistema limpará o evento automaticamente.
-
Na aba Alert Integration, localize a nova integração do Grafana e obtenha o endpoint de integração.
Clique no botão Copy ao lado do endpoint de integração.
Etapa 2: Configurar alertas do Grafana
No painel de navegação à esquerda do Grafana, escolha .
-
Na aba Notification Channels, clique em New channel.
NotaSe esta for a primeira vez que você cria um canal, clique em Add channel.
-
Na página New Notification Channel, execute as etapas a seguir.
Insira um nome personalizado para o alerta do Grafana no campo Name.
Defina Type como webhook.
Defina URL como o endpoint de integração obtido na Etapa 1.
-
Na seção Notification settings, selecione Default, Include image e Send reminders. Caso selecione Send reminders, defina a frequência de reporte para o mesmo alerta. A frequência de reporte não pode exceder o tempo limite de resolução automática definido na Etapa 1.
NotaSe você não selecionar Send reminders, o sistema enviará apenas uma notificação para cada alerta.
Clique em Test para verificar a conexão com o Gerenciamento de Alertas do ARMS.
Após o teste ser bem-sucedido, clique em Save.
(Opcional) Etapa 3: Modificar a integração
O Gerenciamento de Alertas do ARMS fornece mapeamentos de campos padrão entre o Grafana e o ARMS. Você também pode adicionar ou modificar esses mapeamentos na página Edit Integration conforme necessário.
O script a seguir apresenta um exemplo de source de alerta:
{
"@timestamp":"2021-09-09T12:25:09.556Z",
"orgId":0,
"host":"10.1.11.14",
"ruleName":"Test notification",
"ruleUrl":"http://localhost:8001/grafana/",
"state":"alerting",
"title":"[Alerting] Test notification",
"panelId":1,
"imageUrl":"https://grafana.com/assets/img/blog/mixed_styles.png",
"evalMatches":[
{
"metric":"High value",
"value":100,
"tags":null
},
{
"metric":"Higher Value",
"value":200,
"tags":null
}
],
"ruleId":0,
"tags":{
},
"dashboardId":1,
"message":"Someone is testing the alert notification within grafana.",
"@version":"1"
}
Na aba Alert Integration, localize a integração que deseja gerenciar e clique em Edit na coluna Actions.
Na seção Event Mapping, clique em Send Test Data.
-
Na caixa de diálogo Send Test Data, insira o conteúdo JSON da sua source de alerta e clique em Send.
NotaSe a mensagem Uploaded. No events are generated. Configure mappings based on the original data. aparecer, significa que os campos da source de alerta não estão mapeados para os campos dos eventos de alerta do ARMS. Os dados enviados são exibidos na caixa à esquerda, permitindo que você selecione os campos de origem ao configurar os mapeamentos.
Caso a mensagem Uploaded. apareça, o conteúdo do alerta será reportado à página de Histórico de Eventos de Alerta. Para mais informações, consulte Visualizar histórico de eventos de alerta.
A área de texto da caixa de diálogo Send Test Data contém dados de notificação de exemplo em formato JSON, com campos como
@timestamp,orgId,host,ruleName,ruleUrl,state,titleepanelId. Clique em Copy as cURL command para obter a solicitação correspondente. Na caixa de diálogo Send Test Data, clique em Disable.
Na parte esquerda da seção Event Mapping, clique nos registros de dados para os quais deseja configurar mapeamentos a fim de visualizar os detalhes.
-
No painel direito da seção Event Mapping, configure os mapeamentos entre os campos de alerta de origem e os campos de alerta do ARMS.
-
Opcional: Na seção Select Root Node, especifique se deseja usar processamento em lote.
Se os dados do alerta contiverem um array, você poderá especificar esse array como um nó raiz para processar seus elementos em lote.
Após selecionar Use Batch Processing, selecione o nó do array a ser processado como o nó raiz.
NotaÉ possível selecionar apenas um array para processamento em lote.
Por exemplo, no alerta de amostra, o array
evalMatchescontém dois camposvalue. Se você selecionarevalMatchescomo o nó raiz, o ARMS mapeará os dois camposvaluesob ele para o mesmo campo de alerta do ARMS especificado.Ao selecionar um nó raiz, é possível mapear iterativamente os valores do atributo
$.evalMatches[*].valuede todos os elementos do array para o campovaluedo ARMS.Caso não selecione um nó raiz, você poderá mapear o valor do atributo de um elemento específico no array, como
$.evalMatches[0].valueou$.evalMatches[1].value, para o campovaluedo ARMS.
-
Na seção Map Source Fields to Target Fields, mapeie os campos de origem para os campos de alerta de destino do ARMS.
Clique no ícone de mapeamento para alterar o método de mapeamento.
Direto: o campo de origem é mapeado diretamente para o campo de alerta correspondente do ARMS.
-
Série: concatena vários campos de origem em um único campo usando um separador especificado e mapeia esse campo para um campo de alerta do ARMS. Apenas caracteres especiais podem ser usados como separadores.
Por exemplo, use um sublinhado (_) para concatenar os campos
$.hoste$.titleem$.host_$.titlee, em seguida, mapeie-o para o campoalertnamedo ARMS. Condição: um campo é mapeado somente se o valor do campo de alerta atender a uma condição especificada.
Tabela de mapeamento: configura o mapeamento entre os níveis de severidade da source de alerta e o ARMS. Este método de mapeamento é necessário apenas para o campo
severity.
A tabela a seguir descreve os campos de alerta do ARMS.
Campo de alerta
Descrição
alertname
Nome do alerta personalizado.
severity
Nível de severidade do alerta. É obrigatório configurar mapeamentos para este campo, e o método deve ser definido como Direto.
message
Descrição do alerta, utilizada como conteúdo da mensagem. O tamanho máximo permitido é de 15.000 caracteres.
value
Valor de amostra de uma métrica.
imageUrl
URL do gráfico de linhas que contém métricas do Grafana, usada para mapear o gráfico.
check
Item de verificação do alerta. Exemplos: CPU, JVM, Falha de Aplicativo e Implantação.
source
Origem do alerta.
class
Tipo de objeto que aciona o evento de alerta, por exemplo, host.
service
Serviço de origem do alerta. Exemplo: Serviço de Login.
startat
Timestamp que representa a hora de início do evento.
endat
Timestamp que representa a hora de término do evento.
generatorUrl
URL dos detalhes do evento.
Na página Event Mapping, clique em Send Test Data para verificar a ingestão de dados. A seção Latest 10 Data Entries exibe os dados de origem recebidos e seu status. Expanda uma entrada de dados para visualizar sua estrutura JSON, que inclui campos como
@timestamp,orgId,hosteruleName. No painel direito, mapeie esses campos de origem para os campos de alerta correspondentes do ARMS.
-
-
Configure a deduplicação de campos para eventos de alerta.
Para reduzir dados duplicados, o sistema utiliza campos relacionados como critérios de deduplicação. O Gerenciamento de Alertas do ARMS permite visualizar os resultados de agrupamento de deduplicação de dados históricos de eventos na área Event Mapping. Ajuste os campos de deduplicação conforme necessário.
NotaA deduplicação de eventos aplica-se apenas a eventos não resolvidos.
-
Na seção Event Deduplication da página Edit Integration, selecione os campos para deduplicação.
Quando vários eventos possuem os mesmos valores para os campos selecionados, eles são mesclados em um único alerta.
Por exemplo, se você definir os campos
metriceruleNamedo ARMS como chave de deduplicação, os eventos da source do Grafana que tiverem a mesma métrica e nome de regra serão mesclados em um único evento. Eventos com valores diferentes permanecerão separados. -
Clique em Deduplication Test para visualizar os agrupamentos de alertas após a deduplicação.
NotaO teste de deduplicação é executado nas últimas 10 entradas de dados de teste carregadas no painel esquerdo da seção Event Mapping.
Selecione metric e ruleName como campos de deduplicação e clique em Deduplication Test. O sistema agrupa os eventos com base nos campos selecionados. Eventos com a mesma métrica e nome de regra são agrupados. Os resultados do agrupamento são exibidos em uma tabela que inclui colunas como
alertname,value,severity,startat,endatemessage.
-
Após concluir a configuração, clique em Save.
Visualizar detalhes de um evento de alerta
No painel de navegação à esquerda do console do ARMS, escolha .
Na página Alert Event History, clique no nome do evento de alerta para visualizar seus detalhes. Para mais informações, consulte Visualizar histórico de eventos de alerta.
Gerenciar a integração
No painel de navegação à esquerda, escolha . Na aba Alert Integration, execute as operações a seguir nas integrações criadas:
Visualizar detalhes de uma integração: localize a integração e clique na linha correspondente. Na página Integration Details, visualize as informações da integração.
-
Atualizar chave: para alterar a chave de uma integração, localize-a, escolha na coluna Actions e clique em Confirm na caixa de diálogo exibida.
ImportanteApós atualizar a chave, também é necessário atualizar a URL configurada na Etapa 2 com o novo endpoint de integração.
Modificar uma integração: localize a integração e clique em Edit na coluna Actions. Na página Integration Details, modifique as informações da integração e clique em Save.
Ativar ou desativar uma integração: localize a integração e clique em Disable ou Enable na coluna Actions.
Excluir uma integração: localize a integração e clique em Delete na coluna Actions. Na mensagem exibida, clique em OK.
Adicionar um fluxo de processamento de eventos a uma integração: localize a integração e clique em Add Event Processing Flow na coluna Actions. Para mais informações, consulte Fluxo de processamento de eventos.
Criar uma política de notificação: localize a integração para a qual deseja criar uma política de notificação e clique em More na coluna Actions. Na lista exibida, clique em Create Notification Policy. Para mais informações, consulte Políticas de notificação.
Próximos passos
Após criar uma política de notificação, o sistema gera alertas e envia notificações para os eventos de alerta reportados com base na política configurada. Para mais informações, consulte Políticas de notificação. Na página Alert Sending History, visualize os alertas gerados com base na política de notificação configurada. Para mais informações, consulte Visualizar histórico de envio de alertas.