为提醒配置通知渠道

本页简要介绍了配置通知渠道以接收提醒的过程。

通知渠道是已配置的提醒的传送机制。当事件触发提醒时,系统会通过这些渠道通知指定收件人。此流程可确保关键提醒通过相关人员偏好的通信方式发送给他们。

在 Google Distributed Cloud (GDC) 网闸隔离环境中,Slack 或电子邮件等预定义的通知渠道不可用。如需接收提醒,您必须至少配置一个自定义通知渠道。您可以在项目命名空间中修改 ObservabilityPipeline 自定义资源,以应用渠道配置。

通过自定义通知渠道,管理员可以实现以下目标:

  • 指定特定接收者:将提醒直接发送给负责解决问题的个人、团队或轮班人员。
  • 使用首选的通信方式:通过短信、PagerDuty、网络钩子或自定义集成等渠道传送提醒,以满足个人偏好和运营工作流程。
  • 防止提醒疲劳:减少干扰,确保需要采取行动的人员收到提醒。

在 GDC 中实现通知渠道需要管理员在系统中定义渠道配置。此过程通常涉及指定以下参数:

  • 渠道类型:所用渠道的类型。
  • 目的地:系统应将通知发送到的端点。
  • 身份验证:访问目标平台所需的任何凭据。

通过配置通知渠道,管理员可以确保监控平台有效传递关键提醒,从而及时响应潜在问题,并保持 GDC 环境的稳定性和性能。

准备工作

如需管理 ObservabilityPipeline 自定义资源,您必须拥有必要的权限。

申请 IAM 组织角色

请与您的组织 IAM 管理员联系,申请获得以下角色:

  • ObservabilityPipeline PA Creator (observabilitypipeline-pa-creator):创建 ObservabilityPipeline 自定义资源。
  • ObservabilityPipeline PA Editor (observabilitypipeline-pa-editor):修改或编辑 ObservabilityPipeline 自定义资源。
  • ObservabilityPipeline PA Viewer (observabilitypipeline-pa-viewer):查看 ObservabilityPipeline 自定义资源。
  • ConfigMap 编辑器 (observabilitypipeline-configmap-editor):在平台命名空间中创建 ConfigMap 对象。

请求 IAM 项目角色

请与您的项目 IAM 管理员联系,申请获得以下角色:

  • ObservabilityPipeline 编辑器 (observabilitypipeline-editor):用于在项目命名空间中编辑或修改 ObservabilityPipeline 自定义资源。
  • ObservabilityPipeline Viewer (observabilitypipeline-viewer):查看项目命名空间中的 ObservabilityPipeline 自定义资源。

配置通知渠道

为项目命名空间中的提醒配置通知渠道:

  1. 在名为 alertmanager.yml 的 YAML 文件中定义通知渠道的自定义配置。您必须遵循与 Alertmanager 规范相同的语法:

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

  2. 创建一个 ConfigMap 对象,并将 alertmanager.yml 文件中的自定义配置包含在 data 字段中。

    以下示例展示了 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:Management 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:Management API 服务器的 kubeconfig 文件的路径。
    • OBSERVABILITY_PIPELINE_NAMEObservabilityPipeline 定义文件的名称。