• Prometheus简单理解


    Prometheus 覆盖指标暴露,到指标抓取、存储和可视化以及监控告警。

    指标暴露


    对于短时间执行的脚本任务等不好直接 Pull 指标的服务,Prometheus 提供了 PushGateWay 网关给这些任务将服务指标主动推 Push 到网关,Prometheus 再从这个网关里 Pull 指标。


    指标抓取


    Pull 模型:被监控服务一般通过主动暴露 metrics 端口或者通过 Exporter 的方式暴露指标,监控服务依赖服务发现模块发现被监控服务,从而去定期的抓取指标。    
    Push 模型: 被监控服务主动将指标推送到监控服务;(不对外使用)

    指标存储和查询


    PromQL 和 Prometheus 的 WebUI

    监控告警


    alertmanageer 基于 promql 来做系统的监控告警

    Metric 指标格式


    指标都是以时间序列的形式进行存储,每一个时间序列有三部分组成,指标名和指标标签集合,时间戳,样本值
    {

    Metric 指标类型


    4 种不同的指标类型:计数器 counter,仪表盘 gauge,直方图 histogram,摘要 summary。

    counter,单调递增的数据,同时可以结合 increase 和 rate 等函数统计变化速率;
    gauge 是可增可减的,可以反映一些动态变化的数据,例如当前内存占用,CPU 利用,Gc 次数等动态可上升可下降的数据,在 Prometheus 上通过 Gauge,可以不用经过内置函数直观的反映数据的变化情况。
    histogram 可以观察到指标在各个不同的区间范围的分布情况。
    summary 也是用来做统计分析的,和 Histogram 区别在于,Summary 直接存储的就是百分位数。

    Metric 指标导出


    主要有两种方式,一种是使用 Prometheus 社区提供的定制好的 Exporter 对一些组件诸如 MySQL,Kafka 等的指标作导出;也可以利用社区提供的 Client 来自定义指标导出(github.com/prometheus/client_golang/prometheus/promhttp)。

    PromQL


    通过{ }指定标签来做过滤查询
    go_gc_duration_seconds_count{instance="127.0.0.1:9600"}
    通过 =~ 指定正则表达式,localhost 开头的指标
    go_gc_duration_seconds_count{instance=~"localhost.*"}
    通过[ ]指定时间来做范围查询,d:天,h:小时,m:分钟,ms:毫秒,s:秒,w:周,y:年
    go_gc_duration_seconds_count{}[5m]
    offset 查询,一天前当前 5 分钟前的时序数据集
    go_gc_duration_seconds_count{}[5m] offset 1d
    内置函数
    rate函数=时间区间前后两个点的差 / 时间范围
    irate函数=时间区间内最后两个样本点的差 / 最后两个样本点的时间差
    sum函数=将三个QPS聚合,即可得到整个服务该接口的QPS
    sum(rate(demo_api_request_duration_seconds_count{job="demo", method="GET", status="200"}[5m])) 


     

  • 相关阅读:
    黑马笔记---常见算法与Lambda表达式
    java毕业设计笔记交易平台mybatis+源码+调试部署+系统+数据库+lw
    buuctf-misc-wireshark1
    【前端实例代码】Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果~前端开发网页设计基础入门教程~适合初学者~超简单~
    Spring Boot 中自动装配机制的原理
    m序列生成器
    Python异常、模块与包
    华为OD:求字符串中所有整数的最小和
    【Linux网络编程_TCP/UDP_字节序_套接字 实现: FTP 项目_局域网聊天项目 (已开源) 】.md updata:23/11/05
    2022牛客多校九 B-Two Frogs(概率DP+前缀和优化)
  • 原文地址:https://blog.csdn.net/qq_34562093/article/details/125893176