美文网首页
PromQL使用

PromQL使用

作者: 阿当运维 | 来源:发表于2021-05-25 15:24 被阅读0次

    PromQL(Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力
    非常丰富,支持条件查询、操作符,并且内建了大量内置函数,供我们针对监控数据的各种维度进行查询.

    瞬时向量与范围向量查询

    如:
    1.目标实例状态:
    up

    2.查询指标最新样本(称为瞬时向量):
    node_cpu_seconds_total


    image.png

    回车,我们可以看到关于prometheus监控所有主机的数据,这就是瞬时向量


    image.png

    可以通过附加一组标签来进一步筛选这些时间序列:


    image.png

    3.查询指标近5分钟内样本(称为范围向量,时间单位 s,m,h,d,w,y):
    查询192.168.1.112机器的cpu空闲率百分比
    (会用到聚合操作符avg 和函数irate())


    image.png
    avg(irate(node_cpu_seconds_total{instance="192.168.1.112:9100",mode="idle"}[5m]))*100
    

    avg:求平均值
    irate():函数,计算指标在一定时间间隔内的变化速率
    *100 : 换算百分比
    求使用率再用100-(空闲率表达式)
    利用这些表达式直接可以在grafana出图


    image.png

    常用操作符

    image.png

    常用promQL收集系统信息公式:

    收集系统CPU监控信息
    
      1 .CPU使用率
    
      公式:100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
    
     2 . CPU负载
    
      公式:
    
        node_load1     ## 1分钟负载
    
        node_load5     ##5分钟负载
    
        node_load15   ##15分钟负载
    
    收集系统内存监控信息
    
    1 内存使用率
    
      公式:(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes ))* 100
    
     2 可用内存(单位:M)
    
      公式:node_memory_MemAvailable_bytes / 1024 / 1024 
    
    收集系统磁盘监控信息
    
    1 磁盘总大小(单位: G)
    
      公式:node_filesystem_size_bytes {fstype=~"ext4|xfs"} / 1024 / 1024 / 1024
    
      2 磁盘剩余大小(单位: G)
    
      公式:node_filesystem_avail_bytes {fstype=~"ext4|xfs"}  / 1024 / 1024 / 1024
    
    3 磁盘使用率
    
      公式:(1-(node_filesystem_free_bytes{fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"})) * 100
    
    收集系统网络监控信息
    
    1. 网卡入网流量 (指定某一个网卡)
    
      公式:irate(node_network_receive_bytes_total{device='ens32'}[5m])
    
    2. 网卡出网流量(指定某一个网卡)
    
      公式:irate(node_network_transmit_bytes_total{device='ens32'}[5m])
    

    说明:收集系统各信息,都是通过node_exporter服务进行数据的收集,然后通过prometheus内置的PromQL语句进行组合查询,对于每一个公式,都可以在prometheus WEB界面测试查询。

    相关文章

      网友评论

          本文标题:PromQL使用

          本文链接:https://www.haomeiwen.com/subject/kznxsltx.html