【Grafana】Grafana 基础入门
Grafana 简介
什么是Grafana
Grafana 是一跨平台的开源的可视化分析工具,是目前网络架构和应用分析中最流行的时序数据展示工具,主要用于大规模指标数据的可视化展示。
它是用Go语言开发,可以做数据监控和数据统计,带有告警功能。支持快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件。
- 官网地址:Grafana官网入口
Grafana工作原理
Grafana 是一个仪表盘,其主要目的是对各种数据提供可视化。
Grafana 本身并不负责数据层,它只提供了通用的接口,让底层的数据库可以把数据给它。也就是说,Grafana 每次要展现一个仪表盘的时候,会向数据库发送一个查询请求。
一般来说,我们需要一个服务来获取我们想要监控或者可视化的数据,然后将其放到Grafana的底层数据库中,等待Grafana展示。然后我们需要配置Grafana表盘,确定需要展示的数据以及形式。
Grafana的特点
- grafana拥有快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式,让我们复杂的数据展示的美观而优雅。
- Grafana支持许多不同的时间序列数据(数据源)存储后端。每个数据源都有一个特定查询编辑器。官方支持以下数据源:Graphite、infloxdb、opensdb、prometheus、elasticsearch、cloudwatch。每个数据源的查询语言和功能明显不同。你可以将来自多个数据源的数据组合到一个仪表板上,但每个面板都要绑定到属于特定组织的特定数据源
- Grafana中的警报允许您将规则附加到仪表板面板上。保存仪表板时,Gravana会将警报规则提取到单独的警报规则存储中,并安排它们进行评估。报警消息还能通过钉钉、邮箱等推送至移动端。但目前grafana只支持graph面板的报警。
- Grafana使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;
- Grafana使用Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。
Grafana的应用场景
- 1.监控用户的活跃度,交易量等信息
- 2.监控实时访问量
- 3.对app的用户数,营收等数据进行可视化
- 4.对实验结果进行可视化
Grafana 与 Kibana 的区别
Kibana 是运维圈耳熟能详的后端数据实时展示工具。日常工作中,大家都用 Kibana 结合Logstash、ElasticSearch 等组件一起使用做日志展示、索引、分析的。但Kibana也可以接入其他数据源的,只不过最常见的用法还是展示日志。
Grafana 最早其实应该是 Kibana3 的一个分支。不同的是,Grafana 拥有自己的权限管理和用户管理系统,而 Kibana 没有权限管理系统。Kibana 和 ES 结合紧密,支持强大的ES语法,比较适合做一些多维度的分析和查询,而Grafana更适合用于展示,图形比Kibana美观很多。
Grafana 7个核心基础概念
Grafana基础概念主要包括数据源(DataSource),面板(Panel),仪表盘(Dashboard)等,要想深入了解grafana,首先要先学习grafana的基础概念。
1、组织(Org)
类似于用户组,Grafana有一个默认的main org。
每个用户可以拥有多个 Organization,用户登录后可以在不同的 Organization 之间切换,前提是该用户拥有多Organization。
不同的 Organization 之间完全不一样,包括 datasource,dashboard 等都不一样。
创建一个 Organization 就相当于开了一个全新的视图,所有的 datasource,dashboard 等都要再重新开始创建。
2、用户(User)
Grafana 里的用户有三种角色 admin,editor,viewer。在2.1版本及之后新增了一种角色read only editor(只读编辑模式),这种模式允许用户修改 DashBoard,但是不允许保存。每个 user 可以拥有多个 Organization。
-
admin 权限最高,可以执行任何操作,包括创建用户,新增 Datasource,创建DashBoard。
-
editor 角色不可以创建用户,不可以新增 Datasource,可以创建 DashBoard。
-
viewer 角色仅可以查看 DashBoard。
3、数据源 (DataSource)
-
Grafana 支持多种不同的时序数据库数据源,对每种数据源提供不同的查询编辑器。官方主要支持以下数据源:Graphite、influxdb、opensdb、prometheus、elasticsearch、cloudwatch等。
-
可以将多个数据源的数据合并到一个单独的仪表板上。
-
Grafana支持许多不同的时间序列数据(数据源)存储后端。您可以将来自多个数据源的数据组合到一个仪表盘上,但每个面板都要绑定到属于特定组织的特定数据源。
4、仪表盘(Dashboard)
接下来介绍一下 Grafana 中的重要 UI 界面——仪表盘。
Grafana的 DashBoard 就是以各种图形的方式来展示从 Datasource 拿到的数据。
- Dashboard。通过数据源定义好可视化的数据来源之后,对于用户而言最重要的事情就是实现数据的可视化。在 Grafana 中,我们通过 Dashboard 来组织和管理我们的数据可视化图表。
- 仪表盘可以视为一组一个或多个面板组成的一个集合,来展示各种各样的面板。
-
仪表盘就是一切的归宿。仪表板可以看作是一组组织并排列成一行或多行的一个或多个面板。
仪表板的时间段可以由仪表板右上角的仪表盘时间选择器控制。
仪表盘可以利用模板化使其更具动态性和互动性。
仪表盘可以利用注释在面板之间显示事件数据。这有助于将面板中的时间序列数据与其他事件关联起来。
仪表盘(或特定面板)可以通过多种方式轻松共享。您可以向登录您的Grafana的人发送链接。您可以使用快照功能将当前查看的所有数据编码为静态和交互式JSON文档;这比通过电子邮件发送屏幕截图要好得多!
可以标记仪表板,仪表板选择器提供对特定组织中所有仪表板的快速、可搜索访问
5、行(Row)
行是仪表盘中的逻辑分隔符,用于将面板分组在一起。
DashBoard 的基本组成单元,一个 DashBoard 可以包含很多个 row 。一个 row 可以展示一种信息或者多种信息的组合。
行总是12“单位”宽。这些单位根据浏览器的水平分辨率自动缩放。通过设置面板自身的宽度,可以控制一行中面板的相对宽度。我们使用了一个单元抽象,这样Grafana在无论是小屏幕还是大屏幕 看起来都很舒服。
利用Repeating Rows functionality ,根据所选模板变量动态创建或删除整个行(可以用面板填充)。单击行标题可以折叠行。如果保存的仪表板中有一行折叠,则它将保存在该状态下,并且在该行展开之前不会预加载这些图表。
注意:使用MaxDataPoint功能,Grafana可以向您显示完美数量的数据点,无论您的分辨率或时间范围如何
6、面板(Panel)
Panel:面板是Grafana中的基本可视化构建块。在一个 Dashboard 中一个最基本的可视化单元为一个 Panel(面板)。每个 Panel 都提供一个 Query Editor(查询编辑器),我们可以为每一个 Panel 添加查询的数据源以及数据查询方式。每一个 Panel 都是独立的,可以选择一种或者多种数据源进行查询。比如我们使用 ElasticSearch,那么我们可以使用 Lucene 语句进行查询
面板可以在仪表板上拖放和重新排列。它们也可以调整大小。
当前有四种基本面板类型:graph、singlestat、dashlist、table和text。
7、查询编辑器(Query Editor)
Query Editor 顾名思义,就是查询语句管理,类似 sql 语句。每个面板都提供一个Query Editor,我们可以通过编写语句来控制面板展示不同的图表。
使用查询编辑器在时间序列数据库中生成一个或多个查询(针对一个或多个序列)。该面板将立即更新,允许您实时有效地探索数据,并为该特定面板构建一个完美的查询。
您可以在查询本身的查询编辑器中使用模板变量。这提供了一种基于仪表板上选择的模板变量动态探索数据的强大方法。
Grafana允许您在查询编辑器中按查询所在的行引用查询。如果向图形中添加第二个查询,只需键入a即可引用第一个查询。这为构建复合查询提供了一种简单方便的方法。
对于这些核心的组件的详细介绍,我们会在后面的文章中逐一进行详解。
相关文章:

【Grafana】Grafana 基础入门
Grafana 简介 什么是Grafana Grafana 是一跨平台的开源的可视化分析工具,是目前网络架构和应用分析中最流行的时序数据展示工具,主要用于大规模指标数据的可视化展示。 它是用Go语言开发,可以做数据监控和数据统计,带有告警功能…...

如何获取页面上所有input框
要获取页面上所有的<input>框,你可以使用JavaScript。这通常可以通过查询DOM(文档对象模型)来实现,有几种方法可以做到这一点,包括使用document.querySelectorAll、document.getElementsByTagName或document.get…...

0-ARM Linux驱动开发-字符设备
一、字符设备概述 Linux 系统中,设备被分为字符设备、块设备和网络设备等。字符设备以字节流的方式进行数据传输,数据的访问是按顺序的,一个字节一个字节地进行读取和写入操作,没有缓冲区。例如,终端(/dev…...

使用 Faster Whisper 和 Gradio 实现实时语音转文字
随着人工智能技术的进步,语音识别已经成为最热门的研究领域之一。如何实现高效、准确的实时语音转文字功能,是许多开发者关注的重点。本文将介绍如何使用 Faster Whisper 和 Gradio 这两个强大工具,快速构建一个实时语音转文字应用。 Faster…...

redis v6.0.16 安装 基于Ubuntu 22.04
redis安装 基于Ubuntu 22.04 本文演示如何在ubuntu22.04下,安装redis v6.0.16,并配置测试远程访问。 Step1 更新环境 sudo apt updateStep2 安装redis sudo apt install redis-server -yStep3 启动 sudo systemctl restart redissudo systemctl sta…...

Milvus - 内存索引类型详解
1. 背景概述 在大规模数据处理和向量相似性搜索场景中,内存索引的使用显著提升了查询速度和效率。Milvus 提供了多种内存索引类型,以满足不同场景下的性能需求。本文将介绍 Milvus 支持的各种内存索引类型及其适用场景、配置参数和使用方法。 2. 为什么…...

【STM32】按键控制LED 光敏传感器控制蜂鸣器
文章目录 前置知识按键介绍传感器模块硬件电路按键硬件电路传感器模块硬件电路 C语言数据类型在Keil中的对应写法C语言枚举 按键控制LED接线图Hardware文件夹(模块化编程)LED驱动程序封装Key(按键)驱动程序封装 main.c源文件 光敏传感器控制蜂鸣器接线图…...

flutter-防抖
在Flutter中实现输入框的防抖功能,通常是为了减少用户输入时触发的事件数量,特别是在进行网络请求时。防抖(Debounce)意味着在用户停止输入一段时间后才触发事件。以下是实现输入框防抖的一种方法: 1、使用Debounce类…...

什么是贪心算法
贪心算法(Greedy Algorithm)是一种逐步构建解决方案的方法,在每一步选择中都作出局部最优的选择,希望最终能够获得全局最优解。贪心算法的核心思想是贪心选择性质,即每次选择当前看来最好的解,不考虑未来可…...

YOLOv6-4.0部分代码阅读笔记-effidehead_lite.py
effidehead_lite.py yolov6\models\heads\effidehead_lite.py 目录 effidehead_lite.py 1.所需的库和模块 2.class Detect(nn.Module): 3.def build_effidehead_layer(channels_list, num_anchors, num_classes, num_layers): 1.所需的库和模块 import torch import t…...

重学SpringBoot3-整合 Elasticsearch 8.x (一)客户端方式
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 这里写目录标题 1. 为什么选择 Elasticsearch?2. Spring Boot 3 和 Elasticsearch 8.x 的集成概述2.1 准备工作2.2 添加依赖 3. Elasticsearch 客户端配置方式…...

极简实现酷炫动效:Flutter隐式动画指南第三篇自定义Flutter隐式动画
目录 前言 一、TweenAnimationBuilder 二、使用TweenAnimationBuilder实现的一些动画效果 1.调整透明度的动画 2.稍微复杂点的组合动画 3.数字跳动的动画效果 前言 上两节博客分别介绍了Flutter中的隐式动画的基础知识以及使用隐式动画实现的一些动画效果。当系统提供的隐…...

无人机维护保养、部件修理更换技术详解
无人机作为一种精密的航空设备,其维护保养和部件修理更换是确保飞行安全、延长使用寿命的重要环节。以下是对无人机维护保养、部件修理更换技术的详细解析: 一、无人机维护保养技术 1. 基础构造理解: 熟悉无人机的基本构造,包括…...

xilinx vitis 更换硬件平台——ZYNQ学习笔记5
1、重新生成硬件信息 2、选择带有bit信息 3、设施路径和名字 4、打开更新硬件选项 5、选择新的硬件信息 6、打开系统工程界面 7、复位硬件信息 更新完毕...

vscode makfile编译c程序
编译工具安装 为了在 Windows 上安装 GCC,您需要安装 MinGW-w64。 MinGW-w64 是一个开源项目,它为 Windows 系统提供了一个完整的 GCC 工具链,支持编译生成 32 位和 64 位的 Windows 应用程序。 1. 下载MinGW-w64源代码,如图点…...

【学术论文投稿】探索嵌入式硬件设计:揭秘智能设备的心脏
【IEEE出版】第六届国际科技创新学术交流大会暨通信、信息系统与软件工程学术会议(CISSE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议论文投稿请看:https://ais.cn/u/nuyAF3 目录 引言 嵌入式系统简介 嵌入式硬件设计的组成部分 设…...

JavaScript 概述
### JavaScript 概述 JavaScript 是一种广泛使用的编程语言,它最初由 Netscape 公司的 Brendan Eich 在1995年创建,目的是为网页添加交互性。随着时间的发展,JavaScript 已经从一个简单的脚本语言演变成了一种功能强大的编程语言,…...

2024年10月个人工作生活总结
本文为 2024年10月工作生活总结。 研发编码 一个证书过期问题记录 某天,现场反馈某服务无法使用问题,经同事排查,是因为服务证书过期导致的。原来,证书的有效期设置为5年,这个月刚好到期。 虽然这个问题与自己无直接…...

uniapp ,微信小程序,滚动(下滑,上拉)到底部加载下一页内容
前言 小程序的内容基本都是滑动到底部加载下一页,这个一般都没有什么好用的组件来用,我看vant和uniapp的插件里最多只有个分页,没有滚动到底部加载下一页。再次做个记录。 效果预览 下滑到底部若是有下一页,则会自动加载下一页&…...

MySQL中的日志类型有哪些?binlog、redolog和undolog的作用和区别是什么?
简介: MySQL中有六种日志文件,分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志࿰…...

【uni-app】创建自定义模板
1. 步骤 打开自定义模板文件夹 在此文件夹下创建模板文件(注意后缀名) 重新点击“新建页面” 即可看到新建的模板 2. 注意事项 创建的模板必须文件类型对应(vue模板就创建*.vue文件, uvue模板就创建*.uvue文件)...

Cesium移动Primitive位置
与传统的Entity实体不同,Primitive作为一种自定义基本图元,几何形状、材质和其他属性均由使用者定义,在需要绘制大量静态几何图形的高效渲染场景中更为适用。 Primitive的移动涉及到矩阵变换,并不像Entity那样给它替换一个新的坐…...

安卓13默认连接wifi热点 android13默认连接wifi
总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 有时候我们需要让固件里面内置好,相关的wifi的ssid和密码,让固件起来就可以连接wifi,不用在手动操作。 2.问题分析 这个功能,使用普通的安卓代码就可以实现了。 3.代…...

parted 磁盘分区
目录 磁盘格式磁盘分区文件系统挂载使用扩展 - parted、fdisk、gdisk 区别 磁盘格式 parted /dev/vdcmklabel gpt # 设置磁盘格式为GPT p # 打印磁盘信息此时磁盘格式设置完成! 磁盘分区 开始分区: mkpart data_mysql # 分区名&…...

第三百零八节 Log4j教程 - Log4j日志到数据库
Log4j教程 - Log4j日志到数据库 我们可以使用log4j API通过使用org.apache.log4j.jdbc.JDBCAppender对象将信息记录到数据库中。 下表列出了JDBCAppender的配置属性。 属性描述bufferSize设置缓冲区大小。默认大小为1。driverJDBC驱动程序类。默认为sun.jdbc.odbc.JdbcOdbcDr…...

ai智能语音电销机器人可以做哪些事情?
AI智能语音电销机器人是结合人工智能技术进行自动化电话销售和客户互动的工具,能够完成一系列任务,有助于提升销售效果、优化客户体验和提高工作效率。以下是AI智能语音电销机器人可以做的一些主要事情: 1. 自动拨号 AI语音电销机器人可以自…...

CleanShot X - Mac(苹果电脑)专业截图录屏软件
CleanShot X 不仅提供了基础的截图功能,更内置了强大的图片编辑器,让你能轻松添加标注、形状、文本……以及将多个截图进行合并。 无论是为社交媒体制作图文,还是制作专业的产品 / 教程演示,CleanShot X 都能满足你的需求。 软件…...

Kafka 客户端工具使用分享【offsetexplorer】
前言: 前面我们使用 Spring Boot 继承 Kafka 完成了消息发送,有朋友会问 Kafka 有没有好用的客户端工具,RabbitMQ、RocketMQ 都有自己的管理端,那 Kafka 如何去查看发送出去的消息呢? 本篇我们就来分享一个好用的工具…...

uni-app 下拉刷新、 上拉触底(列表信息)、 上滑加载(短视频) 一键搞定
一、下拉刷新 1. 首先找到pages.json中 给需要进行下拉刷新的页面设置可以下拉刷新 2. 然后在需要实现下拉刷新的script标签内添加 导入onPullDownRefresh import {onPullDownRefresh} from dcloudio/uni-app 下拉刷新触发的事件 onPullDownRefresh(()> {console.log(正…...

基于Spring Boot+Vue的助农销售平台(协同过滤算法、限流算法、支付宝沙盒支付、实时聊天、图形化分析)
🎈系统亮点:协同过滤算法、节流算法、支付宝沙盒支付、图形化分析、实时聊天; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk1…...