Mengonfigurasi saluran notifikasi Simple Mail Transfer Protocol (SMTP) untuk pemberitahuan Prometheus

Halaman ini menjelaskan cara menyiapkan dan mengonfigurasi saluran notifikasi Simple Mail Transfer Protocol (SMTP) untuk pemberitahuan Prometheus. Jika Anda memilih untuk tidak menyiapkan saluran notifikasi ini, Anda tetap dapat melihat pemberitahuan di infra-obs atau platform-obs.

Lakukan langkah-langkah berikut untuk mengonfigurasi saluran notifikasi email atau Slack:

  1. Untuk membuat saluran notifikasi pemberitahuan kustom, host server SMTP di jaringan Anda dan siapkan detail konfigurasi SMTP (IP, nama pengguna, sandi, email penerima) untuk membuat konfigurasi alertmanager. Anda dapat memvalidasi kebenaran IP host SMTP dengan melakukan ping dari bm03.

  2. Buat file cm.yml dengan konten berikut:

    smtp_smarthost harus memiliki alamat IP server SMTP yang dihosting oleh pelanggan.

      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. Perbarui kolom wajib diisi dengan konten yang benar.

  4. Jalankan kubectl apply -f cm.yaml.

  5. Buat resource kustom ObservabilityPipeline dengan hal berikut:

        # 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
        ...
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: Namespace project Anda.
    • CUSTOMIZED_CONFIGMAP_NAME: Nama yang Anda gunakan untuk file konfigurasi di objek ConfigMap harus sama persis dengan nama objek ConfigMap. Misalnya, pada langkah 2, jika Anda menggunakan appl-alert-notification sebagai nama ConfigMap, gunakan nama yang sama untuk file konfigurasi Anda di objek ObservabilityPipeline.

  6. Perbarui namespace ke nilai yang digunakan di langkah sebelumnya.

  7. Jalankan kubectl apply -f ob.yaml.

  8. Semua pemberitahuan yang terlihat di dasbor Grafana GDC akan memicu email jika berada dalam status firing. Luncurkan Grafana untuk namespace yang Anda gunakan di langkah sebelumnya dan periksa apakah ada pemberitahuan dalam status firing. Pemberitahuan akan dikirim ke email Anda.