第 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)。
流程
编辑
ConfigMap对象。在 Alertmanager 中为核心平台监控添加 secret 配置 :
编辑
openshift-monitoring项目中的cluster-monitoring-config配置映射:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
在
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>以下示例配置映射设置将 Alertmanager 配置为使用名为
test-secret-basic-auth和test-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 中用于用户定义的项目的监控 :
编辑
openshift-user-workload-monitoring项目中的user-workload-monitoring-config配置映射:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
使用以下配置,在
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>以下示例配置映射设置将 Alertmanager 配置为使用名为
test-secret和test-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注意除非集群管理员为用户定义的项目启用了监控,否则应用到
user-workload-monitoring-configConfigMap的配置不会被激活。
-
保存文件以将更改应用到
ConfigMap对象。新的配置会被自动应用。