Mengonfigurasi saluran notifikasi untuk pemberitahuan

Peralatan Google Distributed Cloud (GDC) dengan air gap memungkinkan Anda mengonfigurasi saluran notifikasi kustom untuk mengarahkan pemberitahuan yang dipicu ke individu, tim, atau rotasi on-call tertentu. Mengirimkan pemberitahuan melalui saluran seperti PagerDuty, SMS, webhook, atau integrasi kustom membantu mengurangi kelelahan akibat pemberitahuan dan mendukung respons insiden yang tepat waktu.

Karena saluran notifikasi yang telah ditetapkan seperti Slack atau email tidak tersedia di GDC, Anda harus mengonfigurasi setidaknya satu saluran kustom untuk menerima pemberitahuan. Anda menentukan jenis saluran, endpoint tujuan, dan kredensial autentikasi dalam objek ConfigMap Alertmanager. Kemudian, Anda mengimpor konfigurasi tersebut ke dalam resource kustom ObservabilityPipeline di namespace project Anda.

Sebelum memulai

Untuk mengelola resource kustom ObservabilityPipeline, Anda harus memiliki izin yang diperlukan.

Meminta peran organisasi IAM

Hubungi Admin IAM Organisasi Anda untuk meminta peran berikut:

  • ObservabilityPipeline PA Creator (observabilitypipeline-pa-creator): membuat resource kustom ObservabilityPipeline.
  • ObservabilityPipeline PA Editor (observabilitypipeline-pa-editor): mengedit atau menghapus resource kustom ObservabilityPipeline.
  • ObservabilityPipeline PA Viewer (observabilitypipeline-pa-viewer): melihat resource kustom ObservabilityPipeline.
  • ConfigMap Editor (observabilitypipeline-configmap-editor): membuat objek ConfigMap di namespace platform.

Meminta peran project IAM

Hubungi Project IAM Admin Anda untuk meminta peran berikut:

  • ObservabilityPipeline Editor (observabilitypipeline-editor): mengedit atau menghapus resource kustom ObservabilityPipeline di namespace project.
  • ObservabilityPipeline Viewer (observabilitypipeline-viewer): melihat resource kustom ObservabilityPipeline di namespace project.

Mengonfigurasi saluran notifikasi

Konfigurasikan saluran notifikasi untuk pemberitahuan di namespace project Anda:

  1. Tentukan konfigurasi kustom Anda untuk saluran notifikasi dalam file YAML bernama alertmanager.yml. Anda harus mengikuti sintaksis yang sama dengan spesifikasi Alertmanager:

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

  2. Buat objek ConfigMap dan sertakan konfigurasi kustom Anda dari file alertmanager.yml di kolom data.

    Contoh berikut menunjukkan tampilan objek ConfigMap dengan file 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
    
      [...]
    

    Ganti kode berikut:

    • CONFIGMAP_NAME: nama file definisi ConfigMap. Anda akan menggunakan nama ini nanti di resource kustom ObservabilityPipeline.
    • PROJECT_NAMESPACE: namespace project Anda.
  3. Terapkan objek ConfigMap ke server Management API dalam namespace yang sama dengan pemberitahuan yang dikonfigurasi:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    Ganti kode berikut:

    • KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management API.
    • CONFIGMAP_NAME: nama file definisi ConfigMap.
  4. Edit spesifikasi resource kustom ObservabilityPipeline untuk mengimpor konfigurasi Anda ke kolom 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
    
      [...]
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: namespace project Anda.
    • OBSERVABILITY_PIPELINE_NAME: nama resource kustom ObservabilityPipeline.
    • CONFIGMAP_NAME: nama yang Anda gunakan untuk file definisi ConfigMap. Nama harus sama persis.
  5. Simpan file.

  6. Terapkan perubahan resource kustom ObservabilityPipeline ke server Management API dalam namespace yang sama dengan pemberitahuan yang Anda konfigurasi:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    Ganti kode berikut:

    • KUBECONFIG_PATH: jalur ke file kubeconfig untuk server Management API.
    • OBSERVABILITY_PIPELINE_NAME: nama file definisi ObservabilityPipeline.