Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Configuração do Receptor

O Segredo Configuração do Alertmanager contém a configuração de uma instância do Alertmanager que envia notificações com base nos alertas que recebe do Prometheus.

Esta seção assume familiaridade com o funcionamento conjunto dos componentes de monitoramento. Para mais informações sobre o Alertmanager, veja esta seção.

Criando Receptores na interface do Rancher

Pré-requisitos:
  • O aplicativo de monitoramento precisa ser instalado.

  • Se você configurou o monitoramento com um Segredo do Alertmanager existente, ele deve ter um formato que seja suportado pela interface do Rancher. Caso contrário, você só poderá fazer alterações com base na modificação do Segredo do Alertmanager diretamente. Nota: Estamos continuando a fazer melhorias sobre quais tipos de Configurações do Alertmanager podemos suportar usando a interface de Rotas e Receptores, então, por favor, registre um problema se você tiver um pedido para uma melhoria de recurso.

  1. Vá para o cluster onde você deseja criar receptores. Clique em Monitoramento -> Alertas -> Configurações do AlertManager.

  2. Clique em Criar.

  3. Insira um Nome para a nova Configuração do Alertmanager.

  4. Clique em Criar.

  5. Após criar a Configuração do Alertmanager, clique nela para adicionar um receptor.

  6. Clique em Adicionar Receptor.

  7. Insira um Nome para o receptor.

  8. Configure um ou mais provedores para o receptor. Para ajuda ao preencher os formulários, consulte as opções de configuração abaixo.

  9. Clique em Criar.

Resultado: Os alertas podem ser configurados para enviar notificações para o(s) receptor(es).

Configuração do Receptor

As integrações de notificação são configuradas com o receiver, que é explicado na documentação do Prometheus.

Nativo vs. Receptores não nativos

Por padrão, o AlertManager fornece integração nativa com alguns receptores, que estão listados em esta seção. Todos os receptores suportados nativamente são configuráveis através da interface do Rancher.

Para mecanismos de notificação, como Telegram, que não são suportados nativamente pelo AlertManager, a integração é realizada usando o receptor webhook. Uma lista de drivers de terceiros que fornecem tais integrações pode ser encontrada aqui. O acesso a esses drivers e suas integrações associadas é fornecido através do aplicativo de Drivers de Alerta. Uma vez habilitado, a configuração de receptores não nativos também pode ser feita através da interface do Rancher.

Atualmente, o aplicativo Rancher Alerting Drivers fornece acesso às seguintes integrações:

  • Microsoft Teams, com base no driver prom2teams.

  • Telegram, com base no driver Sachet.

Os seguintes tipos de receptores podem ser configurados na interface do Rancher:

A opção de receptor personalizado pode ser usada para configurar qualquer receptor em YAML que não pode ser configurado preenchendo os outros formulários na interface do Rancher.

Slack

Campo Tipo Descrição

URL

String

Insira a URL do seu webhook do Slack. Para instruções sobre como criar um webhook do Slack, consulte a documentação do Slack.

Canal Padrão

String

Insira o nome do canal que você deseja enviar notificações de alerta no seguinte formato: #<channelname>.

URL do proxy

String

Proxy para as notificações do webhook.

Habilitar Enviar Alertas Resolvidos

Bool

Se deve enviar uma notificação de acompanhamento se um alerta foi resolvido (por exemplo, [Resolvido] Alta Utilização de CPU).

E-mail

Campo Tipo Descrição

Endereço do Destinatário Padrão

String

O endereço de e-mail que receberá as notificações.

Habilitar Enviar Alertas Resolvidos

Bool

Se deve enviar uma notificação de acompanhamento se um alerta foi resolvido (por exemplo, [Resolvido] Alta Utilização de CPU).

Opções SMTP:

Campo Tipo Descrição

Remetente

String

Insira um endereço de e-mail disponível no seu servidor de e-mail SMTP de onde você deseja enviar a notificação.

Host

String

Insira o endereço IP ou o nome do host do seu servidor SMTP. Exemplo: smtp.email.com.

Use TLS

Bool

Use TLS para criptografia.

Nome de usuário

String

Insira um nome de usuário para autenticar-se no servidor SMTP.

Gerenciamento

String

Insira uma senha para autenticar-se no servidor SMTP.

PagerDuty

Campo Tipo Descrição

Tipo de Integração

String

Events API v2 ou Prometheus.

Chave de Integração Padrão

String

Para instruções sobre como obter uma chave de integração, consulte a documentação do PagerDuty.

URL do proxy

String

Proxy para as notificações do PagerDuty.

Habilitar Enviar Alertas Resolvidos

Bool

Se deve enviar uma notificação de acompanhamento se um alerta foi resolvido (por exemplo, [Resolvido] Alta Utilização de CPU).

Opsgenie

Campo Descrição

Chave da API

Para instruções sobre como obter uma chave da API, consulte a documentação do Opsgenie.

URL do proxy

Proxy para as notificações do Opsgenie.

Habilitar Enviar Alertas Resolvidos

Se deve enviar uma notificação de acompanhamento se um alerta foi resolvido (por exemplo, [Resolvido] Alta Utilização de CPU).

Respondentes do Opsgenie:

Campo Tipo Descrição

Tipo

String

Agenda, Equipe, Usuário ou Escalonamento. Para mais informações sobre respondentes de alerta, consulte a documentação do Opsgenie.

Enviar para:

String

Id, Nome ou Nome de Usuário do destinatário do Opsgenie.

Webhook

Campo Descrição

URL

URL do Webhook para o aplicativo de sua escolha.

URL do proxy

Proxy para a notificação do webhook.

Habilitar Enviar Alertas Resolvidos

Se deve enviar uma notificação de acompanhamento se um alerta foi resolvido (por exemplo, [Resolvido] Alta Utilização de CPU).

Personalizado

O YAML fornecido aqui será diretamente anexado ao seu receptor dentro do Segredo de Configuração do Alertmanager.

Equipes

Habilitando o Receptor do Teams para Clusters Gerenciados pelo Rancher

O receptor do Teams não é um receptor nativo e deve ser habilitado antes de ser utilizado. Você pode habilitar o receptor do Teams para um cluster gerenciado pelo Rancher acessando a página de Apps e instalando o aplicativo rancher-alerting-drivers com a opção Teams selecionada.

  1. Na interface do Rancher, vá para o cluster onde você deseja instalar o rancher-alerting-drivers e clique em Apps.

  2. Clique no aplicativo Alerting Drivers.

  3. Clique na aba Opções de Implantação do Helm.

  4. Selecione a opção Teams e clique em Instalar.

  5. Anote o namespace utilizado, pois será necessário em um passo posterior.

Configurando o Receptor do Teams

  1. Para configurar o receptor do Teams, atualize o seu ConfigMap. O seguinte exemplo é uma configuração mínima do receptor do Teams:

     [Microsoft Teams]
     connector: https://your-teams-webhook-url
  2. Após atualizar a configuração, siga as instruções em Criando Receptores na interface do Rancher para adicionar o receptor. Use o exemplo abaixo para formar sua URL. Certifique-se de substituir <namespace> pelo namespace do app rancher-alerting-drivers:

     url: http://rancher-alerting-drivers-prom2teams.<namespace>.svc:8089/v2/connector

SMS

Habilitando o Receptor de SMS para Clusters Gerenciados pelo Rancher

O receptor de SMS não é um receptor nativo e deve ser habilitado antes de ser utilizado. Você pode habilitar o receptor de SMS para um cluster gerenciado pelo Rancher acessando a página de Apps e instalando o aplicativo rancher-alerting-drivers com a opção SMS selecionada.

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, vá para o cluster onde você deseja instalar rancher-alerting-drivers e clique em Explorar.

  3. Na barra de navegação à esquerda, clique

  4. Clique no aplicativo Alerting Drivers.

  5. Clique na aba Opções de Implantação do Helm

  6. Selecione a opção SMS e clique em Instalar.

  7. Anote o namespace utilizado, pois será necessário em um passo posterior.

Configurando o Receptor de SMS

O receptor de SMS pode ser configurado atualizando seu ConfigMap. Por exemplo, a seguir está uma configuração mínima do receptor de SMS.

providers:
  telegram:
    token: 'your-token-from-telegram'

receivers:
- name: 'telegram-receiver-1'
  provider: 'telegram'
  to:
    - '123456789'

Quando a configuração estiver completa, adicione o receptor usando os passos em esta seção.

Use o exemplo abaixo como nome e URL, onde:

  • o nome atribuído ao receptor, por exemplo, telegram-receiver-1, deve corresponder ao nome no campo receivers.name no ConfigMap, por exemplo, telegram-receiver-1

  • ns-1 na URL é substituído pelo namespace onde o app rancher-alerting-drivers está instalado

name: telegram-receiver-1
url http://rancher-alerting-drivers-sachet.ns-1.svc:9876/alert

Telegram

Habilitando o Receptor do Telegram para Clusters Gerenciados pelo Rancher

O receptor do Telegram não é um receptor nativo. Você deve habilitá-lo antes que possa ser usado. Você pode habilitar o receptor do Telegram para um cluster gerenciado pelo Rancher acessando a página Apps e instalando o app rancher-alerting-drivers com a opção Telegram selecionada:

  1. No canto superior esquerdo, clique em ☰ > Gerenciamento de Cluster.

  2. Na página Clusters, vá para o cluster onde você deseja instalar rancher-alerting-drivers e clique em Explorar.

  3. Na barra de navegação à esquerda, clique em Apps.

  4. Clique no aplicativo Alerting Drivers.

  5. Clique em Instalar.

  6. Na página que se abre a seguir, certifique-se de que a caixa de seleção Habilitar SMS esteja marcada. As notificações do Telegram exigem que você habilite o SMS.

  7. Anote o namespace utilizado, pois será necessário em um passo posterior.

Teste a Configuração configurando uma PrometheusRule

Para testar sua configuração do Telegram, crie um PrometheusRule que dispare alertas continuamente.

NOTE

Esta regra é destinada apenas a testar se os alertas do Telegram funcionam como esperado. Não o deixe ligado após a conclusão dos testes.

  1. No menu de navegação à esquerda, clique em Monitoramento.

  2. Clique em Avançado.

  3. Clique em PrometheusRules  Criar.

  4. Selecione um namespace para colocar a regra e nomeie a regra de forma apropriada.

  5. Defina o nome do grupo como test. Use este valor mais tarde quando você criar uma Rota no AlertManagerConfig.

  6. Em Alerting Rules, clique em Adicionar.

  7. Defina um Nome do Alerta apropriado.

  8. Para acionar o alerta imediatamente e continuamente, insira a seguinte Expressão PromQL: vector(1).

  9. Em Labels, clique em Adicionar Rótulo. Insira a chave test e o valor alert. Este par chave-valor também será usado mais tarde.

Configure um AlertManagerConfig

Configure um AlertManagerConfig para conter a configuração de Receptor e Rota para o PrometheusRule criado acima:

  1. Clique em Monitoramento  Alertas e abra AlertManagerConfigs.

  2. Clique em Criar

Crie um Receptor no AlertManagerConfig

  1. Escolha um namespace no dropdown e defina um nome apropriado.

  2. Clique em Criar.

  3. Abra o AlertManagerConfig recém-criado e clique em ⋮ > Editar Config.

  4. Clique em Adicionar Receptor.

  5. Selecione Webhook na lista na página Criar Receptor no AlertmanagerConfig.

  6. Nomeie o webhook e clique em Adicionar Webhook.

  7. No dropdown Selecionar Tipo de Webhook, selecione SMS. Isso irá preencher automaticamente o campo Alvo como http://rancher-alerting-drivers-sachet.cattle-monitoring-system.svc:9876/alert. Se você instalou os Drivers de Alerta em um namespace diferente de cattle-monitoring-system, a URL de destino refletirá isso.

  8. Clique em Criar.

Crie uma Rota no AlertManagerConfig

  1. Clique em ⋮ > Editar Configuração.

  2. Clique em Rota.

  3. No dropdown, selecione o Receptor que você acabou de criar.

  4. No campo Rótulos para Agrupar Alertas Por, digite test.

  5. Em Esperas e Intervalos, defina Espera do Grupo para 1s e Intervalo do Grupo para 10s. Isso gera alertas frequentes. Altere os valores conforme apropriado.

  6. Em Correspondências, clique em Adicionar Correspondência. Digite test no campo Nome e alert no campo Valor. No dropdown Tipo de Correspondência, selecione MatchEqual.

  7. Clique em Salvar.

Configurando o Receptor do Telegram

Você pode configurar o receptor do Telegram atualizando o rancher-alerting-drivers-sachet ConfigMap no namespace cattle-monitoring-system. Por exemplo, a seguir está uma configuração mínima de receptor do Telegram:

providers:
  telegram:
    token: <your-token-from-telegram>

receivers:
- name: 'cattle-monitoring-system/test-amc/prom2tel'
  provider: 'telegram'
  to:
    - '123456789'

Para obter um token do Telegram, configure um bot do Telegram. Consulte o guia oficial do Telegram para mais detalhes. Após terminar de configurar o receptor, adicione-o.

Nomeie o receptor <namespace>/<alertmanagerconfig-name>/<receiver-name>. Digite 123456789 como espaço reservado para o ID do usuário do Telegram para enviar as notificações. Para encontrar seu ID do Telegram, verifique o bot userinfo do Telegram.

Agora você deve receber notificações do Telegram no ID do usuário. Se você não receber notificações, verifique se há erros relatados no Pod para a implantação rancher-alerting-drivers-sachet no namespace cattle-monitoring-system.

Configurando Múltiplos Receptores

Ao editar os formulários na interface do Rancher, você pode configurar um recurso Receptor com todas as informações que o Alertmanager precisa para enviar alertas ao seu sistema de notificação.

Também é possível enviar alertas para múltiplos sistemas de notificação. Uma maneira é configurar o receptor usando YAML personalizado, caso em que você pode adicionar a configuração para múltiplos sistemas de notificação, desde que tenha certeza de que ambos os sistemas devem receber as mesmas mensagens.

Você também pode configurar múltiplos receptores usando a opção continue para uma rota, de modo que os alertas enviados a um receptor continuem sendo avaliados no próximo nível da árvore de roteamento, que pode conter outro receptor.

Exemplos de configurações do Alertmanager

Slack

Para configurar notificações via Slack, o seguinte YAML de configuração do Alertmanager pode ser colocado na chave alertmanager.yaml do segredo de configuração do Alertmanager, em que api_url deve ser atualizado para usar sua URL de Webhook do Slack:

route:
  group_by: ['job']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 3h
  receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
  slack_configs:
  - send_resolved: true
    text: '{{ template "slack.rancher.text" . }}'
    api_url: <user-provided slack webhook url here>
templates:
- /etc/alertmanager/config/*.tmpl

PagerDuty

Para configurar notificações via PagerDuty, use o exemplo abaixo da documentação do PagerDuty como um guia. Este exemplo configura uma rota que captura alertas para um serviço de banco de dados e os envia a um receptor vinculado a um serviço que enviará notificações diretamente aos DBAs através do PagerDuty, enquanto todos os outros alertas serão direcionados a um receptor padrão com uma chave de integração do PagerDuty diferente.

O seguinte YAML de configuração do Alertmanager pode ser colocado na chave alertmanager.yaml do segredo de configuração do Alertmanager. O service_key deve ser atualizado para usar sua chave de integração do PagerDuty e pode ser encontrado conforme a seção "Integrando com o Roteamento Global de Eventos" da documentação do PagerDuty. Para obter a lista completa de opções de configuração, consulte a documentação do Prometheus.

route:
 group_by: [cluster]
 receiver: 'pagerduty-notifications'
 group_interval: 5m
 routes:
  - match:
      service: database
    receiver: 'database-notifcations'

receivers:
- name: 'pagerduty-notifications'
  pagerduty_configs:
  - service_key: 'primary-integration-key'

- name: 'database-notifcations'
  pagerduty_configs:
  - service_key: 'database-integration-key'

Exemplo de configuração de rota para alertas de verificação de conformidade

Ao configurar as rotas para alertas de rancher-compliance, você pode especificar a correspondência usando o par chave-valor job: rancher-compliance-scan.

Por exemplo, o seguinte exemplo de configuração de rota poderia ser utilizado com um receptor do Slack chamado test-compliance:

spec:
  receiver: test-compliance
  group_by:
#    - string
  group_wait: 30s
  group_interval: 30s
  repeat_interval: 30s
  match:
    job: rancher-compliance-scan
#    key: string
  match_re:
    {}
#    key: string

Para mais informações sobre como habilitar alertas para rancher-compliance, veja esta seção.

CA confiável para Notificadores

Se você precisar adicionar uma CA confiável ao seu notificador, siga os passos na esta seção.