第 2 章 AlertingRule [monitoring.openshift.io/v1]


描述
AlertingRule 代表一组用户定义的 Prometheus 规则组,其中包含警报规则。此资源是集群管理员根据 OpenShift 中平台监控堆栈记录的指标创建警报的方法,如部署到 openshift-monitoring 命名空间中的 Prometheus 实例。您可以使用它来根据组件(如 node_exporter)中的指标创建没有 OpenShift 附带的自定义警报规则,它提供机器级别的指标,如 CPU 使用量或 kube-state-metrics,它提供了有关 Kubernetes 使用量的指标。API 与来自 prometheus-operator 的上游 PrometheusRule 类型兼容。这里不允许记录规则的主要区别。对于创建的每个 AlertingRule 资源,将在 openshift-monitoring 命名空间中创建对应的 PrometheusRule。OpenShift 要求管理员使用 AlertingRule 资源而不是上游类型,以允许更好的 OpenShift 默认和验证,而不直接修改上游 API。您可以在此处找到 PrometheusRule 资源的上游 API 文档 :https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md 兼容性级别 1: 可在主发行版本中至少提供 12 个月或 3 个次版本(以更长的时间为准)。
类型
object
必填
  • spec

2.1. 规格

属性类型描述

apiVersion

字符串

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

字符串

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

spec 描述此 AlertingRule 对象的所需状态。

status

object

status 描述了此 AlertOverrides 对象的当前状态。

2.1.1. .spec

描述
spec 描述此 AlertingRule 对象的所需状态。
类型
object
必填
  • groups
属性类型描述

groups

数组

组是分组警报规则的列表。规则组是 Prometheus 并行处理规则的单元。单个组中的所有规则共享配置的评估间隔。组中的所有规则将在此间隔、顺序上处理,并将处理所有规则。通常,将相关的警报规则分组到单个 AlertingRule 资源中,并在该资源中、紧密相关的警报或只是具有相同间隔的警报到单个组中。您还可以自由使用单个规则组创建 AlertingRule 资源,但请注意,如果组非常大或具有非常复杂的查询表达式来评估,这可能会对 Prometheus 产生性能影响。在多个组中分散非常复杂的规则,允许并行处理它们,也是常见的用例。

groups[]

object

RuleGroup 是按顺序评估的警报规则的列表。

2.1.2. .spec.groups

描述
组是分组警报规则的列表。规则组是 Prometheus 并行处理规则的单元。单个组中的所有规则共享配置的评估间隔。组中的所有规则将在此间隔、顺序上处理,并将处理所有规则。通常,将相关的警报规则分组到单个 AlertingRule 资源中,并在该资源中、紧密相关的警报或只是具有相同间隔的警报到单个组中。您还可以自由使用单个规则组创建 AlertingRule 资源,但请注意,如果组非常大或具有非常复杂的查询表达式来评估,这可能会对 Prometheus 产生性能影响。在多个组中分散非常复杂的规则,允许并行处理它们,也是常见的用例。
类型
array

2.1.3. .spec.groups[]

描述
RuleGroup 是按顺序评估的警报规则的列表。
类型
object
必填
  • name
  • rules
属性类型描述

interval

string

间隔是评估组中的规则的频率。如果没有指定,则默认为 Prometheus 中配置的 global.evaluation_interval,其本身默认为 30 秒。您可以通过检查平台 Prometheus 配置来检查此值是否已从集群上的默认值修改:该资源中的相关字段是 spec.evaluationInterval

名称

string

name 是组的名称。

rules

数组

rules 是按顺序评估的警报规则的列表。Prometheus 可以并行处理规则组,但单个组中的规则始终按顺序处理,并且处理所有规则。

rules[]

object

规则描述了警报规则。请参阅 Prometheus 文档: - https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules

2.1.4. .spec.groups[].rules

描述
rules 是按顺序评估的警报规则的列表。Prometheus 可以并行处理规则组,但单个组中的规则始终按顺序处理,并且处理所有规则。
类型
array

2.1.5. .spec.groups[].rules[]

描述
规则描述了警报规则。请参阅 Prometheus 文档: - https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules
类型
object
必填
  • alert
  • expr
属性类型描述

alert

string

alert 是警报的名称。必须是有效的标签值,即可以包含任何 Unicode 字符。

annotations

对象(字符串)

要添加到每个警报的注解。这些是可用于存储您不会查询较长的额外信息的值,如警报描述或 runbook 链接。

expr

integer-or-string

EXPR 是要评估的 PromQL 表达式。每个评估周期都会在当前时间评估,所有结果时间序列都会变为待处理或触发警报。这通常是代表 PromQL 表达式的字符串,例如: mapi_current_pending_csr > mapi_max_pending_csr > mapi_max_pending_csr,这可能是一个简单的整数,例如,如果目的是创建始终触发的警报。这有时用于创建 always-firing "Watchdog" 警报,以确保警报管道正常工作。

对于

string

对于,在首次返回结果后,警报被视为触发的时间。尚未触发过长的警报将被视为待处理。

labels

对象(字符串)

为每个警报添加或覆盖的标签。警报的 PromQL 表达式的结果会在评估表达式后为警报产生一组现有标签,这里指定的任何标签都与这个设置中的标签相同,此处的 wins 标签并覆盖前面的值。通常,这些值应该比较短,对于查询非常有用。一个常见示例是警报的严重性,其中一个在 labels 键下设置 severity: 警告

2.1.6. .status

描述
status 描述了此 AlertOverrides 对象的当前状态。
类型
object
属性类型描述

observedGeneration

整数

observedGeneration 是您处理的最后生成更改。

prometheusRule

object

PrometheusRule 是此 AlertingRule 生成的 PrometheusRule。每个 AlertingRule 实例都会在同一命名空间中生成 PrometheusRule 对象,该对象始终是 openshift-monitoring 命名空间。

2.1.7. .status.prometheusRule

描述
PrometheusRule 是此 AlertingRule 生成的 PrometheusRule。每个 AlertingRule 实例都会在同一命名空间中生成 PrometheusRule 对象,该对象始终是 openshift-monitoring 命名空间。
类型
object
必填
  • name
属性类型描述

name

string

所引用的 PrometheusRule 的名称。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.