第 4 章 为 Alertmanager 配置 secret


OpenShift Container Platform 监控堆栈包括 Alertmanager,它将警报从 Prometheus 路由到端点接收器。如果您需要通过接收器进行身份验证以便 Alertmanager 能够向它发送警报,您可以将 Alertmanager 配置为使用包含接收器身份验证凭据的 secret。

例如,您可以将 Alertmanager 配置为使用 secret 与需要由私有证书颁发机构 (CA) 发布的证书的端点接收器进行身份验证。您还可以将 Alertmanager 配置为使用 secret 与需要用于基本 HTTP 身份验证密码文件的接收器进行身份验证。在这两种情况下,身份验证详情都包含在 Secret 对象中,而不是包括在 ConfigMap 对象中。

4.1. 在 Alertmanager 配置中添加 secret

您可以通过编辑 openshift-monitoring 项目中的 cluster-monitoring-config 配置映射,将 secret 添加到核心平台监控组件的 Alertmanager 配置中。

将 secret 添加到配置映射后,secret 作为一个卷挂载到 Alertmanager Pod 的 alertmanager 容器中的 /etc/alertmanager/secrets/<secret_name 的卷中。

先决条件

  • 如果要在 openshift-monitoring 项目中配置 OpenShift Container Platform 核心监控组件

    • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
    • 您已创建了 cluster-monitoring-config 配置映射。
    • 您已创建了要在 openshift-monitoring 项目中的 Alertmanager 中配置的 secret。
  • 如果您要配置用于监控用户定义的项目的组件

    • 您可以使用具有 cluster-admin 集群角色的用户访问集群,也可以使用在 openshift-user-workload-monitoring 项目中具有 user-workload-monitoring-config-edit 角色的用户访问集群。
    • 您已创建了要在 openshift-user-workload-monitoring 项目中的 Alertmanager 中配置的 secret。
    • 集群管理员为用户定义的项目启用了监控。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 编辑 ConfigMap 对象。

    • 在 Alertmanager 中为核心平台监控添加 secret 配置

      1. 编辑 openshift-monitoring 项目中的 cluster-monitoring-config 配置映射:

        $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
      2. data/config.yaml/alertmanagerMain 下添加一个 secrets: 部分,并具有以下配置:

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: cluster-monitoring-config
          namespace: openshift-monitoring
        data:
          config.yaml: |
            alertmanagerMain:
              secrets: 1
              - <secret_name_1> 2
              - <secret_name_2>
        1
        本节包含要挂载到 Alertmanager 中的 secret。secret 必须位于与 Alertmanager 对象相同的命名空间中。
        2
        包含接收器身份验证凭证的 Secret 对象的名称。如果您添加多个 secret,请将每个 secret 放在新行中。

        以下示例配置映射设置将 Alertmanager 配置为使用名为 test-secret-basic-authtest-secret-api-token 的两个 Secret 对象:

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: cluster-monitoring-config
          namespace: openshift-monitoring
        data:
          config.yaml: |
            alertmanagerMain:
              secrets:
              - test-secret-basic-auth
              - test-secret-api-token
    • 将 secret 配置添加到 Alertmanager 中用于用户定义的项目的监控

      1. 编辑 openshift-user-workload-monitoring 项目中的 user-workload-monitoring-config 配置映射:

        $ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
      2. 使用以下配置,在 data/config.yaml/alertmanager/secrets 下添加一个 secrets: 部分:

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: user-workload-monitoring-config
          namespace: openshift-user-workload-monitoring
        data:
          config.yaml: |
            alertmanager:
              secrets: 1
              - <secret_name_1> 2
              - <secret_name_2>
        1
        本节包含要挂载到 Alertmanager 中的 secret。secret 必须位于与 Alertmanager 对象相同的命名空间中。
        2
        包含接收器身份验证凭证的 Secret 对象的名称。如果您添加多个 secret,请将每个 secret 放在新行中。

        以下示例配置映射设置将 Alertmanager 配置为使用名为 test-secrettest-secret-api-token 的两个 Secret 对象:

        apiVersion: v1
        kind: ConfigMap
        metadata:
          name: user-workload-monitoring-config
          namespace: openshift-user-workload-monitoring
        data:
          config.yaml: |
            alertmanager:
              enabled: true
              secrets:
              - test-secret
              - test-api-receiver-token
  2. 保存文件以使改变生效。新的配置会被自动应用。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.