2.6. 创建警报规则

您可以创建警报规则,以根据所选的指标值触发警报。

注意

查看和管理还没有集成到 web 控制台中的规则及警报。集群管理员可以使用 Alertmanager UI 或 Thanos Ruler。具体步骤请查看对应的小节。

先决条件

  • 以具有用于创建警报规则的命名空间的 monitoring-rules-edit 角色的用户身份登录。

流程

  1. 为警报规则创建 YAML 文件。在本例中,该文件名为 example-app-alerting-rule.yaml
  2. 使用警报规则的配置填充该文件:

    注意

    当创建警报规则时,如果在其他命名空间中存在具有相同名称的规则,则对其强制使用命名空间标签。

    apiVersion: monitoring.coreos.com/v1
    kind: PrometheusRule
    metadata:
      name: example-alert
      namespace: ns1
    spec:
      groups:
      - name: example
        rules:
        - alert: VersionAlert
          expr: version{job="prometheus-example-app"} == 0

    此配置会创建一个名为 example-alert 的警报规则,它会在示例服务公开的 version 指标变为 0 时触发警报。

    重要

    对于每个命名空间,您可以使用该命名空间和集群指标的指标,但不能使用另一个命名空间的指标。

    例如,ns1 的警报规则可以包含来自 ns1 和集群指标的指标,如 CPU 和内存指标。但是,该规则无法包含来自 ns2 的指标。

    另外,您无法为 openshift-* 核心 OpenShift 命名空间创建警报规则。OpenShift Container Platform 监控默认为这些命名空间提供一组警报规则。

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

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

    创建警报规则需要一些时间。