zoukankan      html  css  js  c++  java
  • 新版GRANAFA K8S插件 K8S NODE 图表不显示问题解决方法

    原文:https://www.wchao.site/archives/granafa-k8s

    其他参考:https://blog.csdn.net/bbwangj/article/details/82658419

    k8s node 图表不显示问题。 2收集节点信息,依赖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数据的公式如下:

    3

    可以看到k8s Node模板里面是使用 nodename 字段来获取不同节点的数据,但是node-exporter 暴露出来的接口中,并没有nodename 字段,因此导致了模板查询不到数据,从而无法绘制图形。

    解决方法如下:

    点击 k8s Node dashboard 页面中的设置按钮,选择Variable 菜单

    4

    可以看到当前有4个变量,点击右上角New 创建一个新变量

    点击保存后,会弹出一个提示框。选择overwrite 即可。 5

    注意上图中的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 为例: 8

    可以看到,修改后图形能正常展示了。 使用新版本最后还是不能正常显示,不过问题不大,主要原因是有些字段名字已经更换了,下面是部分更改属性的对应:

    * 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这儿通常会出现大意相同写法不同的属性名称。这就是对应的。 9最后附上一张成功图。 7

  • 相关阅读:
    JAVA基础学习(7)之函数
    人与神话阅读笔记03
    学习进度八
    人月神话阅读笔记02
    NABCD原则
    人月神话阅读笔记01
    学习进度七
    学习进度六
    梦断代码阅读笔记03
    地铁系统初步思路
  • 原文地址:https://www.cnblogs.com/robinunix/p/11280883.html
Copyright © 2011-2022 走看看