Configure canais de notificação para alertas

Esta página descreve o processo de configuração de canais de notificação para receber alertas.

Os canais de notificação são os mecanismos de entrega dos alertas configurados. O sistema envia uma notificação aos destinatários designados através destes canais quando um evento aciona um alerta. Este processo garante que os alertas críticos chegam ao pessoal adequado através dos respetivos métodos de comunicação preferidos.

Nos ambientes isolados do Google Distributed Cloud (GDC), os canais de notificação predefinidos, como o Slack ou o email, não estão disponíveis. Para receber alertas, tem de configurar, pelo menos, um canal de notificação personalizado. Edite os recursos personalizados ObservabilityPipeline no espaço de nomes do projeto para aplicar as configurações do canal.

Ao personalizar os canais de notificação, os administradores podem:

  • Segmentar destinatários específicos: enviar alertas para indivíduos, equipas ou turnos de serviço responsáveis por resolver problemas.
  • Usar métodos de comunicação preferidos: enviar alertas através de canais como SMS, PagerDuty, Webhooks ou integrações personalizadas, de acordo com as preferências individuais e os fluxos de trabalho operacionais.
  • Evitar a fadiga de alertas: reduzir o ruído e garantir que os alertas são recebidos por aqueles que precisam de tomar medidas.

A implementação de canais de notificação no GDC requer que os administradores definam a configuração do canal no sistema. Normalmente, este processo envolve a especificação de parâmetros como:

  • Tipo de canal: o tipo de canal que está a ser usado.
  • Destino: o ponto final para onde o sistema deve enviar notificações.
  • Autenticação: as credenciais necessárias para aceder ao destino.

Ao configurar canais de notificação, os administradores podem garantir que a plataforma de monitorização envia eficazmente alertas críticos, o que permite dar respostas rápidas a potenciais problemas e manter a estabilidade e o desempenho dos ambientes do GDC.

Antes de começar

Para gerir os recursos personalizados ObservabilityPipeline, tem de ter as autorizações necessárias.

Peça funções da organização de IAM

Contacte o administrador de IAM da organização para pedir as seguintes funções:

  • Criador de PA do ObservabilityPipeline (observabilitypipeline-pa-creator): crie recursos personalizados ObservabilityPipeline.
  • Editor de PA do ObservabilityPipeline (observabilitypipeline-pa-editor): edite ou modifique recursos personalizados ObservabilityPipeline.
  • Visualizador de PA do ObservabilityPipeline (observabilitypipeline-pa-viewer): veja recursos personalizados ObservabilityPipeline.
  • Editor de ConfigMap (observabilitypipeline-configmap-editor): crie objetos ConfigMap no espaço de nomes da plataforma.

Peça funções de IAM do projeto

Contacte o administrador de IAM do projeto para pedir as seguintes funções:

  • Editor do ObservabilityPipeline (observabilitypipeline-editor): edite ou modifique recursos personalizados ObservabilityPipeline no espaço de nomes do projeto.
  • Visualizador do ObservabilityPipeline (observabilitypipeline-viewer): veja recursos personalizados ObservabilityPipeline no espaço de nomes do projeto.

Configure canais de notificação

Configure canais de notificação para alertas no espaço de nomes do projeto:

  1. Defina a configuração personalizada para canais de notificação num ficheiro YAML com o nome alertmanager.yml. Tem de seguir a mesma sintaxe que a especificação do Alertmanager:

    https://prometheus.io/docs/alerting/latest/configuration/.

  2. Crie um objeto ConfigMap e inclua a configuração personalizada do ficheiro alertmanager.yml no campo data.

    O exemplo seguinte mostra o aspeto que o objeto ConfigMap deve ter com o ficheiro alertmanager.yml:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: CONFIGMAP_NAME
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
    data:
      # The file name must be alertmanager.yml
      alertmanager.yml: |
        # Define your notification channels.
        # Add the custom configuration in the following lines of this file.
        # Follow the same syntax as in https://prometheus.io/docs/alerting/latest/configuration
    
      [...]
    

    Substitua o seguinte:

    • CONFIGMAP_NAME: o nome do ficheiro de definição ConfigMap. Vai usar este nome mais tarde no recurso personalizado ObservabilityPipeline.
    • PROJECT_NAMESPACE: o espaço de nomes do projeto.
  3. Aplique o objeto ConfigMap ao servidor da API Management no mesmo espaço de nomes que os alertas configurados:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Substitua o seguinte:

    • KUBECONFIG_PATH: o caminho para o ficheiro kubeconfig do servidor da API Management.
    • CONFIGMAP_NAME: o nome do ficheiro de definição ConfigMap.
  4. Edite a especificação do recurso personalizado ObservabilityPipeline para importar a configuração para o campo alertmanagerConfig:

     # Configure the observability pipeline.
    apiVersion: observability.gdc.goog/v1
    kind: ObservabilityPipeline
    metadata:
      # The namespace must match your project namespace.
      namespace: PROJECT_NAMESPACE
      name: OBSERVABILITY_PIPELINE_NAME
    spec:
      # Configure alerts.
      alerting:
        # The alerting configuration must be in the ConfigMap.
        # The value must match the ConfigMap name exactly.
        alertmanagerConfig: CONFIGMAP_NAME
    
      [...]
    

    Substitua o seguinte:

    • PROJECT_NAMESPACE: o espaço de nomes do projeto.
    • OBSERVABILITY_PIPELINE_NAME: o nome do recurso personalizado ObservabilityPipeline.
    • CONFIGMAP_NAME: o nome que usou para o ficheiro de definição ConfigMap. O nome tem de ter correspondência exata.
  5. Guarde o ficheiro.

  6. Aplique as alterações do recurso personalizado ObservabilityPipeline ao servidor da API Management no mesmo espaço de nomes que os alertas configurados:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Substitua o seguinte:

    • KUBECONFIG_PATH: o caminho para o ficheiro kubeconfig do servidor da API Management.
    • OBSERVABILITY_PIPELINE_NAME: o nome do ficheiro de definição ObservabilityPipeline.