Telegram
Este guia tem como objetivo apresentar os passos necessários para configurar um contact point do tipo Telegram na Elven Observability, permitindo que as notificações de alertas sejam enviadas diretamente a um grupo do Telegram. Essa configuração visa disponibilizar um canal complementar de aviso, útil em situações que demandam comunicação técnica imediata.
A configuração de um contact point do tipo Telegram permite entregar a notificação diretamente do ambiente de alertas ao grupo escolhido, sem etapas intermediárias.
Pré-requisitos no Telegram
Diferentemente da integração no âmbito do time, este caminho utiliza um bot próprio, criado e mantido por quem realiza a configuração.
- Crie o bot no BotFather. No Telegram, localize o perfil @BotFather, envie o comando
/newbote informe o nome de exibição e o nome de usuário do bot. O nome de usuário deve ser único e terminar embot. - Registre o token fornecido. Ao concluir a criação, o BotFather apresenta o token de acesso do bot. Esse token é uma credencial de acesso e deve receber o mesmo tratamento atribuído a uma senha.
- Crie o grupo e adicione o bot. Crie o grupo que receberá as notificações e adicione o bot criado como participante. O Telegram não permite que um bot ingresse em um grupo por conta própria.
- Obtenha o identificador do grupo. O identificador pode ser consultado por meio do endpoint
getUpdatesda API do Telegram, após o envio de um comando no grupo.
Cabe observar que, por padrão, um bot em grupo recebe apenas mensagens que constituam comandos ou respostas diretas a ele. Em consequência, uma mensagem comum enviada no grupo não é apresentada na consulta ao getUpdates. Recomenda-se enviar um comando, como /start, para que a consulta retorne o identificador desejado.
Acessando a Configuração de Contact Points
- No menu de navegação, acesse a seção Alerting.
- Selecione a opção Contact points. É aqui que você pode visualizar e gerenciar todos os pontos de contato configurados no ambiente.
- Selecione a opção de adicionar um novo contact point.
Criando o Contact Point do Telegram
No formulário de criação, informe os campos a seguir.
- Em Name, informe um nome descritivo, que será utilizado como referência nas políticas de notificação.
- Em Integration, selecione a opção Telegram.
- Em BOT API Token, informe o token obtido nos pré-requisitos.
- Em Chat ID, informe o identificador do grupo do Telegram.
Recomenda-se ainda avaliar, no momento da criação, se o grupo será convertido em supergrupo. Grupos comuns são convertidos automaticamente em supergrupos quando crescem ou quando recebem um link público, e essa conversão altera o identificador do grupo. Caso o identificador anterior permaneça registrado no contact point, as notificações deixam de ser entregues sem que haja aviso.
Configurações Opcionais
A seção Optional Telegram settings disponibiliza parâmetros adicionais de envio, entre os quais o parse_mode, responsável pela interpretação da formatação da mensagem.
Mensagens no Telegram estão limitadas a 4096 caracteres. Quando um parse_mode diferente de None está definido e a mensagem excede esse limite, o truncamento pode interromper uma marcação de formatação e produzir uma mensagem inválida, resultando em falha no envio. Em cenários nos quais os alertas apresentam descrições extensas, recomenda-se definir o parse_mode como None, privilegiando a confiabilidade da entrega em relação à formatação.
Testando a Integração
O formulário disponibiliza a opção de teste, que envia uma notificação ao destino configurado sem a necessidade de aguardar o disparo de um alerta real.
Ao selecionar Send test notification, a plataforma apresenta o resultado da tentativa. A confirmação Test notification sent successfully indica que o envio foi aceito pelo Telegram. Recomenda-se verificar, além da mensagem de confirmação, se a notificação foi efetivamente recebida no grupo.
Concluído o teste, selecione Save contact point para registrar a configuração.
Roteando Alertas para o Contact Point
O registro do contact point não determina, por si, quais alertas serão enviados a ele. O direcionamento é definido de duas formas.
- Por meio das Notification policies, criando uma rota que corresponda a determinadas labels do alerta e indicando o contact point como destinatário.
- Diretamente na regra de alerta, na seção de notificações, indicando o contact point como destinatário.
Recomenda-se estabelecer um critério de severidade no direcionamento, reservando o canal para eventos que demandem atenção imediata. O envio indiscriminado de notificações ao grupo tende a reduzir a atenção da equipe ao canal.
Glossário de Termos Técnicos
Telegram: Aplicativo de mensagens instantâneas, utilizado neste contexto como canal de recebimento de notificações de alertas.
Contact point: Destino configurado no ambiente de alertas para o envio de notificações. Cada contact point possui um tipo de integração e os parâmetros correspondentes.
Notification policy: Configuração que define como os alertas são agrupados e para quais contact points são direcionados, a partir das labels que carregam.
Bot (Telegram): Aplicação automatizada que opera dentro do Telegram. Para enviar mensagens a um grupo, um bot precisa ser previamente adicionado como participante.
BotFather: Perfil oficial do Telegram utilizado para criar e administrar bots, por meio do qual é obtido o token de acesso.
BOT API Token: Credencial que autoriza o envio de mensagens em nome do bot. Deve receber o mesmo tratamento atribuído a uma senha.
Chat ID: Identificador numérico do destino da mensagem no Telegram. Em grupos, esse número é negativo.
Grupo (Telegram): Conversa com múltiplos participantes no Telegram, utilizada como destino coletivo das notificações.
Supergrupo (Telegram): Modalidade de grupo do Telegram destinada a um número maior de participantes e a recursos adicionais, como link público. A conversão de um grupo comum em supergrupo altera o identificador do grupo.
getUpdates: Endpoint da API do Telegram que retorna os eventos recebidos pelo bot, utilizado para consultar o identificador de um grupo.
parse_mode: Parâmetro que define como a formatação da mensagem será interpretada pelo Telegram.
Label: Par de chave e valor associado a uma regra de alerta, utilizado para classificação, busca, silenciamento e roteamento.
Alerta: Notificação gerada a partir de uma condição monitorada que foi atendida, indicando desvio em relação ao comportamento esperado.
Incidente: Evento inesperado que pode impactar a operação de sistemas ou serviços, demandando atenção e resolução imediata.
Reconhecimento (ack): Registro de que um responsável assumiu a ciência do evento, utilizado no cálculo dos indicadores de atendimento.