新版GRANAFA K8S插件 K8S NODE 图表不显示问题解决方法
原文:https://www.wchao.site/archives/granafa-k8s
其他参考:https://blog.csdn.net/bbwangj/article/details/82658419
k8s node 图表不显示问题。
收集节点信息,依赖node-exporter 暴露的http接口。以获取cpu使用率接口为例,其格式如下:
node_cpu_seconds_total{beta_kubernetes_io_arch="amd64",beta_kubernetes_io_os="linux",cpu="9",instance="slave1",job="kubernetes-nodes",kubernetes_io_arch="amd64",kubernetes_io_hostname="slave1",kubernetes_io_os="linux",mode="user"}
dashboard 中获取的cpu数据的公式如下:

可以看到k8s Node模板里面是使用 nodename 字段来获取不同节点的数据,但是node-exporter 暴露出来的接口中,并没有nodename 字段,因此导致了模板查询不到数据,从而无法绘制图形。
解决方法如下:
点击 k8s Node dashboard 页面中的设置按钮,选择Variable 菜单

可以看到当前有4个变量,点击右上角New 创建一个新变量
点击保存后,会弹出一个提示框。选择overwrite 即可。 
注意上图中的node_boot_time 要写成 node_boot_time_seconds,即
label_values(node_boot_time_seconds,instance)
直到下面preview of values 显示主机列表的时候才算正常
如下所示

再回到 k8s Node dashboard 页面,可以看到多了instance 一栏
随后编辑各个panel, 将引用了nodename的地方改为instance。这里以cpu panel 为例: 
可以看到,修改后图形能正常展示了。 使用新版本最后还是不能正常显示,不过问题不大,主要原因是有些字段名字已经更换了,下面是部分更改属性的对应:
* node_cpu -> node_cpu_seconds_total
* node_memory_MemTotal -> node_memory_MemTotal_bytes
* node_memory_MemFree -> node_memory_MemFree_bytes
* node_filesystem_avail -> node_filesystem_avail_bytes
* node_filesystem_size -> node_filesystem_size_bytes
* node_disk_io_time_ms -> node_disk_io_time_seconds_total
* node_disk_reads_completed -> node_disk_reads_completed_total
* node_disk_sectors_written -> node_disk_written_bytes_total
* node_time -> node_time_seconds
* node_boot_time -> node_boot_time_seconds
* node_intr -> node_intr_total
* node_filesystem_free -> node_filesystem_free_bytes
* node_filesystem_size -> node_filesystem_size_bytes
* node_disk_bytes_read-> node_disk_read_bytes_total
* node_disk_bytes_written -> node_disk_written_bytes_total
* node_disk_reads_completed->node_disk_reads_completed_total
* node_disk_writes_completed ->
node_disk_writes_completed_total
* node_network_receive_bytes ->
node_network_receive_bytes_total
* node_network_transmit_bytes ->
node_network_transmit_bytes_total
* node_network_receive_errs ->
node_network_receive_errs_total
授人以鱼不如授人以渔。如果上面没有列出的属性,你复制一下到prometheus这儿通常会出现大意相同写法不同的属性名称。这就是对应的。
最后附上一张成功图。 
新版GRANAFA K8S插件 K8S NODE 图表不显示问题解决方法的更多相关文章
- 强大的Grafana k8s 插件
原文参考: https://i4t.com/4152.html 参考:https://blog.csdn.net/mailjoin/article/details/81389700 插件链接:http ...
- 9、二进制安装K8s之增加node
二进制安装K8s之增加node 1.复制文件,要部署几台就直接复制即可 #二进制文件 scp /data/k8s/bin/{kubelet,kube-proxy} root@192.168.100.1 ...
- 【K8S】K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本)
[K8S]K8S 1.18.2安装dashboard(基于kubernetes-dashboard 2.0.0版本) 写在前面 K8S集群部署成功了,如何对集群进行可视化管理呢?别着急,接下来,我们一 ...
- jquery插件lazyload.js延迟加载图片的使用方法
如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动情况来加载你需要看的图片,然后它才会从后台请求下载图片,最后显示出来.通过 ...
- highCharts图表应用-实现多种图表的显示
在数据统计和分析业务中,有时需要在一个图表中将柱状图.饼状图.曲线图的都体现出来,即可以从柱状图中看出具体数据.又能从曲线图中看出变化趋势,还能从饼状图中看出各部分数据比重.highCharts可以轻 ...
- Highchar.js插件提示框千分位显示为空格而不是逗号 --(2018 08/06-08/12周总结)
1.Oracle在已经存在主键的表中插入复合主键的SQL语句 如已有一个表test_key,其中a1列为主键. CREATE TABLE TEST_KEY( A1 VARCHAR2(3) NOT NU ...
- Cocos2d-X3.0 刨根问底(五)----- Node类及显示对象列表源码分析
上一章 我们分析了Cocos2d-x的内存管理,主要解剖了 Ref.PoolManager.AutoreleasePool这三个类,了解了对象是如何自动释放的机制.之前有一个类 Node经常出现在各种 ...
- Flash图表控件FusionCharts如何在图表中显示标识和图片
在FusionCharts的图表中显示外部商标 使用FusionCharts之后,用户可以在运行时加载需要在图表中显示的外部标识/图片/图像.这个标识可以GIF / JPEG / PNG或SWF文件格 ...
- QT visual stuido 集成插件不能打开ui文件的解决方法(去掉xml的UTF8标记)
QT visual stuido 集成插件不能打开ui文件的解决方法 visual studio里不能打开这个ui文件,出现warning等解决方法是:于是将<?xml version=&quo ...
随机推荐
- UE4 Keynote 1
[UE4 Keynote 1] 1.U3D中的Project,在UE4中叫 ContentBrowser,中文名叫“内容浏览器” 最多可以打开4个ContentBrowser,通过 “窗口” -> ...
- Go如何使用数据库、缓存
database/sql 接口 Go官方没有提供数据库驱动,而是为开发数据库驱动定义了一些标准接口database/sql,开发者可以根据定义的接口来开发相应的数据库驱动,这样做有一个好处,只要是按照 ...
- Xcode 10 无开发者账号通过无线网络真机调试
Xcode是苹果公司向开发人员提供的集成开发环境,用于开发macOS.iOS.WatchOS和tvOS的应用程序.WWDC18全球开发者大会上,苹果发布了macOS Mojave beta测试版系统, ...
- Python面试题(1)
1.如何反向迭代一个序列 #如果是一个list,最快的方法使用reversetempList = [1,2,3,4]tempList.reverse()for x in tempList: pr ...
- 缓存中,2个注解:@cacheable 与 @cacheput 的区别
@cacheable:只会执行一次,当标记在一个方法上时表示该方法是支持缓存的,Spring会在其被调用后将其返回值缓存起来,以保证下次利用同样的参数来执行该方法时可以直接从缓存中获取结果. @cac ...
- max的高级用法
- 复制excel表中的数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- springMVC学习2
参数绑定 默认支持的参数类型 @Override public Item queryItemById(int id) { Item item = this.itemMapper.selectByPri ...
- ros ap 的无线中继
https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...
- Spring Security教程之基于表达式的权限控制(九)
目录 1.1 通过表达式控制URL权限 1.2 通过表达式控制方法权限 1.2.1 使用@PreAuthorize和@PostAuthorize进行访问控制 1.2.2 ...