Grafana与数据可视化

在第1章的“初始Prometheus”部分,我们已经带领读者大致了解了Grafana的基本使用方式。对于Grafana而言,Prometheus就是一个用于存储监控样本数据的数据源(Data Source)通过使用PromQL查询特定Prometheus实例中的数据并且在Panel中实现可视化。

接下来,我们将带领读者了解如何通过Panel创建精美的可视化图表。

认识面板(Panel)

Panel是Grafana中最基本的可视化单元。每一种类型的面板都提供了相应的查询编辑器(Query Editor),让用户可以从不同的数据源(如Prometheus)中查询出相应的监控数据,并且以可视化的方式展现。

Grafana中所有的面板均以插件的形式进行使用,当前内置了5种类型的面板,分别是:Graph,Singlestat,Heatmap, Dashlist,Table以及Text。

其中像Graph这样的面板允许用户可视化任意多个监控指标以及多条时间序列。而Siglestat则必须要求查询结果为单个样本。Dashlist和Text相对比较特殊,它们与特定的数据源无关。

通过Grafana UI用户可以在一个Dashboard下添加Panel,点击Dashboard右上角的“Add Panel”按钮,如下所示,将会显示当前系统中所有可使用的Panel类型:

选择想要创建的面板类型即可。这里以Graph面板为例,创建Panel之后,并切换到编辑模式,就可以进入Panel的配置页面。对于一个Panel而言,一般来说会包含2个主要的配置选项:General(通用设置)、Metrics(度量指标)。其余的配置则根据Panel类型的不同而不同。

在通用设置中,除了一些Panel的基本信息以外,最主要的能力就是定义动态Panel的能力,这部分内容会在本章的“模板化Dashboard”小结中详细介绍。

对于使用Prometheus作为数据源的用户,最主要的需要了解的就是Metrics设置的使用。在Metric选项中可以定义了Grafana从哪些数据源中查询样本数据。Data Source中指定当前查询的数据源,Grafana会加载当前组织中添加的所有数据源。其中还会包含两个特殊的数据源:Mixed和Grafana。 Mixed用于需要从多个数据源中查询和渲染数据的场景,Grafana则用于需要查询Grafana自身状态时使用。

当选中数据源时,Panel会根据当前数据源类型加载不同的Query Editor界面。这里我们主要介绍Prometheus Query Editor,如下所示,当选中的数据源类型为Prometheus时,会显示如下界面:

Grafana提供了对PromQL的完整支持,在Query Editor中,可以添加任意个Query,并且使用PromQL表达式从Prometheus中查询相应的样本数据。

avg(irate(node_cpu{mode!='idle'}[2m]))without(cpu)

每个PromQL表达式都可能返回多条时间序列。Legend format用于控制如何格式化每条时间序列的图例信息。Grafana支持通过模板的方式,根据时间序列的标签动态生成图例名称,例如:使用{{instance}}表示使用当前时间序列中的instance标签的值作为图例名称:

{{instance}}-{{mode}}

当查询到的样本数据量非常大时可以导致Grafana渲染图标时出现一些性能问题,通过Min Step可以控制Prometheus查询数据时的最小步长(Step),从而减少从Prometheus返回的数据量。

Resolution选项,则可以控制Grafana自身渲染的数据量。例如,如果Resolution的值为1/10,Grafana会将Prometeus返回的10个样本数据合并成一个点。因此Resolution越小可视化的精确性越高,反之,可视化的精度越低。

Format as选项定义如何格式化Prometheus返回的样本数据。这里提供了3个选项:Table,Time Series和Heatmap,分别用于Tabel面板,Graph面板和Heatmap面板的数据可视化。

除此以外,Query Editor还提供了调试相关的功能,点击Query Inspector可以展开相关的调试面板:

在面板中,可以查看当前Prometheus返回的样本数据,用户也可以提供Mock数据渲染图像。

grafa导出数据图标_第5章 数据与可视化 - Grafana与数据可视化 - 《Prometheus操作指南》 - 书栈网 · BookStack...相关推荐

  1. 语雀可以导出html吗,工具 - Confluence 迁移到语雀 - 《语雀使用文档》 - 书栈网 · BookStack...

    Confluence 迁移到语雀 实现原理 基于 Confluence 自带的 「HTML Export」功能,可以将整个空间(Space)以 HTML 文件格式导出到一个 zip 文件中.这样语雀就 ...

  2. mysql pmod项目_内置函数 - 数学函数 - 《Apache Doris 文档(201812)》 - 书栈网 · BookStack...

    数学函数 abs(double a) 功能: 返回参数的绝对值 返回类型:double类型 使用说明:使用该函数需要确保函数的返回值是整数. acos(double a) 功能: 返回参数的反余弦值 ...

  3. dateutil 日期计算_日期时间 - 日期时间工具-DateUtil - 《Hutool 参考文档》 - 书栈网 · BookStack...

    日期时间工具-DateUtil 由来 考虑到Java本身对日期时间的支持有限,并且Date和Calendar对象的并存导致各种方法使用混乱和复杂,故使用此工具类做了封装.这其中的封装主要是日期和字符串 ...

  4. mysql集群跨地域同步部署_跨地域冗余 - 跨数据中心部署方案 - 《TiDB v2.1 用户文档》 - 书栈网 · BookStack...

    跨数据中心部署方案 作为 NewSQL 数据库,TiDB 兼顾了传统关系型数据库的优秀特性以及 NoSQL 数据库可扩展性,以及跨数据中心(下文简称"中心")场景下的高可用.本文档 ...

  5. emqtt数据存储mysql,数据存储 - MongoDB 消息存储 - 《EMQ X Enterprise v3.0 中文文档》 - 书栈网 · BookStack...

    MongoDB 消息存储 配置 MongoDB 消息存储 配置文件: emqx_backend_mongo.conf 配置 MongoDB 服务器 支持配置多台 MongoDB 服务器连接池:## M ...

  6. mysql t 保存_检查 (调试) - 离线消息保存到 MySQL - 《EMQ X Enterprise v4.1 中文文档》 - 书栈网 · BookStack...

    离线消息保存到 MySQL 搭建 MySQL 数据库,并设置用户名密码为 root/public,以 MacOS X 为例: $ brew install mysql $ brew services ...

  7. emq数据储存到mysql,规则引擎示例 - 保存数据到 MySQL - 《EMQ X Enterprise v4.0 中文文档》 - 书栈网 · BookStack...

    保存数据到 MySQL 搭建 MySQL 数据库,并设置用户名密码为 root/public,以 MacOS X 为例:$ brew install mysql $ brew services sta ...

  8. wps在线预览接口_金山文档在线编辑 - 快速接入 - 《WPS开放平台技术文档》 - 书栈网 · BookStack...

    快速接入 一.申请和上线流程如下: 1.申请Appid和SecretKey 需要前往https://open.wps.cn 注册服务商,并且申请开通金山文档在线编辑服务. 2.实现回调接口 根据本文档 ...

  9. spark 相关性分析_基本统计 - correlations(相关性系数) - 《spark机器学习算法研究和源码分析》 - 书栈网 · BookStack...

    相关性系数 计算两个数据集的相关性是统计中的常用操作.在MLlib中提供了计算多个数据集两两相关的方法.目前支持的相关性方法有皮尔森(Pearson)相关和斯皮尔曼(Spearman)相关. Stat ...

  10. 华润大学ldap账号是什么_认证配置 - 接入 LDAP / AD 域账号(Beta) - 《KubeSphere v2.1 使用手册》 - 书栈网 · BookStack...

    接入 LDAP / AD 域账号(Beta) 如果您的企业使用 LDAP 作为用户认证系统,您可以在 KubeSphere 中通过脚本配置内置的 OpenLDAP 接入您的 LDAP 用户系统,从而允 ...

最新文章

  1. 关于 MyBatis 我总结了 10 种通用的写法
  2. MySQL-锁表处理
  3. 还在担心工作被AI取代?不如掌握这门硬实力,抢占职场发展机遇
  4. php 网格,PHP中的数据网格
  5. 从一个程序员的角度告诉你:12306有多牛逼?
  6. 学习笔记CB012: LSTM 简单实现、完整实现、torch、小说训练word2vec lstm机器人
  7. win7下安装linux(CentOS)过程中遇到的问题总结
  8. OAuth2.0 微信授权机制
  9. 实践经验:应该如何使用Docker?
  10. 不支持给定路径的格式_剑指offer_12_矩阵中的路径
  11. 高级开发进阶到架构师的必要条件是什么?
  12. 密码字典生成工具crunch的简单使用
  13. Ubuntu20.04安装Nvidia显卡驱动
  14. JDK1.8 List转Map
  15. 计算机搜索栏打字不显示,win7系统电脑使用搜狗输入法打字看不到选字框的解决方法...
  16. android压力测试命令monkey详解,android压力测试命令monkey详解(示例代码)
  17. 做软文营销发布有哪些常见平台?
  18. 用python模拟一个文本浏览器来抓取网页
  19. 校园一卡通的实现机制(图解)
  20. fedora 27字体美化达到ubuntu级别

热门文章

  1. OCS 2007 R2搭建准备虚机及快照
  2. X3平台制程及工卡开立设计说明
  3. ms Sql server 中的getDate()函数使用方法总结
  4. RFC792翻译(ICMP主要内容)
  5. c++string类寻找子串
  6. 企业Web应用中的敏捷测试和瀑布测试
  7. 《无线网络:理解和应对互联网环境下网络互连所带来的挑战》——2.2 IEEE
  8. 慎重选择博士后(或博士生)导师
  9. VssPlus1.1-微软VSS增强工具
  10. CICD - Teamcity 配置之一: 数据库自动部署