Prometheus 查询持久化

说明:我们在prometheus浏览器中运行查询,查询的结果只是临时存储在prometheus服务器上。我们可以通过三种方式使查询持久化

1) 记录规则

        根据查询创建新指标

2) 警报规则

        从查询生成警报

3) 可视化

        使用Grafana等仪表盘可视化查询


一、记录规则

        记录规则是一种根据已有的时间序列计算新时间序列的方法。特别是聚合时间序列

        适用场景:

        1. 跨多个时间序列生成聚合

        2. 预先计算消耗大的查询

        3. 产生可用于生成警报的时间序列

        配置记录规则:

        global: #块中

        evaluation_interval: 15s

        规则文件:

        rule_files:
            - "first_rules.yml"
            - "second_rules.yml"

# 创建规则文件目录

        mkdir -p /usr/local/prometheus/rules

# 创建规则文件

        cd /usr/local/prometheus/rules && touch node_rules.yml

# 编辑prometheus.yml

         rule_files:
            - "rules/node_rules.yml"

# 添加记录规则

groups: 
- name: node_rules

  interval: 10s
  rules: 
  - record: instance:node_cpu:avg_rate5m
    expr: 100 - avg(irate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[5m])) by (instance) * 100

    labels: 

       metric_type: aggregation

#说明:
1.1 规则组名称:node_rules,全局唯一
1.2 规则组内的规则,按照间隔时间顺序执行,默认情况下,通过evaluate_interval来控制间隔时间,规则组内可以使用interval子句进行覆盖
1.3 规则组内,后面的规则可以调用前面的规则创建指标,但是规则组间是并行的

1.4 记录名称命名规范: level:metric:operations

        level: 表示聚合级别,metric:表示指标名称 ,operation: 表示应用于指标的操作列表

 #完整的记录

groups: 
- name: node_rules
  rules: 
  - record: instance:node_cpu:avg_rate5m
    expr: 100 - avg(irate(node_cpu_seconds_total{job="node_exporter",mode="idle"}[5m])) by (instance) * 100
  - record: instance:node_memory_usage:percentage
    expr: (node_memory_MemTotal_bytes-node_memory_MemFree_bytes-node_memory_Cached_bytes-node_memory_Buffers_bytes)/node_memory_MemTotal_bytes *100
  - record: instance:root:node_filesystem_usage:percentage
    expr: (node_filesystem_size_bytes{mountpoint="/"}-node_filesystem_free_bytes{mountpoint="/"})/node_filesystem_size_bytes *100

 重启prometheus

curl -X POST http://192.168.161.118:9090/-/reload

prometheus前台验证

二、可视化 Grafana组件    

grafana是一款采用go编写的开源应用,主要用于大规模指标数据的可视化展现,是当前主流监控的可视化工具;grafana可以接收不同数据源的数据,然后提供可视化仪表盘。它支持多种数据源: elasticsearch,Prometheus,Loki
grafana基础组成
1. Dashboard: 仪表盘,以图形的形式展示从DataSource获取的数据
2. Row:行。Dashboard基础组成单元。一个Dashboard可以包含很多row
3. Panel: 面板。row的展示信息的方式
4. Query Editor:查询编辑器。用来指定从哪里获取数据
5. Organization: org,组织。每个用户可以拥有多个组织,每个grafana有一个磨人的org,用户登录后可以在不同的org进行切换
6. User: 用户。grafana有三种角色,admin,editor,viewer。
                admin权限最高
                editor不可以创建用户,不可以新增数据源,可以创建dashboard
                viewer仅仅可以查看dashboard

 Grafana部署

1. 下载软件包

        wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.1.7-1.x86_64.rpm

2. 安装

        yum localinstall grafana-enterprise-9.1.7-1.x86_64.rpm -y

3. 启动服务

        systemctl start gfarana-server.service

        systemctl enable grafana-server.service

4. grafana默认配置文件,默认端口:3000

        /etc/grafana/grafana.ini

 node_exporter dashboard展示 

process_exporter dashboard展示

 

 较为美观的dashboard推荐:

node_exporter:     1860
process_exporter:  249

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值