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博客 

学习更新中。。。。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git提交操作(不包含初始化仓库)

1.进入到本地的git仓库 查看状态 git status 如果你之前有没有成功的提交,直接看第5步。 2.追踪文件 git add . 不要提交大于100M的文件,如果有,看第5步 3.提交评论 git commit -m "你想添加的评论" 4.push (push之前可以再…

基于ssm西安旅游管理系统论文

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对西安旅游信息管理的提升&#x…

卷积神经网络相关知识点

梯度下降算法 写的都很好,第一个看不懂可以接着看第二个,第二个里面有复现代码,第三篇是一篇综述,进阶阶段可以看。 详解梯度下降算法https://blog.csdn.net/JaysonWong/article/details/119818497线性回归模型——梯度下降算法…

认真学SQL——MySQL入门之环境准备

一.认识mysql数据库 1.1数据库概述 数据库概念: 存储数据的仓库,本质是一个文件系统 1.2数据库分类: 关系型数据库: 必须遵循SQL规范,强调以二维表格的形式存储数据 举例: MySQL ORACLE DB2 SqlServer SQLite 非关系型数据: NoSQL不仅仅是SQL,强调以key-value形…

【Proteus仿真】【STM32单片机】超声波测距系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用动态数码管、按键、HCSR04超声波、蜂鸣器模块等。 主要功能: 系统运行后,数码管显示超声波检测距离,当检测…

Canvas保姆级教程----深入解析HTML5 Canvas工作原理和常用方法

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

simulink代码生成(十)——eQEP模块

1 光电编码器的测速原理 光电编码器是一种通过光学或者光电子传感器来检测物体位置、速度或者运动方向的装置。它的测速原理基于光电效应和编码技术,通常包含一个光源、光电传感器和旋转或移动的编码盘。 光源: 光电编码器中通常包含一个光源&#xff0…

用户输入分数, 根据分数奖励不同的车( 利用多分支语句 )

90~100 分 奖励法拉利 80~90 分 奖励奥迪 60~80 分 奖励奥拓 60 分以下 打一顿 <script>const numprompt(请输入一个分数)if(num>90){alert(恭喜你喜提法拉利)}else if(num>80){alert(恭喜你喜提奥迪)}else if(num>60){alert(奖励奥拓)}else{alert(打一顿…

一步到位:掌握Python中Lambda表达式的5种实用技巧

一步到位&#xff1a;掌握Python中Lambda表达式的5种实用技巧 引言技巧一&#xff1a;单行函数定义技巧二&#xff1a;与内置函数结合技巧三&#xff1a;在数据结构排序中的应用技巧四&#xff1a;作为回调函数技巧五&#xff1a;与函数式编程结合结语 引言 在Python编程的宇宙…

QT上位机开发(简易图像处理软件)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 大家都知道图像处理非常地重要&#xff0c;因为它不仅仅是可以用于拍照美颜&#xff0c;而且在工业、医疗和军事等方面也发挥着巨大的作用。另外一…

文件摆渡系统如何实现网络隔离后的数据交换、业务流转?

近年来全球网络安全威胁态势的加速严峻&#xff0c;使得企业对于网络安全有了前所未有的关注高度。即便没有行业性的强制要求&#xff0c;但在严峻的安全态势之下&#xff0c;企业的网络安全体系建设正从“以合规为导向”转变到“以风险为导向”&#xff0c;从原来的“保护安全…

mybatis自动生成代码

以下为真实案例&#xff1a;mybatis自动生成代码 首选准备环境&#xff1a; 开发工具&#xff1a;idea(版本任意) 开发环境&#xff1a;jdk1.8、tomcat8.5、maven3.5 数据库&#xff1a;mysql5.7 数据库驱动&#xff1a;mysql-connector-5.1 方法一&#xff1a;idea搭建环…