zoukankan      html  css  js  c++  java
  • prometheus函数介绍

    一 函数介绍

    gauge类型的数据  属于随机变化数值,并不像counter那样 是 持续增长

    1 increase()

    increase 函数 在promethes中,是⽤来 针对Counter 这种持续增 长的数值,截取其中⼀段时间的增量 。 increase(node_cpu[1m])   =》 这样 就获取了 CPU总使⽤时间 在1分钟内的增量,得到的是一个cpu在一分钟内的增量,increase和rate很相似

    rate(1m) 是取⼀段时间增量的平均每秒数量
    increase(1m) 则是 取⼀段时间增量的总量 
    举例:

    
    increase(node_network_receive_bytes[1m]) 取的是 1分钟内的 增量总量 
    rate(node_network_receive_bytes[1m]) 取的是 1分钟内的增量  除以 60秒 每秒数量
    

    2 sum()

    sum( ) 就如其字⾯意思⼀样 起到value 加合的作⽤,sum(   increase(node_cpu[1m])   ) 外⾯套⽤⼀个sum 即可把所有核数值加合,得到所有cpu在一分钟之内的增量

    用法:sum(rate(node_network_receive_bytes[1m]))

    3 (instance)

    这个函数 可以把 sum加合到⼀起的数值 按照指定的⼀个⽅式 进⾏⼀层的拆分 instance代表的是 机器名
    例如:

    sum(increase(node_cpu_seconds_total{mode="idle"}[1m]))by (instance)
    

    4 利用上面的函数查看cpu使用率

    idle代表是cpu空闲时间

    
    (1-((sum(increase(node_cpu_seconds_total{mode="idle"}[1m])) by (instance))/(sum(increase(node_cpu_seconds_total[1m])) by (instance)))) * 100 
    
    sum(increase(node_cpu{mode="idle"}[1m])) by (instance)  =》 是空闲CPU时间 1分钟的增量 
    
    sum(increase(node_cpu_seconds_total[1m])) by (instance) 是全部CPU时间 1分 钟增量 
    

    5 rate 函数的使⽤

    rate(.  ) 函数 是专门搭配counter类型数据使⽤的函数 它的功能 是按照设置⼀个时间段,取counter在这个时间段中 的 平均每秒的增量
    例子:
    rate(node_network_receive_bytes[1m])
    就可以获取到 在1分钟时间内,平均每秒钟的 增量

    所以说 我们以后在使⽤任何counter数据类型的时候,永远记 得 别的先不做 先给它加上⼀个 rate() 或者 increase()

    6 topk()

    定义:取前⼏位的最⾼值
    用法:
    Gauge类型的使⽤ topk(3,count_netstat_wait_connections)
    Counter类型的使⽤ topk(3,rate(node_network_receive_bytes[20m]))

    7 count()

    定义: 把数值符合条件的 输出数⽬进⾏加合
    举例:找出当前(或者历史的)当TCP等待数⼤于200的 机器数量
    count(count_netstat_wait_connections > 200)

    二 prometheus命令⾏格式

    1 精确匹配

    命令⾏的查询 在原始输⼊的基础上 先使⽤{} 进⾏第⼀步过滤 count_netstat_wait_connections{exported_instance="log"}

    exported_instance  指明 是 那台被监控服务器  “log” 是⼀台 ⽇志服务器的机器名

    2 模糊匹配

    count_netstat_wait_connections{exported_instance=~"web.*"}

    把所有 机器名中 带有 web的 机器都显⽰出来 
    .* 属于正则表达式
    模糊匹配   =~
    模糊不匹配  !~

    3 数值过滤

    标签过滤之后  就是数值的过滤 ⽐如 我们只想找出 wait_connection数量 ⼤于200的  count_netstat_wait_connections{exported_instance=~"web.*"} > 200

  • 相关阅读:
    Ubuntu 12.04下PostgreSQL-9.1安装与配置详解(在线安装) [转]
    network error:software caused connection abort
    MySQL数据库SQL修改数据规范
    常见的动物单词汇总
    PHP观察者模式
    PHP单例模式
    PHP工厂模式
    PHP面试准备
    Let Encrypt延期(转自虞大胆的叽叽喳喳)
    全球最昂贵的域名和国内著名的域名交易
  • 原文地址:https://www.cnblogs.com/huningfei/p/12717968.html
Copyright © 2011-2022 走看看