59、K8S-监控机制-Grafana-绘图管理、自定义绘图

发布时间 2023-04-11 16:01:02作者: 小粉优化大师

Kubernetes学习目录

1、绘图基础

1.1、简介

我们知道Grafana是一个可视化的集成套件,我们可以借助于现成的dashboard模板进行通用的界面展示,但是对于一些特殊的监控项的展示来说,
我们还是需要实现独有的界面展示,而这就需要借助于Grafana的图形类型来实现特定的展示效果,
对于绘图时候用到的可视化功能主要有两种方式:默认可视化方式和可视化插件。

1.2、可视化功能方式

1.2.1、默认可视化方式

1.2.2、可视化插件

1.3、图形展示

可以看到,这张图里面有各种信息展示的界面,在概览信息展示区,除了一些基本信息的展示外,在首行的右上角区域还有图形展示数据的时间选择区域范围,
因为我们曾经说过prometheus是基于时间序列的数据就那些监控的,所以时间维度的选择,对图形的展示限制非常大。

 

1.4、图表详细操作

1.4.1、View

View 当前Graph的综合展示

1.4.2、Edit

Edit Graph的属性编辑

1.4.3、Share

Share 表示当前Graph对外分享时候的一些配置属性

 

1.4.4、Explore

explore 类似于view,综合展示更详细的信息

1.4.5、Inspect

查看更具体的数据 

1.4.6、more

More 这部分包含了对当前图形的一些扩展信息,比如切割、复制、json数据展示、数据导出、触发器

1.4.7、remove

删除图表

2、绘图实践

2.1、案例需求

2.1.1、需求简介

我们通过自定义的metric的方式,做好了一个监控项,那么接下来我们就需要完成两个绘图要求。
1、绘制每分钟请求数量的曲线 QPS,
2、绘制每分钟请求量变化率曲线,
3、绘制每分钟请求处理平均耗时。

2.1.2、需求分析

上面的三个需求基本上都是曲线图,所以我们在Graph中选择折线图就可以了,而在绘图的时候,第一步需要做的就是获取数据,
所以我们现在需要做的就是在prometheus上,将这三个需求的PromQL写出来,效果如下: # 绘制每分钟请求数量的曲线 QPS
sum(increase(request_count_total{instance="192.168.10.33:8000",job="my_metric"}[1m])) # 绘制每分钟请求量变化率曲线 sum(irate(request_count_total{instance="192.168.10.33:8000",job="my_metric"}[1m])) # 绘制每分钟请求处理平均耗时 request_processing_seconds_sum{instance="192.168.10.33:8000",job="my_metric"} / request_processing_seconds_count{instance="192.168.10.33:8000",job="my_metric"}

2.2、开始绘图

2.2.1、创建图形

2.2.2、选择数据源

2.2.3、编写PromQL查询语句

复制我们上面写好的

 

 

2.2.4、设置图表样式

2.2.5、坐标相关的调整

2.2.6、对图表聚合显示

2.2.7、保存再次查询效果

2.2.8、再按上面的方式,配置另外两个绘图,总体效果图

3、总结

3.1、绘图流程

1、分析业务特性,了解图形的业务目的,检查数据可否正常获取
2、Grafana添加Dashboard,选择要增加的可视化图例
3、可视化展示的数据获取 - Query配置
4、可视化图的图例配置 - virtualization配置
5、可视化图的可选配置 - General配置
6、如果有告警需求,配置好告警配置 - Alert配置

3.2、绘图小结

需求分析
 - 分析需求场景、prometheus检验promQL语句
简单实践
 - 创建dashboard,定制查询语句、定制图形、定制可选信息、综合展示