本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建规则文件
要在 Amazon Managed Service for Prometheus 中使用规则,您需要创建一个规则文件来定义规则。Amazon Managed Service for Prometheus 规则文件是一个 YAML 文本文件,其格式与独立 Prometheus 中的规则文件相同。有关更多信息,请参阅 Prometheus 文档中的 Defining Recording rules
以下是规则文件的基本示例:
groups: - name: cpu_metrics interval: 60s rules: - record: avg_cpu_usage expr: avg(rate(node_cpu_seconds_total[5m])) by (instance) - alert: HighAverageCPU expr: avg_cpu_usage > 0.8 for: 10m keep_firing_for: 20m labels: severity: critical annotations: summary: "Average CPU usage across cluster is too high"
此示例创建了一个规则组cpu_metrics,该组每 60 秒评估一次。该规则组使用名为的记录规则创建新指标,avg_cpu_usage然后在警报中使用该指标。下面描述一些使用的属性。有关警报规则和可包含的其他属性的更多信息,请参阅 Prometheus 文档中的警报规则
-
record: avg_cpu_usage– 此记录规则创建一个名为avg_cpu_usage的新指标。 -
如果未指定
interval属性,则规则组的默认评估间隔为 60 秒。 -
expr: avg(rate(node_cpu_seconds_total[5m])) by (instance)– 记录规则的此表达式按instance标签分组,计算每个节点过去 5 分钟 CPU 的平均使用率。 -
alert: HighAverageCPU– 此警报规则创建一个名为HighAverageCPU的新警报 -
expr: avg_cpu_usage > 0.8– 此表达式要求警报查找 CPU 平均使用率超过 80% 的样本。 -
for: 10m— 只有当平均 CPU 使用率在至少 10 分钟内超过 80% 时,才会触发警报。在这种情况下,该指标是根据过去 5 分钟的平均值计算的。因此,只有当至少有两个连续的 5 分钟样本(总计 10 分钟)且平均 CPU 使用率高于 80% 时,才会触发警报。
-
keep_firing_for: 20m– 此警报将继续触发,直到样本低于阈值至少 20 分钟。这对避免警报连续反复升降很有帮助。
注意
您可以在本地创建规则定义文件,然后将其上传到 Amazon Managed Service for Prometheus,也可以直接在 Amazon Managed Service for Prometheus 控制台中创建、编辑和上传定义。无论哪种方式,都适用相同的格式规则。要了解有关上传和编辑文件的更多信息,请参阅将规则配置文件上传到 Amazon Managed Service for Prometheus。