首页 > 其他分享 >【功能与技巧】promethues通过记录规则持久化查询,存储rules表达式查询结果为采集指标

【功能与技巧】promethues通过记录规则持久化查询,存储rules表达式查询结果为采集指标

时间:2023-04-03 19:24:19浏览次数:55  
标签:rules prometheus 查询 promethues node1 root yml

一、查询持续性

到目前为止,我们只是在表达式浏览器中运行查询。虽然查看该查询的输出很方便,但结果仍然是临时存储在Prometheus服务器上,我们可以通过以下三种方式使查询持久化:   * 记录规则:根据查询创建新指标 * 报警规则:从查询生成警报 * 可视化:使用Grafana等仪表板可视化查询   记录规则存储在Prometheus服务器上,位于Prometheus服务器加载的文件中。        规则是自动计算的,频率则由 prometheus.yml 配置文件的 global 块中的 evaluation_interval 参数控制。   规则文件在 Prometheus 配置文件的 rules_files 块中指定。

二、示例

基本案例

[root@node1 rules]# cat node1_rules.yml
groups:
- name: node1_rules
  rules:
  - record: instance:node_cpu:avg_rate1m   #其实就是把下面表达式的值存储起来了,并且另存为指标: instance:node_cpu:avg_rate1m,后面可以直接用该指标查询结果
expr: 100-avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)*100 labels: metric_type: aggregation

 

在prometheus.yml文件的同一文件夹中创建一个 名为rules的子文件夹,用于保存我们的记录规则,并且为节点指标创建一个名为node1_rules.yml的文件。 复制代码
[root@node1 opt]# cd /opt/prometheus/
[root@node1 prometheus]# mkdir rules
[root@node1 prometheus]# cd rules/
[root@node1 rules]# vim node1_rules.yml
[root@node1 rules]# cat node1_rules.yml
groups:
- name: node1_rules
  rules:
  - record: instance:node_cpu:avg_rate1m
    expr: 100-avg(irate(node_cpu_seconds_total{mode="idle"}[1m])) by (instance)*100
    labels:
      metric_type: aggregation
 
[root@node1 prometheus]# vim prometheus.yml  # 修改prometheus.yml,添加配置
rule_files:
   - "rules/node1_rules.yml"
 
[root@node1 prometheus]# docker container rm -f  prometheus-server  #由于之前是挂载的prometheus.yml,所以重新启动一下prometheus-server,把rules挂到容器里。
[root@node1 prometheus]#  docker run --name prometheus-server -d -p 9090:9090 -v /opt/prometheus/:/etc/prometheus/ prom/prometheus
复制代码 浏览器访问该地址,可以查看到我们手动添加的rules:http://192.168.42.133:9090/rules    -----       

【3】案例:5分钟内出现过3次CPU超90%则报警

(3.1)需求描述

   比如 1.1分触发一次,1.2分处于80%,1.3分 触发了2次CPU大于90%

(3.2)解决思路

1、使用 rules 文件中的 record,把每一次的(15S间隔)表达式值存储成另外一个指标,如 node_exporter:cpu:90 2、使用 count_over_time,统计5分钟内出现的次数   

 

3、 使用 node_exporter:cpu:90  指标构建新的 rules 规则,表达式  count_over_time(node_exporter:cpu:90) >3 ,即可

其他相关参数

  

 

 该参数 evaluation_interval  是去 rules 里面运行表达式的值

     【参考文档】 一、二 转自:https://www.cnblogs.com/cmxu/p/12270852.html  

标签:rules,prometheus,查询,promethues,node1,root,yml
From: https://www.cnblogs.com/gered/p/17284096.html

相关文章

  • OUI查询(MAC地址厂商查询)
    IEEEOUIhttps://standards-oui.ieee.org/MAC地址查询-在线工具https://itool.co/mac查询MAC地址厂商信息、制造商名称......
  • es(Elasticsearch)查询报错: Set fielddata=true on [level] in order to load fieldd
     Invocationofinitmethodfailed;nestedexceptionisElasticsearchStatusException[Elasticsearchexception[type=search_phase_execution_exception,reason=allshardsfailed]];nested:ElasticsearchException[Elasticsearchexception[type=illegal_argument_......
  • Elasticsearch(es)查询报错:Result window is too large, from + size must be less th
     {"error":{"root_cause":[{"type":"query_phase_execution_exception","reason":"Resultwindowistoolarge,from+sizemustbelessthanorequalto:[10000]butwas[20000].Seethescrollapiforam......
  • EBS:并发程序参数查询
    SELECTFCP.APPLICATION_ID,FCP.CONCURRENT_PROGRAM_ID,FCP.CONCURRENT_PROGRAM_NAMEAS"简称",FCP.USER_CONCURRENT_PROGRAM_NAMEAS"程序",FCP.DESCRIPTIONAS"并发程序-说明",FCP.OUTPUT_FILE_TYPEAS&qu......
  • 04_靶机Kioptrix1.2:CMS漏洞利用,使用ht编辑器修改sudoers文件提权,mysql查询
    思路:发现主机后进行目录扫描,发现登录口标注了CMS的版本,查看该类型CMS有没有漏洞,针对漏洞去github搜索脚本,拿到脚本后运行得到靶机的初级Shell,根据靶机内的文件内容指示使用ht编辑器,利用编辑器去修改用户的权限然后提权,拿到root权限结束基操代码不再粘贴首先进行目标靶机地址的......
  • 【递归 WITH】递归查询树结构数据
    递归语句WITHtempTable(ID)AS(SELECTIDFROMsys_menuWHEREID='05161001'ANDDEL_STATUS=1UNIONALLSELECTm.IDFROMsys_menumJOINtempTableONm.PARENT_ID=tempTable.IDANDDEL_STATUS=1)SELECT*FROMtempTable;比如菜单树,拿到某个菜单,要查询它下......
  • mybatis OGNL表达式,xml查询中使用java的变量值
    1、参考struts2ongl访问静态变量与访问枚举Ognl表达式基本原理和使用方法2、java类packageorg.jeecg.mgt.cms.constant;publicclassEAd{publicstaticfinalIntegershow1=1;publicstaticfinalclassAA{publicstaticfinalIntegershow2......
  • elasticsearch实践篇:跨表join查询
    随着业务发展跨表join查询需求越来越多,系统的慢查询不断报出,引入ElasticSearch来实现聚合查询势在必行。ES是一个基于Lucene的搜索引擎,通过将业务主表及辅表的索引字段及需要like字段同步到ES里,每张表的索引字段最终汇总成一个联合索引,来实现多个表的跨表搜索。性能要求检索需求......
  • 读SQL进阶教程笔记05_关联子查询
    1. 关联子查询1.1. 关联子查询和自连接在很多时候都是等价的1.2. 使用SQL进行行间比较时,发挥主要作用的技术是关联子查询,特别是与自连接相结合的“自关联子查询”1.3. 缺点1.3.1. 代码的可读性不好1.3.1.1. 特别是在计算累计值和移动平均值的例题里,与聚合一起使用......
  • 《U8开发听我说》第一讲:UAP报表查询过滤条件如何设置枚举
    《U8开发听我说》专栏,查看文章清单请点击知识点科普:什么是过滤控件?过滤控件是U8应用程序常用的控件之一,广泛用于报表、单据列表等场景中,它有以下特性:分设计时和运行时,设计时是集成在UAP中。提供程序员编程的接口。提供回调接口。对象不销毁则保留用户的各种设置。通过常用......