Grafana UI 入门使用

最近项目上需要使用Grafana来做chart,因为server不是我在搭建,所以就不介绍怎么搭建grafana server,而是谈下怎么在UI上具体操作使用了。

DOCs

首先呢,贴一下官网doc的连接,方便查询 

Grafana open source documentation | Grafana documentation

初步使用

搭建好server之后,浏览器输入部署的ip和port然后登录之后就可以进入UI。

因为也才接触grafana不久,只能share一下初步使用的浅见。

配置datasource

它datasource定义就是相当于一个chart的数据来源,也可以多个datasource给一个chart提供数据,也可以作为dropdown list的数据来源,dropdown list可以在dashboard里面作为选择给chart传入参数的选择使用。

首先需要创建一个datasource

它这边支持很多datasource,db,elasticsearch,etc...都是支持的
 因为我这边是call我们自己的Back-End的api,所以选择的就是json api

进入之后需要填写你call api的具体url,我这边只用了这三个。

1.api的url

2.需要打开,因为我们是https的,需要跳过认证

3.把jwt添加进headers里面,来保证请求不被我们自己的BE拦截。

最后一个是默认的请求条件,这个可以也可以不配,看你引用这个datasource的时候需不需要这个默认请求条件了。

都配置完了之后点击 save&test 然后看是不是call的通

Dashboard

这里面你可以创建自己的panel然后进行布局,里面可以有很多chart按照你配置进行布局,页面上可以添加value input 来给你的chart传入参数,它还自带的date range来进行时间区域选择。(当然些时间和我这个dropdown list传入的值是我的BE的api写好可以接收的)

第一次进入dashboard的话需要新建一个dashboard
 进入之后需要选择一个datasource,就是一开始创建的datasource,来为你的chart提供数据。

选择好datasource之后就可以进入编辑panel,首先可以看到红圈这里,默认会给你创建一个datasrouce,可以理解成一开始创建的datasource,现在是给你实现了一个datasource的实例,这个实例可以有单独不同的数据解析,参数,hearder,body,etc....,所以没有什么特殊配置的前提下,首先需要做的就是配置parm

 我的BEapi需要3个传入参数,所以这边就需要配置3个,当然因为我是通过RequestParm取得的参数所以在parm tab进行配置的,如果你是post并且是通过body传递参数的,就需要在body tab进行配置了。

 红圈左边的是参数名字,需要和api接收的名字相同,右边是数据来源,你可以直接hardcode你需要的值,方便测试,我这里写的是变量(${}这个框起来就表明是变量),他们三个会从dashbaord的dropdown list,time range里面进行取值,date我还做了日期格式化,因为我后端是string接收的。

第一个变量${Application}是我自己定义的,这个名称是自己取的,之后会讲到怎么去创建。

${__form},${__to}这个是固定写法,表示从UI中提供的time range里面取值。

如果想除了这些还有其他什么写法的,具体的可以参考官方文档:Add and manage variables | Grafana documentation 

然后是数据提取

一开始会默认给你一个datasource,截图里面我已经创建了4个了,最后一个test可以模拟最开始默认的datasource,应该什么都没有的,你可以先写一个$,然后打开右上角的table view,就可以看到这次query的data返回

 如果有多个datasource可以点击这里切换查看不同的返回值

然后可以按照jsonpath/jsonnata的方式进行获取数据,这里[*]表示X Array中任意一个数据,这个是很必要的

 如果不加,可以看到,提取出来的一个array,我一开始卡了很久就是这里,我想已经提取成array了,为什么放不进chart里面,后面才发现,他这里相当于指定的是一行的数据,所以某一行的数据不可能是array的,所以必须要加x.[*]来指定这一行的值是x这个array里面的某一行

如果你的数据还需要精细处理,就可以点击 1 里面的trasform data,进行更加具体的数据转换。

然后2可以看到是另一个datasource,其实和第一个datasource instance配置一模一样,只是数据提取的时候提取的是major的数据,这时候就可以直接点击4 这里就可以复制出一个一模一样的datasrouce instance,这时候就不用再去配置一次parm,只用修改filed提取json就可以了。
配置完你所有需要的datasource instance之后就可以点击3,选择你需要的chart类型(我选择的是bar chart),如果你清除你的数据适合那种chart,可以点5这里,就可以看到它根据你数据类型推荐的chart type。

选择完成之后就可以看到你的图出现了,我是每一个Legend一个datasource instance,

 

单击Legend 之后可以修改每一个legend在chart里面显示的颜色,但是当你第一选择之后会发现它并不生效,搞得我一开始都以为是bug了

后面才发现,右边侧边栏滚动到最下面,你点击过的legend都会成一个overried(一个legend只会生成一次,没点过不会生成)

然后在这个overried里面修改你需要绑定的的legend的name,然后再指定他的颜色就可以了

 

然后所有做完之后记得点击save
 

Variables

然后来创建variables(就是我图中的application的dropdown list),为你的chart创建可以供用户选择的传入参数。

 

依次点击之后进入创建的UI,这里选择你的variables数据来源是什么,是需要去query某个api的还是你定义好的几个值还是让用户输入的text,你自己选择了。我的demo是call后端的api

 1这里就是你去明明你的变量名称,就是之后我在parm里面配置的${Application},你取什么那里配置就写什么名字,保持一直。

2是我这个variables的datasource,如果你还没创建关于他的datasource,就去创建一个再来继续创建variables,然后3就是怎么提取你需要的值从response里面。

还可以设置一些类似于排序,是否支持多选,全选之内的配置,最后再preview of values下面可以看到他有具体哪些值会显示,我这里就不展示了。然后就可以保存了。

回到dashboard之后,配置完parm,你就可以选择不同的参数传入你的chart了,如果你想默认使用什么参数当你进入dashboard的时候,可以选择完所有参数之后,点击保存

然后勾选保存time range和variable 填写完change log就可以save了,下次进入就会默认使用这次保存的 time range和variable

 

Share

panel 的右上角三个点,然后点击share 

 

 这里面不同的tab可以选择不同的share方式,如果想用iframe方式引用的话,就需要选择第三个Embed

 然后复制下面的代码,直接贴在html中就可以了。

但是iframe share有一个前提,可以看我另外一篇blog:

Grafana Refused to display ‘http://{ip:port}/‘ in a frame because it set ‘X-Frame-Options‘ to ‘deny‘-CSDN博客 

学习更新中。。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/287962.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据库原理】(6)关系数据库的关系操作集合

基本关系操作 关系数据操作的对象都是关系,其操作结果仍为关系,即集合式操作。关系数据库的操作可以分为两大类:数据查询和数据更新。这些操作都是基于数学理论,特别是集合理论。下面是对这些基本操作的解释和如何用不同的关系数据语言来表达这些操作的…

Objects are not valid as a React child (found: object with keys {name}).

在jsx中可以嵌套表达式,将表达式作为内容的一部分,但是要注意,普通对象不能作为子元素;但是数组,react元素对象是可以的 如下:不能将stu这个对象作为子元素放 function App() {const myCal imgStyleconst…

OSG-纹理映射(二)

2.6 Mipmap纹理映射 在一个动态的场景中,当一个纹理对象迅速远离视点时,纹理图像必须随着被投影的图像一起缩小。为了实现这种效果,可以通过对纹理图像进行过滤,适当对它进行缩小,以使它映射到物体的表面时不会产生抖动…

Android 串口协议

前言 本协议是 Android 应用端与主控板之间的通信协议,是串行通信协议。 协议要求同一时间只能有两个通讯端点在相互通讯,采用小端传输数据。 硬件层基于RS485协议,采取半双工,一主多从的通讯模式。Android定义为主机&#xff0c…

DataGear 4.7.0 发布,数据可视化分析平台

DataGear 4.7.0 发布,严重漏洞和BUG修复,具体更新内容如下: 新增:HTTP数据集新增【编码请求地址】支持,可用于解决请求地址中文乱码问题;新增:新增数据源密码加密存储支持(开启需设…

怎么有效利用HTTPS协议

HTTPS的发展史可以追溯到早期的互联网时代,当时HTTP协议被广泛使用,但由于通信过程是明文的,导致用户的敏感信息容易被截取和窃取。为了解决这个问题,HTTPS协议应运而生。 HTTPS是在HTTP协议的基础上加入了传输层安全协议&#x…

深挖小白必会指针笔试题<一>

目录 引言 关键解决办法: 学会画图确定指向关系 例题一: 画图分析: 例题二: 画图分析: 例题三: 注:%x是按十六进制打印 画图分析: 例题四: 画图分析&…

基于Java+SpringMvc+Vue求职招聘系统详细设计实现

基于JavaSpringMvcVue求职招聘系统详细设计实现 🍅 作者主页 专业程序开发 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 文章目录 基于JavaSpringMvcVue求职招聘系统详细设计实现一、前言介…

众和策略:今日,有“天地板”,也有“地天板”

今日早盘,A股持续坚持弱势震动,两市成交有进一步萎缩的趋势。 盘面上,煤炭、传媒娱乐、旅行、房地产等板块相对活泼,混合实际、PEEK材料、苹果概念、华为汽车等板块跌幅居前。 个股方面,神马电力连续5日涨停&#xf…

react useEffect 内存泄漏

componentWillUnmount() {this.setState (state, callback) > {return;};// 清除reactionthis.reaction();}useEffect 使用AbortController useEffect(() > { let abortController new AbortController(); // your async action is here return () > { abortCo…

TCP/IP的网络层(即IP层)之IP地址和网络掩码,在视频监控系统中的配置和应用

在给客户讲解我们的AS-V1000视频监控平台的时候,有的客户经常会配置错误IP地址的掩码和网关,导致出现一些网路问题。而在视频监控系统中,IP地址和子网掩码是用于标识网络中设备的重要标识符。IP地址被用来唯一地标识一个网络设备,…

express+mongoDB开发入门教程之mongoDB安装

系列文章 node.js express框架开发入门教程 expressmongoDB开发入门教程之mongoDB安装expressmongoDB开发入门教程之mongoose使用讲解 文章目录 系列文章前言一、mongoDB安装1.下载2.安装3. 设置全局环境变量4.启动mongoDB服务 二、可视化管理工具 前言 MongoDB是一个基于分布…

【盛况回顾】聚焦流程创新,共话科技共赢:企业“流程三驾马车”闭环主题沙龙圆满落幕

12月7日,由上海斯歌主办,博阳精讯、凡得科技协办的“流程创新科技共赢——企业流程三驾马车闭环主题沙龙”在上海召开并圆满落幕。本次沙龙,上海斯歌携手来自不同行业的客户与伙伴的资深业务、解决方案专家,围绕流程体系化建模、流…

uniCloud 云数据库(新建表、增、删、改、查)

新建表结构描述文件 todo 为自定义的表名 表结构描述文件的默认后缀为 .schema.json 设置表的操作权限 uniCloud-aliyun/database/todo.schema.json 默认的操作权限都是 false "permission": {"read": false,"create": false,"update&quo…

Spring上下文之support模块DefaultLifecycleProcessor

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

Numpy基础

目录: 一、简介:二、array数组ndarray:1.array( )创建数组:2.数组赋值和引用的区别:3.arange( )创建区间数组:4.linspace( )创建等差数列:5.logspace( )创建等比数列:6.zeros( )创建全0数组&…

Spring源码之依赖注入(二)

书接上文 文章目录 一. Autowire底层注入逻辑1. 属性注入逻辑 一. Autowire底层注入逻辑 前面我们分析了Spring时如何找到某个目标类的所有注入点这一个核心逻辑,但还没又对核心注入方法inject进行详细分析,下面我们就来详细分析Spring拿到所有的注入点…

每日一题——LeetCode1005.K次取反后最大化的数组和

方法一 个人方法&#xff1a; 将数组从小到大排序后&#xff0c;假设数组共有n个负数&#xff0c;要使数组的和尽可能大就要尽可能将较大的负数变为正数&#xff0c;有以下几种情况&#xff1a; 1、k<n&#xff0c;那就把数组前k个负数都转为正数即可。 2、k>n&#xf…

立体匹配算法(Stereo correspondence)

SGM(Semi-Global Matching)原理&#xff1a; SGM的原理在wiki百科和matlab官网上有比较详细的解释&#xff1a; wiki matlab 如果想完全了解原理还是建议看原论文 paper&#xff08;我就不看了&#xff0c;懒癌犯了。&#xff09; 优质论文解读和代码实现 一位大神自己用c实现…

15、Kubernetes核心技术 - 探针

目录 一、概述 二、探针类型 2.1、就绪探针&#xff08;Readiness Probe&#xff09; 2.2、存活探针&#xff08;Liveness Probe&#xff09; 三、探针探测方法 3.1、exec 3.2、httpGet 3.3、tcpSocket 四、探针配置项 五、探针使用 5.1、就绪探针&#xff08;Readin…