5.prometheus通过记录规则持久查询

一、查询持续性

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

二、示例

在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
-----
 
posted @   _幸会  阅读(1197)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示