Prometheus 알림의 간이 전자 우편 전송 프로토콜 (SMTP) 알림 채널 구성

이 페이지에서는 Prometheus 알림을 위한 Simple Mail Transfer Protocol (SMTP) 알림 채널을 설정하고 구성하는 방법을 설명합니다. 이 알림 채널을 설정하지 않아도 infra-obs 또는 platform-obs에서 알림을 볼 수 있습니다.

다음 단계에 따라 Slack 또는 이메일 알림 채널을 구성하세요.

  1. 맞춤 알림 알림 채널을 만들려면 네트워크에서 SMTP 서버를 호스팅하고 알림 관리자 구성을 만들 수 있도록 SMTP 구성 세부정보 (IP, 사용자 이름, 비밀번호, 수신자 이메일)를 준비합니다. bm03에서 핑을 보내 SMTP 호스트 IP의 정확성을 확인할 수 있습니다.

  2. 다음 콘텐츠로 cm.yml라는 파일을 만듭니다.

    smtp_smarthost에는 고객이 호스팅하는 SMTP 서버의 IP 주소가 있어야 합니다.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        # The name must match the ConfigMap name specified in the ObservabilityPipeline custom resource.
        name: appl-alert-notification
        # The namespace must match the project namespace
        namespace: PROJECT_NAMESPACE
      data:
        # The file name must be alertmanager.yml
        alertmanager.yml: |
          global:
            smtp_smarthost: SMTP HOST IP ADDRESS
            smtp_from: FROM_EMAIL_ADDRESS
            # Give empty string for unsecured smtp server in username and password and false in smtp_require_tls.
            smtp_auth_username: USERNAME
            smtp_auth_password: PASSWORD
            smtp_require_tls: true
          route:
            group_by: ['alertname', 'cluster', 'service']
            group_wait: 30s
            group_interval: 5m
            repeat_interval: 3h
            receiver: team-X-mails
          receivers:
            - name: 'team-X-mails'
              email_configs:
                - to: **RECIEVER_EMAIL_ID**
    
  3. 필수 입력란을 올바른 콘텐츠로 업데이트합니다.

  4. kubectl apply -f cm.yaml를 실행합니다.

  5. 다음을 사용하여 ObservabilityPipeline 커스텀 리소스를 만듭니다.

        # Configure observability pipeline
      apiVersion: observability.gdc.goog/v1
      kind: ObservabilityPipeline
      metadata:
        # Choose namespace that matches the project's namespace
        namespace: PROJECT_NAMESPACE
        name: observability-config
      spec:
        # Configure Alertmanager
        alerting:
          # Permission: PA and AO
          # The alerts configuration must be in the key "alertmanager.yml" of the configMap
          alertmanagerConfig: CUSTOMIZED_CONFIGMAP_NAME
        ...
    

    다음을 바꿉니다.

    • PROJECT_NAMESPACE: 프로젝트의 네임스페이스입니다.
    • CUSTOMIZED_CONFIGMAP_NAME: ConfigMap 객체에서 구성 파일에 사용한 이름은 ConfigMap 객체의 이름과 정확히 일치해야 합니다. 예를 들어 2단계에서 appl-alert-notificationConfigMap 이름으로 사용한 경우 ObservabilityPipeline 객체에서 구성 파일에 동일한 이름을 사용합니다.

  6. 네임스페이스를 이전 단계에서 사용한 값으로 업데이트합니다.

  7. kubectl apply -f ob.yaml. 실행

  8. GDC의 Grafana 대시보드에 표시되는 모든 알림은 firing 상태인 경우 이메일을 트리거합니다. 이전 단계에서 사용한 네임스페이스에 대해 Grafana를 실행하고 firing 상태의 알림이 있는지 확인합니다. 알림은 이메일로 전송됩니다.