热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Grafana使用表格面板进行数据可视化

前面我们了解了如何使用基于时序数据的面板,接下来我们了解另外一个表格面板,

前面我们了解了如何使用基于时序数据的面板,接下来我们了解另外一个表格面板,表格面板可视化非常灵活,支持时间序列和表格和原始 JSON 数据的多种模式,此面板还提供日期格式、值格式和着色选项。

添加表格面板

接下来我们以统计服务器资源为例,对表格面板的使用进行说明。在 Dashboard 中添加添加一个空的 Panel 面板,进入面板编辑器后在右侧上方选择 Table
面板:

首先我们需要展示节点信息,我们可以使用 node_uname_info
指标来获取,在查询区域添加如下所示查询语句:

然后再添加一个查询来获取节点运行时间的相关信息,可以使用 node_boot_time_seconds
指标来进行计算,查询语句为 sum(time() - node_boot_time_seconds{job="node-exporter"})by(instance)

然后我们对于节点其他资源统计也非常关心,比如节点总内存、总 CPU 数、负载、带宽等等信息,接下来分别添加如下查询:

  • 总内存:node_memory_MemTotal_bytes{job="node-exporter"}
  • CPU 核数:count(node_cpu_seconds_total{job="node-exporter", mode='system'}) by (instance)
  • 5 分钟负载:node_load5{job="node-exporter"}
  • 连接数:node_netstat_Tcp_CurrEstab{job="node-exporter"}
  • 下载带宽:max(rate(node_network_receive_bytes_total{job="node-exporter"}[$interval])*8) by (instance)
  • 上传带宽:max(rate(node_network_transmit_bytes_total{job="node-exporter"}[$interval])*8) by (instance)

如还有其他需要展示的也可以直接添加新的查询即可:

表格转换

现在我们将所有需要展示的信息都通过 Table
形式展示出来了,但是现在有一个很大的问题,就是需要对每一个查询切换显示:

这显然是非常不友好的显示方式,我们需要将这些表格内容合并成一个表格进行展示,这个时候就需要用到 Grafana 的 Transform
转换功能了,在 Transform
选项卡中选择 Merge
选项:

Merge
转换器可以合并多个序列或者多个表格为一个表格,其中可合并的值将合并到同一行中,用于显示在表格中可视化的多个序列、表格或两者的组合。当我们选择了 Merge
转换器过后就会将上面的多个查询结果合并成一个表格。

但其实合并后的表格数据有一些地方没有显示,这是因为我们查询的结果实际上是包含 __name__
这个标签的,在合并的时候会造成数据丢失,我们可以将所有的查询语句后面添加上一个 - 0
来去掉这个标签,这样合并的时候就不会丢失数据了。比如查询主机信息的语句变成 node_uname_info{job="node-exporter"} - 0
,其他的语句也都加上 - 0
这个操作。

数据虽然正确了,但是表头却看不出来是表达的什么意义,有的列还是不需要的,这个时候同样也要用到 Transform
转换器了,这里我们需要用到的是 Organize fields
转换器,该转换器允许用户重新排序、隐藏或重命名字段或者列。

这里我们将不需要的一些列隐藏掉了,将表头进行了重命名。

属性覆盖

上面我们将查询的数据结果用一个表格展示出来了,但是现在我们的数据都是直接的一个结果,我们需要进行转换加上我们的单位。

比如对于运行时间这一列,我们需要添加覆盖,设置一个 seconds (s)
类型的单位,然后会根据我们的结果进行自动转换:

同样对总内存这一列的数据结果进行覆盖添加 bytes(IEC)
类型的单位:

此外在定制某列数据的显示效果的时候我们还可以为其配置背景颜色,只需要设置 Cell display mode
表格模式,该属性可以配置文本颜色、背景、按照 gauge 进行显示等方式:

比如我们可以为 CPU使用率
内存使用率
配置显示模式为 LCD gauge
,显示效果如下所示:

添加显示行

我们还可以定义一个 total
参数来表示监控的主机总数,不过需要注意的是这里的参数我们不需要展示,需要选择隐藏方式为 Variable

再单独定义一个显示主机名的变量,这里我们使用的查询语句为 node_uname_info{instance=~"$host"}
,需要注意的是这里关联的是前面定义的 $host
这个变量:

然后我们可以添加两个空的 Row
行:

把我们的面板放到不同的行中去,并为每一行定义显示标题,标题里面就可以使用前面定义的变量:

到这里我们的节点监控的完整效果如下所示:



推荐阅读
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了如何找到并终止在8080端口上运行的进程的方法,通过使用终端命令lsof -i :8080可以获取在该端口上运行的所有进程的输出,并使用kill命令终止指定进程的运行。 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • WebSocket与Socket.io的理解
    WebSocketprotocol是HTML5一种新的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送 ... [详细]
  • 在线教育平台的搭建及其优势
    在线教育平台的搭建对于教育发展来说是一次重大进步。未来在线教育市场前景广阔,但许多老师不知道如何入手。本文介绍了在线教育平台的搭建方法以及与传统教育相比的优势,包括时间、地点、空间的灵活性,改善教育不公平现象以及个性化教学的特点。在线教育平台的搭建将为学生提供更好的教育资源,解决教育不公平的问题。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
author-avatar
mobiledu2502927743
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有