本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

配置 PrometheusRules

PrometheusRule 定义了一组 Prometheus 警报和/或记录规则。

本节假设您对监控组件如何协同工作有一定了解。有关更多信息,请参见 本节。

在 Rancher UI 中创建 PrometheusRules

前提条件:

需要安装监控应用程序。

要在 Rancher UI 中创建规则组,

  1. 前往您想要创建规则组的集群。点击 监控  高级,然后点击 Prometheus 规则

  2. 单击*创建*。

  3. 输入一个 组名

  4. 配置规则。在 Rancher 的 UI 中,我们期望规则组包含警报规则或记录规则,但不能同时包含两者。有关填写表单的帮助,请参考下面的配置选项。

  5. 单击*创建*。

*结果:*可以配置警报以向接收者发送通知。

关于 PrometheusRule 自定义资源

当您定义一个规则(在 PrometheusRule 资源中的 RuleGroup 内声明)时, 规则本身的 spec 包含 Alertmanager 用于确定哪个路由应该接收此警报的标签。例如,带有标签 team: front-end 的警报将发送到所有匹配该标签的路由。

规则文件保存在 PrometheusRule 自定义资源中。Prometheus规则 允许您定义一个或多个 RuleGroups。每个 RuleGroup 由一组 Rule 对象组成,每个对象可以表示警报规则或记录规则,具有以下字段:

  • 新警报或记录的名称

  • 新警报或记录的 PromQL 表达式

  • 应附加到警报或记录的标签,以识别它(例如,集群名称或严重性)

  • 用于编码任何需要在警报通知中显示的额外重要信息的注释(例如摘要、描述、消息、运行手册 URL 等)。此字段在记录规则中不是必需的。

有关可以指定的字段的更多信息,请查看 Prometheus Operator 规格。

在 Prometheus 对象中使用标签选择器字段 ruleSelector 来定义您希望挂载到 Prometheus 的规则文件。

有关示例,请参考 Prometheus 文档中的 记录规则告警规则。

配置

规则组

字段 说明

组名

组的名称。在规则文件中必须是唯一的。

覆盖组间隔

规则组中规则的评估间隔(以秒为单位)。

告警规则

告警规则 允许您根据 PromQL(Prometheus 查询语言)表达式定义告警条件,并将触发的告警通知发送到外部服务。

字段 说明

告警名称

告警的名称。必须是有效的标签值。

等待触发时间

以秒为单位的持续时间。如果告警持续这么长时间,便被视为已触发。尚未持续足够时长而触发的告警被视为挂起。

PromQL 表达式

要评估的 PromQL 表达式。Prometheus 将在每个评估周期计算该 PromQL 表达式的当前值,所有生成的时间序列将分别被视为处于挂起或已触发状态的告警。有关更多信息,请参阅 Prometheus 文档 或我们的 示例 PromQL 表达式。

标签

要添加或覆盖的每个告警的标签。

严重度

启用时,标签会附加到告警或记录上,以按严重性级别标识它。

严重性标签值

严重、警告或无

注解

注释是一组信息标签,可用于存储更长的附加信息,例如告警描述或运行手册链接。 运行手册是一组关于如何处理告警的文档。注释值可以 模板化。

记录规则

记录规则允许您预先计算经常需要或计算量较大的 PromQL(Prometheus 查询语言)表达式,并将其结果保存为一组新的时间序列。

字段 说明

时间序列名称

要输出的时间序列的名称。必须是有效的度量名称。

PromQL 表达式

要评估的 PromQL 表达式。Prometheus 将在每个评估周期中计算该 PromQL 表达式的当前值,结果将作为一组新的时间序列记录,其度量名称由 'record' 指定。 有关表达式的更多信息,请参阅 Prometheus 文档 或我们的 示例 PromQL 表达式

标签

在存储结果之前添加或覆盖的标签。