10.6. 管理用于核心平台监控的警报规则


重要

为核心平台监控创建和修改警报规则只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

OpenShift Container Platform 4.12 监控附带一组用于平台指标的默认警报规则。作为集群管理员,您可以以两种方式自定义这组规则:

  • 通过调整阈值或添加和修改标签来修改现有平台警报规则的设置。例如,您可以将一个警报的 severity 标签从 warning 改为 critical 以帮助您来处理相关的问题。
  • 通过基于 openshift-monitoring 命名空间中的核心平台指标构建查询表达式,定义和添加新的自定义警报规则。

核心平台警报规则考虑

  • 新的警报规则必须基于默认的 OpenShift Container Platform 监控指标。
  • 您必须在 openshift-monitoring 命名空间中创建 AlertingRuleAlertRelabelConfig 对象。
  • 您只能添加和修改警报规则。您无法创建新的记录规则或修改现有的记录规则。
  • 如果您使用 AlertRelabelConfig 对象修改现有平台警报规则,您的修改不会反映在 Prometheus 警报 API 中。因此,任何丢弃的警报仍出现在 OpenShift Container Platform web 控制台中,即使它们不再被转发到 Alertmanager。另外,任何对警报的修改(如更改了 severity 标签)都不会出现在 web 控制台中。

10.6.1. 修改核心平台警报规则

作为集群管理员,您可以在 Alertmanager 将核心平台警报路由到接收器前修改核心平台警报。例如,您可以更改警报的严重性标签,添加自定义标签,或者从发送到 Alertmanager 中排除警报。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户身份访问集群。
  • 已安装 OpenShift CLI(oc)。
  • 启用了技术预览功能,且集群中的所有节点都就绪。

流程

  1. 创建名为 example-modified-alerting-rule.yaml 的新 YAML 配置文件。
  2. 在 YAML 文件中添加 AlertRelabelConfig 资源。以下示例将默认平台 watchdog 警报规则的 severity 设置改为 critical

    apiVersion: monitoring.openshift.io/v1alpha1
    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
    1
    确保命名空间为 openshift-monitoring
    2
    要修改的值的源标签。
    3
    匹配的 sourceLabels 值的正则表达式。
    4
    要修改的值的目标标签。
    5
    要替换目标标签的新值。
    6
    基于正则表达式匹配替换旧值的重新标记操作。默认操作为 Replace。其他可能的值有 Keep,Drop,HashMod,LabelMap,LabelDrop, LabelKeep
    重要

    您必须在 openshift-monitoring 命名空间中创建 AlertRelabelConfig 对象。否则,警报标签不会改变。

  3. 将配置文件应用到集群:

    $ oc apply -f example-modified-alerting-rule.yaml

10.6.2. 创建新警报规则

作为集群管理员,您可以根据平台指标创建新的警报规则。这些警报规则根据所选指标的值触发警报。

注意
  • 如果您基于现有平台警报规则创建自定义 AlertingRule 资源,请静默原始警报以避免收到冲突的警报。
  • 为了帮助用户了解警报的影响和原因,请确保您的警报规则包含警报消息和严重性值。

先决条件

  • 您可以使用具有 cluster-admin 集群角色的用户访问集群。
  • 已安装 OpenShift CLI(oc)。
  • 启用了技术预览功能,且集群中的所有节点都就绪。

流程

  1. 创建一个名为 example-alerting-rule.yaml 的新 YAML 配置文件。
  2. 向 YAML 文件添加 AlertingRule 资源。以下示例创建一个名为 example 的新警报规则,类似于默认的 Watchdog 警报:

    apiVersion: monitoring.openshift.io/v1alpha1
    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
    1
    确保命名空间为 openshift-monitoring
    2
    您要创建的警报规则的名称。
    3
    触发警报前条件应为 true 的持续时间。
    4
    定义新规则的 PromQL 查询表达式。
    5
    警报规则分配给警报的严重性。
    6
    与警报关联的消息。
    重要

    您必须在 openshift-monitoring 命名空间中创建 AlertingRule 对象。否则,将不接受警报规则。

  3. 将配置文件应用到集群:

    $ oc apply -f example-alerting-rule.yaml

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.