第 4 章 配置外部 Alertmanager 实例
OpenShift Dedicated 监控堆栈包含一个本地 Alertmanager 实例,用于从 Prometheus 路由警报。您可以添加外部 Alertmanager 实例来路由用户定义的项目的警报。
如果您为多个集群添加相同的外部 Alertmanager 配置,并且为每个集群禁用本地实例,则可以使用单个外部 Alertmanager 实例管理多个集群的警报路由。
先决条件
-
您可以使用具有
dedicated-admin
角色的用户访问集群。 -
user-workload-monitoring-config
ConfigMap
对象存在。在集群创建时默认创建此对象。 -
已安装 OpenShift CLI(
oc
)。
流程
编辑
ConfigMap
对象。编辑
openshift-user-workload-monitoring
项目中的user-workload-monitoring-config
配置映射:$ oc -n openshift-user-workload-monitoring edit configmap user-workload-monitoring-config
-
在
data/config.yaml/
下添加一个<component>/additionalAlertmanagerConfigs:
部分。 在本节中添加其他 Alertmanager 的配置详情:
apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | <component>: additionalAlertmanagerConfigs: - <alertmanager_specification>
对于
<component>
,替换两个支持的外部 Alertmanager 组件之一:prometheus
或thanosRuler
。对于
<alertmanager_specification>
,请替换额外的 Alertmanager 实例的身份验证和其他配置详情。目前支持的身份验证方法有 bearer 令牌 (bearerToken
) 和客户端 TLS (tlsConfig
)。以下示例配置映射使用带有 bearer 令牌和客户端 TLS 身份验证的 Thanos Ruler 配置额外的 Alertmanager:apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: | thanosRuler: additionalAlertmanagerConfigs: - scheme: https pathPrefix: / timeout: "30s" apiVersion: v1 bearerToken: name: alertmanager-bearer-token key: token tlsConfig: key: name: alertmanager-tls key: tls.key cert: name: alertmanager-tls key: tls.crt ca: name: alertmanager-tls key: tls.ca staticConfigs: - external-alertmanager1-remote.com - external-alertmanager1-remote2.com
- 保存文件以使改变生效。受新配置影响的 Pod 会自动重新部署。