設定快訊的通知管道

本頁面說明如何設定通知管道,以便接收快訊。

通知管道是傳送設定快訊的機制。 當事件觸發快訊時,系統會透過這些管道通知指定收件者。這個程序可確保重要快訊透過適當人員偏好的通訊方式傳送給他們。

在 Google Distributed Cloud (GDC) 實體隔離環境中,無法使用預先定義的通知管道,例如 Slack 或電子郵件。如要接收快訊,您必須設定至少一個自訂通知管道。您可以在專案命名空間中編輯 ObservabilityPipeline 自訂資源,套用管道設定。

自訂通知管道後,管理員可以達成下列目標:

  • 指定特定收件者:將快訊直接傳送給負責解決問題的個人、團隊或待命輪值人員。
  • 使用偏好的通訊方式:透過簡訊、PagerDuty、Webhook 或自訂整合等管道傳送快訊,滿足個人偏好和作業工作流程。
  • 避免快訊過多:減少干擾,確保需要採取行動的人員收到快訊。

在 GDC 中導入通知管道時,管理員必須在系統中定義管道設定。這項程序通常需要指定下列參數:

  • 管道類型:使用的管道類型。
  • 目的地:系統應將通知傳送至的端點。
  • 驗證:存取目的地所需的任何憑證。

管理員設定通知管道後,監控平台就能有效傳送重要快訊,讓您及時回應潛在問題,確保 GDC 環境的穩定性和效能。

事前準備

如要取得管理 ObservabilityPipeline 自訂資源所需的權限,請要求機構 IAM 管理員或專案 IAM 管理員授予您相關的 ObservabilityPipeline 角色。

此外,如要取得管理專案命名空間中 ConfigMap 物件所需的權限 (定義設定規則時需要),請要求機構 IAM 管理員或專案 IAM 管理員授予您 ConfigMap 建立者角色。

視存取層級和所需權限而定,您可能會在機構或專案中取得這些資源的建立者、編輯者或檢視者角色。詳情請參閱「準備 IAM 權限」。

設定通知管道

為專案命名空間中的快訊設定通知管道:

  1. 在名為 alertmanager.yml 的 YAML 檔案中,定義通知管道的自訂設定。您必須遵循與 Alertmanager 規格相同的語法:

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

  2. 建立 ConfigMap 物件,並在 data 欄位中加入 alertmanager.yml 檔案中的自訂設定。

    以下範例顯示 ConfigMap 物件在 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
    
      [...]
    

    更改下列內容:

    • CONFIGMAP_NAMEConfigMap 定義檔案的名稱。您會在後續步驟中,在 ObservabilityPipeline 自訂資源中使用這個名稱。
    • PROJECT_NAMESPACE:您的專案命名空間。
  3. 在與已設定快訊相同的命名空間中,將 ConfigMap 物件套用至 Management API 伺服器:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
    

    更改下列內容:

    • KUBECONFIG_PATH:管理 API 伺服器的 kubeconfig 檔案路徑。
    • CONFIGMAP_NAMEConfigMap 定義檔案的名稱。
  4. 編輯 ObservabilityPipeline 自訂資源規格,將設定匯入 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
    
      [...]
    

    更改下列內容:

    • PROJECT_NAMESPACE:您的專案命名空間。
    • OBSERVABILITY_PIPELINE_NAMEObservabilityPipeline自訂資源的名稱。
    • CONFIGMAP_NAME:您用於 ConfigMap 定義檔案的名稱。名稱必須完全相符。
  5. 儲存檔案。

  6. 在與已設定快訊相同的命名空間中,將 ObservabilityPipeline 自訂資源的變更套用至 Management API 伺服器:

    kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
    

    更改下列內容:

    • KUBECONFIG_PATH:管理 API 伺服器的 kubeconfig 檔案路徑。
    • OBSERVABILITY_PIPELINE_NAMEObservabilityPipeline 定義檔案的名稱。