Prometheus アラートの Simple Mail Transfer Protocol(SMTP)通知チャンネルを構成する

このページでは、Prometheus アラートの Simple Mail Transfer Protocol(SMTP)通知チャンネルを設定して構成する方法について説明します。この通知チャンネルを設定しない場合でも、infra-obs または platform-obs でアラートを表示できます。

始める前に

デバイスを構成してソフトウェアをインストールする

通知チャンネルを構成する

Slack またはメールの通知チャネルを構成する手順は次のとおりです。

  1. カスタム アラート通知チャネルを作成するには、ネットワークで SMTP サーバーをホストし、アラート マネージャー構成を作成するための SMTP 構成の詳細(IP、ユーザー名、パスワード、受信者のメール)を用意します。SMTP ホスト IP の正確性を検証するには、bm03 から ping を実行します。

  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: プロジェクトの Namespace。
    • CUSTOMIZED_CONFIGMAP_NAME: ConfigMap オブジェクトの構成ファイルに使用した名前は、ConfigMap オブジェクトの名前と完全に一致する必要があります。たとえば、ステップ 2 で ConfigMap 名として appl-alert-notification を使用した場合は、ObservabilityPipeline オブジェクトの構成ファイルにも同じ名前を使用します。

  6. 名前空間を前のステップで使用した値に更新します。

  7. kubectl apply -f ob.yaml. を実行する

  8. GDC の Grafana ダッシュボードに表示されるアラートは、firing 状態の場合にメールをトリガーします。前の手順で使用した Namespace の Grafana を起動し、firing 状態のアラートを確認します。アラートはメールで届きます。

次のステップ