第 5 章 为核心平台监控配置警报和通知
您可以配置本地或远程 Alertmanager 实例,将警报从 Prometheus 路由到端点接收器。您还可以将自定义标签附加到所有时间序列和警报,以添加有用的元数据信息。
5.1. 配置外部 Alertmanager 实例 复制链接链接已复制到粘贴板!
OpenShift Container Platform 监控堆栈包含一个本地 Alertmanager 实例,用于从 Prometheus 路由警报。
您可以添加外部 Alertmanager 实例来路由 OpenShift Container Platform 核心项目的警报。
如果您为多个集群添加相同的外部 Alertmanager 配置,并且为每个集群禁用本地实例,则可以使用单个外部 Alertmanager 实例管理多个集群的警报路由。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 -
您已创建
cluster-monitoring-configConfigMap对象。 -
已安装 OpenShift CLI(
oc)。
流程
编辑
openshift-monitoring项目中的cluster-monitoring-config配置映射:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config使用
data/config.yaml/prometheusK8s下的配置详情添加一个additionalAlertmanagerConfigs部分:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | prometheusK8s: additionalAlertmanagerConfigs: - <alertmanager_specification>1 - 1
- 将
<alertmanager_specification>替换为额外的 Alertmanager 实例的身份验证和其他配置详情。目前支持的身份验证方法有 bearer 令牌 (bearerToken) 和客户端 TLS (tlsConfig)。
以下示例配置映射使用带有客户端 TLS 身份验证的 bearer 令牌为 Prometheus 配置额外的 Alertmanager:
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | prometheusK8s: 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 会自动重新部署。
5.1.1. 禁用本地 Alertmanager 复制链接链接已复制到粘贴板!
在 OpenShift Container Platform 监控堆栈的 openshift-monitoring 项目中默认启用从 Prometheus 实例路由警报的本地 Alertmanager。
如果您不需要本地 Alertmanager,可以通过在 openshift-monitoring 项目中配置 cluster-monitoring-config 配置映射来禁用它。
先决条件
-
您可以使用具有
cluster-admin集群角色的用户身份访问集群。 -
您已创建了
cluster-monitoring-config配置映射。 -
已安装 OpenShift CLI(
oc)。
流程
编辑
openshift-monitoring项目中的cluster-monitoring-config配置映射:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config在
data/config.yaml下为alertmanagerMain组件添加enabled: false:apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: | alertmanagerMain: enabled: false- 保存文件以使改变生效。应用更改时,Alertmanager 实例会自动禁用。