Prometheus-Rules(规则)

news/2024/5/18 23:23:51 标签: prometheus, javascript, 前端

文章目录

  • 一、介绍
  • 二、配置 Prometheus 使用规则文件
  • 三、 规则文件语法
    • 规则文件语法
      • 全局
      • Recording rules(记录规则)
    • 2 Alerting rules(警报规则)
    • 3 模板化如何使用
  • 四、检查规则文件语法
  • 五、发送警报通知

一、介绍

Prometheus规则是一种逻辑表达式,可用于定义有关监控数据的逻辑关系和约束条件。这些规则可以用于告警条件、聚合和转换等。

普罗米修斯支持两种类型的规则,可以对其进行配置,然后定期进行评估:recording rules and alerting rules。

要在 Prometheus 中使用规则,请创建一个包含所需规则语句的文件,并让Prometheus 通过 Prometheus 配置中的 rule_files 字段加载该文件。规则文件使用YAML 格式。

Alerting规则:在满足某些条件时触发警报,例如CPU使用率超过90%。

Recording规则:使用PromQL表达式进行聚合和转换,将结果记录下来。例如计算平均响应时间。可以作为性能指标的跟踪,以便找到规律优化服务。

通过使用这些规则,您可以轻松地监控和管理您的应用程序和基础设施,并及时发现并解决任何问题。

二、配置 Prometheus 使用规则文件

需要在 Prometheus 的配置文件中的 rule_files 字段下添加配置,rule_files 字段的值是一个包含多个规则文件路径的列表,规则文件路径支撑通配符。示例如下:

prometheus.yml

...

rule_files:
  - "prometheus.rules.yml"  # 指定具体文件
  - "rules/*.yml"  # 指定 rules 目录下的所有以 .yml 结尾的文件

三、 规则文件语法

记录和警报规则存在于规则组中。组中的规则以固定的时间间隔按顺序运行,评估时间相同。
记录规则的名称必须是有效的度量值名称。警报规则的名称必须是有效的标签值。
记录规则名称需要符合正则表达式: [a-zA-Z_:][a-zA-Z0-9_:]*
警报规则名称需要符合正则表达式:[a-zA-Z_][a-zA-Z0-9_]*__(两个“_”)开头的标签名称保留供内部使用

规则文件语法

全局

groups:
  #  一个规则组的名称,在当前文件中需唯一。
  - name: example
    

http://www.niftyadmin.cn/n/4979785.html

相关文章

【C++初阶】stack的常见操作和模拟实现

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…

Banana Pi推出基于龙芯2K1000LA处理器的信创工业控制开发平台

Banana Pi推出基于龙芯2K1000LA处理器的信创工业控制开发平台:BPI-5202信创工业控制开发平台 BPI-5202 龙芯2K1000LA 信创工业控制开发平台 1.1 工控机的应用场景 物联网的狂潮,既是一场众多的计算机软硬件厂家(也包括通讯方案和产品厂家&…

mongTemplate实现group分组查询aggregation

MongoService封装 <T> List<T> group(Class<T> clazz, Aggregation aggregation,String documentName); MongoServiceImpl实现类 Overridepublic <T> List<T> group(Class<T> clazz, Aggregation aggregation,String documentName) {//…

Django(9)-表单处理

django支持使用类创建表单实例 polls/forms.py from django import forms class NameForm(forms.Form):your_nameforms.CharField(label"Your name",max_length100)这个类创建了一个属性&#xff0c;定义了一个文本域&#xff0c;和它的label和最大长度。 polls/vi…

helm部署minio

helm部署minio 什么是helm Helm&#xff08;又称Helm Charts或Helm Package Manager&#xff09;是一个用于Kubernetes应用程序的包管理工具。它允许开发者、运维人员和DevOps团队轻松地创建、分享和部署Kubernetes应用程序的预定义软件包和配置。反正就是方便进行k8s部署&am…

【ES】笔记-Promise基本使用

笔记-基本使用 一、初始Promise1. 抽象表达:2. 具体表达:为什么要用 Promise?promise的基本流程 二、fs读取文件三、AJAX请求四、Promise封装fs模块五、util.promisify方法六、Promise封装AJAX操作 一、初始Promise 1. 抽象表达: 1. Promise 是一门新的技术(ES6 规范) 2. Pr…

机器学习笔记 - 在表格数据上应用高斯混合GMM和网格搜索GridSearchCV提高分类精度的机器学习案例

1、需求及数据集说明 这是一项二分类任务,评估的是分类准确性(正确预测的标签百分比)。训练集有1000个样本,测试集有9000个样本。你的预测应该是一个9000 x 1的向量。您还需要一个Id列(1到9000),并且应该包括一个标题。格式如下所示: Id,Solution 1,0 2,1 3,1 ... 900…

Ubuntu22.04安装使用Docker (参考:完成Dock中的企业微信安装)

Ubuntu22.04安装使用Docker 概述什么是Docker ?Docker 的优点 Docker的安装(1) 安装 Docker 依赖项(2) 启用 Docker 官方存储库(3) 使用 Apt 命令安装 Docker(4) 验证和测试 Docker 安装 Docker Compose1. 使用二进制文件安装 Docker Compose2. 使用 Pip 安装 Docker Compose …