×

规格

属性 类型 描述

apiVersion

字符串

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

kind

字符串

Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。不能更新。采用驼峰命名法。更多信息: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

对象

Prometheus 期望的警报规则定义的规范。

.spec

描述

Prometheus 期望的警报规则定义的规范。

类型

对象

属性 类型 描述

groups

数组

Prometheus 规则文件的内容

groups[]

对象

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

.spec.groups

描述

Prometheus 规则文件的内容

类型

数组

.spec.groups[]

描述

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

类型

对象

必需
  • name

属性 类型 描述

interval

字符串

Interval 确定多久评估一次组中的规则。

limit

整数

限制警报规则可以生成的警报数量以及记录规则可以生成的序列数量。从 Prometheus >= 2.31 和 Thanos Ruler >= 0.24 开始支持 Limit。

name

字符串

规则组的名称。

partial_response_strategy

字符串

PartialResponseStrategy 仅由 ThanosRuler 使用,Prometheus 实例将忽略它。更多信息:https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response

rules

数组

警报和记录规则的列表。

rules[]

对象

规则描述了一个告警或记录规则。参见 Prometheus 文档:[告警](https://www.prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) 或 [记录](https://www.prometheus.io/docs/prometheus/latest/configuration/recording_rules/#recording-rules) 规则

.spec.groups[].rules

描述

警报和记录规则的列表。

类型

数组

.spec.groups[].rules[]

描述
类型

对象

必需
  • 表达式 (expr)

属性 类型 描述

告警 (alert)

字符串

告警名称。必须是有效的标签值。只能设置recordalert 中的一个。

注释 (annotations)

对象 (字符串)

添加到每个告警的注释。仅对告警规则有效。

表达式 (expr)

整数或字符串

要评估的 PromQL 表达式。

持续时间 (for)

字符串

告警在持续返回这么长时间后才会被认为是触发的。

持续触发时间 (keep_firing_for)

字符串

KeepFiringFor 定义了在触发告警的条件清除后,告警将继续触发的时间长度。

标签 (labels)

对象 (字符串)

要添加或覆盖的标签。

记录 (record)

字符串

要输出到的时间序列的名称。必须是有效的指标名称。只能设置recordalert 中的一个。

API 端点

提供以下 API 端点:

  • /apis/monitoring.coreos.com/v1/prometheusrules

    • GET:列出 PrometheusRule 对象

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheusrules

    • DELETE:删除 PrometheusRule 集合

    • GET:列出 PrometheusRule 对象

    • POST:创建一个 PrometheusRule

  • /apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheusrules/{name}

    • DELETE:删除一个 PrometheusRule

    • GET:读取指定的 PrometheusRule

    • PATCH:部分更新指定的 PrometheusRule

    • PUT:替换指定的 PrometheusRule

/apis/monitoring.coreos.com/v1/prometheusrules

HTTP 方法

GET

描述

列出 PrometheusRule 对象

表 1. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRuleList 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheusrules

HTTP 方法

DELETE

描述

删除 PrometheusRule 集合

表 2. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

401 - 未授权

HTTP 方法

GET

描述

列出 PrometheusRule 对象

表 3. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRuleList 模式

401 - 未授权

HTTP 方法

POST

描述

创建一个 PrometheusRule

表 4. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个被对象删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中删除,或者如果存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 5. 主体参数
参数 类型 描述

主体 (body)

PrometheusRule 模式

表 6. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRule 模式

201 - 已创建

PrometheusRule 模式

202 - 已接受

PrometheusRule 模式

401 - 未授权

/apis/monitoring.coreos.com/v1/namespaces/{namespace}/prometheusrules/{name}

表 7. 全局路径参数
参数 类型 描述

name

字符串

PrometheusRule 的名称

HTTP 方法

DELETE

描述

删除一个 PrometheusRule

表 8. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

表 9. HTTP 响应
HTTP 代码 响应体

200 - OK

Status 模式

202 - 已接受

Status 模式

401 - 未授权

HTTP 方法

GET

描述

读取指定的 PrometheusRule

表 10. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRule 模式

401 - 未授权

HTTP 方法

PATCH

描述

部分更新指定的 PrometheusRule

表 11. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个被对象删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中删除,或者如果存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 12. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRule 模式

401 - 未授权

HTTP 方法

PUT

描述

替换指定的 PrometheusRule

表 13. 查询参数
参数 类型 描述

dryRun

字符串

如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段

fieldValidation

字符串

fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略任何被对象静默删除的未知字段,并将忽略解码器遇到的所有重复字段(只保留最后一个)。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个被对象删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将被从对象中删除,或者如果存在任何重复字段,则此操作将使用 BadRequest 错误使请求失败。服务器返回的错误将包含遇到的所有未知和重复字段。

表 14. 主体参数
参数 类型 描述

主体 (body)

PrometheusRule 模式

表 15. HTTP 响应
HTTP 代码 响应体

200 - OK

PrometheusRule 模式

201 - 已创建

PrometheusRule 模式

401 - 未授权