10.5. 管理用于核心平台监控的警报规则
OpenShift Container Platform 4.16 监控附带一组用于平台指标的默认警报规则。作为集群管理员,您可以以两种方式自定义这组规则:
-
通过调整阈值或添加和修改标签来修改现有平台警报规则的设置。例如,您可以将一个警报的
severity
标签从warning
改为critical
以帮助您来处理相关的问题。 -
通过基于
openshift-monitoring
命名空间中的核心平台指标构建查询表达式,定义和添加新的自定义警报规则。
核心平台警报规则考虑
- 新的警报规则必须基于默认的 OpenShift Container Platform 监控指标。
-
您必须在
openshift-monitoring
命名空间中创建AlertingRule
和AlertRelabelConfig
对象。 - 您只能添加和修改警报规则。您无法创建新的记录规则或修改现有的记录规则。
-
如果您使用
AlertRelabelConfig
对象修改现有平台警报规则,您的修改不会反映在 Prometheus 警报 API 中。因此,任何丢弃的警报仍出现在 OpenShift Container Platform web 控制台中,即使它们不再被转发到 Alertmanager。另外,任何对警报的修改(如更改了severity
标签)都不会出现在 web 控制台中。
10.5.1. 为核心平台监控优化警报规则的建议
如果您需要自定义核心平台警报规则来满足机构的特定需求,请遵循以下准则,确保自定义规则可以实现预期的目且高效。
- 使用尽可能少的新规则。仅创建符合您特定要求的规则。通过使用最少的规则数量,您可以在监控环境中创建更易管理且集中的警报系统。
- 专注于症状而不是原因。创建规则来通知用户症状而不是造成症状的根本原因。这可以确保,在出现相关症状时用户可以获得警报,用户可以调查触发警报的根本原因。使用这个策略,可以显著降低了您需要创建的规则的总数量。
- 在实施更改之前,规划并评估您的需求。首先,明确哪些症状是重要的,以及在出现这些症状时您希望用户执行哪些操作。然后,评估现有规则,决定是否可以通过修改这些规则来实现您的目的,而不用为每个症状都创建一个新的规则。通过修改现有规则并谨慎创建新规则,可帮助您简化警报系统。
- 提供明确的警报信息。当您创建警报消息时,包括症状的描述、可能的原因和推荐的操作。包括的信息应该明确、简明,并包括故障排除步骤或更多相关信息的链接。这样做有助于用户快速评估情况并做出适当响应。
- 包括严重性级别。为您的规则分配严重性级别,以提示用户在出现症状并触发警报时如何响应。例如,将警报严重性级别定为 关键(Critical) 信号,代表相关人员需要马上做出响应。通过定义严重性级别,可以帮助用户决定在收到警报时应如何响应,并确保对紧急的问题马上做出响应
10.5.2. 创建新警报规则
作为集群管理员,您可以根据平台指标创建新的警报规则。这些警报规则根据所选指标的值触发警报。
-
如果您基于现有平台警报规则创建自定义
AlertingRule
资源,请静默原始警报以避免收到冲突的警报。 - 为了帮助用户了解警报的影响和原因,请确保您的警报规则包含警报消息和严重性值。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
-
创建一个名为
example-alerting-rule.yaml
的新 YAML 配置文件。 向 YAML 文件添加
AlertingRule
资源。以下示例创建一个名为example
的新警报规则,类似于默认的Watchdog
警报:apiVersion: monitoring.openshift.io/v1 kind: AlertingRule metadata: name: example namespace: openshift-monitoring 1 spec: groups: - name: example-rules rules: - alert: ExampleAlert 2 for: 1m 3 expr: vector(1) 4 labels: severity: warning 5 annotations: message: This is an example alert. 6
重要您必须在
openshift-monitoring
命名空间中创建AlertingRule
对象。否则,将不接受警报规则。将配置文件应用到集群:
$ oc apply -f example-alerting-rule.yaml
10.5.3. 修改核心平台警报规则
作为集群管理员,您可以在 Alertmanager 将核心平台警报路由到接收器前修改核心平台警报。例如,您可以更改警报的严重性标签,添加自定义标签,或者从发送到 Alertmanager 中排除警报。
先决条件
-
您可以使用具有
cluster-admin
集群角色的用户身份访问集群。 -
已安装 OpenShift CLI(
oc
)。
流程
-
创建名为
example-modified-alerting-rule.yaml
的新 YAML 配置文件。 在 YAML 文件中添加
AlertRelabelConfig
资源。以下示例将默认平台watchdog
警报规则的severity
设置改为critical
:apiVersion: monitoring.openshift.io/v1 kind: AlertRelabelConfig metadata: name: watchdog namespace: openshift-monitoring 1 spec: configs: - sourceLabels: [alertname,severity] 2 regex: "Watchdog;none" 3 targetLabel: severity 4 replacement: critical 5 action: Replace 6
重要您必须在
openshift-monitoring
命名空间中创建AlertRelabelConfig
对象。否则,警报标签不会改变。将配置文件应用到集群:
$ oc apply -f example-modified-alerting-rule.yaml
其他资源
- 如需了解有关 OpenShift Container Platform 4.16 监控架构的详细信息,请参阅监控概述
- 有关警报规则的信息,请参阅 Alertmanager 文档。
- 如需有关重新标记工作的信息,请参阅 Prometheus 重新标记文档。
- 如需更多有关优化警报的指南,请参阅 Prometheus 警报文档。