7.3. 为用户定义的警报路由启用一个单独的 Alertmanager 实例

在一些集群中,您可能想要为用户定义的项目部署专用 Alertmanager 实例,这有助于降低默认平台 Alertmanager 实例的负载,并更好地将用户定义的警报与默认平台警报分开。在这些情况下,您可以选择性地启用一个单独的 Alertmanager 实例,以仅为用户定义的项目发送警报。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 您已为 openshift-monitoring 命名空间的 cluster-monitoring-config 配置映射中为用户定义的项目启用了监控。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 编辑 user-workload-monitoring-config ConfigMap 对象:

    $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
  2. data/config.yaml 下,添加 alertmanager 部分的 enabled: trueenableAlertmanagerConfig: true

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: user-workload-monitoring-config
      namespace: openshift-user-workload-monitoring
    data:
      config.yaml: |
        alertmanager:
          enabled: true 1
          enableAlertmanagerConfig: true 2
    1
    enabled 值设为 true,为集群中的用户定义的项目启用 Alertmanager 专用实例。将值设为 false 或省略键可完全为用户定义的项目禁用 Alertmanager。如果将此值设置为 false,或者如果省略了密钥,则用户定义的警报会路由到默认平台 Alertmanager 实例。
    2
    enableAlertmanagerConfig 值设置为 true,以便用户使用 AlertmanagerConfig 对象定义自己的警报路由配置。
  3. 保存文件以使改变生效。用于用户定义的项目的 Alertmanager 专用实例会自动启动。

验证

  • 验证 user-workload Alertmanager 实例是否已启动:

    # oc -n openshift-user-workload-monitoring get alertmanager

    输出示例

    NAME            VERSION   REPLICAS   AGE
    user-workload   0.24.0    2          100s