为提醒配置通知渠道

本页概述了配置通知渠道以接收提醒的过程。

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

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

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

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

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

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

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

准备工作

如需获得管理ObservabilityPipeline自定义资源所需的权限,请让组织 IAM 管理员或项目 IAM 管理员向您授予关联的ObservabilityPipeline角色之一。

此外,如需获得管理项目命名空间中定义配置规则所需的 ConfigMap 对象的权限,请让组织 IAM 管理员或项目 IAM 管理员向您授予 ConfigMap Creator 角色。

根据您需要的访问权限级别,您可以在组织或项目中获得这些资源的创建者、编辑者或查看者角色。如需了解详情,请参阅准备 IAM 权限

配置通知渠道

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

  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:管理 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 定义文件的名称。