zoukankan      html  css  js  c++  java
  • 基于k8s的promethus监控

    没有监控 就没有眼睛。 除了k8s的基本监控外(pod运行状况、占用内存、cpu)。为了对微服务项目中的(1)各种参数线程池、QPS、RT、业务指标(2)系统负载、thread、mem、class、tomcat、gc、等jvm指标进行监控

    采用 promethus 对spring boot业务埋点进行监控。 因为k8s对promethus很好的支持。同时spring boot 集成client很方便。对spring boot actuator 的metrics指标有很好的集成

    所以采用了基于 k8s的 promethus job 对业务指标采取拉模式收集。 同时由于 promethus 支持 grafana前端UI界面。 所以整个架构简单采用

       

      这里采用了pull模式。对application性能有一定影响。如果对定时任务短时间指标(promethues来不及拉取) 或者性能比较高 采用 push模式

    1、spring boot 集成 promethus 可参考 https://cloud.tencent.com/developer/article/1096692  具体使用不详细介绍

          主要是 promethus四种类型的使用  https://prometheus.io/docs/concepts/metric_types/

    •  counter   只增不减的计数器 适合:qps 等统计
    •  guage     有增有减的变化  适合: cpu 使用率等
    •  histogram 条形直方统计图 适合: 请求耗时 响应大小等
    •  summary 和直方统计图相似,可以自定 分数位,适合: 请求耗时 响应大小等

     2、grafana 配置

           以线程池监控为例

          (1) 仪表盘配置

              

               a、选择数据源 : Prometheus

               b、 编写promQL: 主要对线程池 线程池数目、激活数目、队列中数目进行统计平均值,接下来根据指标自定义报警策略

               

            (2)报警配置:

              

            c、配置报警条件: now 到 5 分钟前: 查询条件(B)即队列中数目 超过 100 则触发报警

            d、配置报警通知:配置sender, 钉钉推送通知

                  

         当监控指标异常时 会触发钉钉报警, 开发人员会得到 通知 然后紧急处理。

  • 相关阅读:
    Linux初识(命令, 文件, 系统管理)
    【JavaScript学习整理】DOM对象(location history screen navigator)
    Charles进行HTTPS抓包(iOS为例)
    【JavaScript学习整理】js基础
    【css学习整理】浮动,清除
    【css学习整理】css基础(样式,语法,选择器)
    【html学习整理】meta,img,表格,表单
    【LeetCode】无重复字符的最长子串
    【html学习整理】常用标签
    【LeetCode】种花问题
  • 原文地址:https://www.cnblogs.com/mxmbk/p/10265690.html
Copyright © 2011-2022 走看看