本页概述了配置通知渠道以接收提醒的过程。
通知渠道是已配置的提醒的传送机制。当事件触发提醒时,系统会通过这些渠道通知指定收件人。此流程可确保关键提醒通过相应人员偏好的通信方式送达。
在 Google Distributed Cloud (GDC) 经过网闸隔离的环境中,Slack 或电子邮件等预定义的通知渠道不可用。如需接收提醒,您必须至少配置一个自定义通知渠道。您可以在项目命名空间中修改 ObservabilityPipeline
自定义资源,以应用渠道配置。
通过自定义通知渠道,管理员可以实现以下目的:
- 指定特定接收者:将提醒直接发送给负责解决问题的个人、团队或轮班人员。
- 使用首选通信方式:通过短信、PagerDuty、网络钩子或自定义集成等渠道传送提醒,以满足个人偏好和运营工作流程。
- 防止提醒疲劳:减少干扰,确保需要采取行动的人员收到提醒。
在 GDC 中实现通知渠道需要管理员在系统中定义渠道配置。此过程通常涉及指定以下参数:
- 渠道类型:所用渠道的类型。
- 目的地:系统应将通知发送到的端点。
- 身份验证:访问目标所需的任何凭据。
通过配置通知渠道,管理员可以确保监控平台有效地传递关键提醒,从而及时响应潜在问题,并保持 GDC 环境的稳定性和性能。
准备工作
如需获得管理ObservabilityPipeline
自定义资源所需的权限,请让组织 IAM 管理员或项目 IAM 管理员向您授予关联的ObservabilityPipeline
角色之一。
此外,如需获得管理项目命名空间中定义配置规则所需的 ConfigMap
对象的权限,请让组织 IAM 管理员或项目 IAM 管理员向您授予 ConfigMap Creator 角色。
根据您需要的访问权限级别,您可以在组织或项目中获得这些资源的创建者、编辑者或查看者角色。如需了解详情,请参阅准备 IAM 权限。
配置通知渠道
为项目命名空间中的提醒配置通知渠道:
在名为
alertmanager.yml
的 YAML 文件中定义通知渠道的自定义配置。您必须遵循与 Alertmanager 规范相同的语法:创建一个
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_NAME
:ConfigMap
定义文件的名称。您稍后将在ObservabilityPipeline
自定义资源中使用此名称。PROJECT_NAMESPACE
:您的项目命名空间。
将
ConfigMap
对象应用于与配置的提醒相同的命名空间内的 Management API 服务器:kubectl --kubeconfig KUBECONFIG_PATH apply -f CONFIGMAP_NAME.yaml
替换以下内容:
KUBECONFIG_PATH
:管理 API 服务器的 kubeconfig 文件的路径。CONFIGMAP_NAME
:ConfigMap
定义文件的名称。
修改
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_NAME
:ObservabilityPipeline
自定义资源的名称。CONFIGMAP_NAME
:您为ConfigMap
定义文件使用的名称。名称必须完全一致。
保存文件。
将
ObservabilityPipeline
自定义资源的更改应用于与配置的提醒位于同一命名空间中的 Management API 服务器:kubectl --kubeconfig KUBECONFIG_PATH apply -f OBSERVABILITY_PIPELINE_NAME.yaml
替换以下内容:
KUBECONFIG_PATH
:管理 API 服务器的 kubeconfig 文件的路径。OBSERVABILITY_PIPELINE_NAME
:ObservabilityPipeline
定义文件的名称。