【监控】grafana图表使用快速上手

目录

1.前言

2.连接

3.图表

4.job和path

5.总结


1.前言

上一篇文章中,我们使用spring actuator+Prometheus+grafana实现了对一个spring boot应用的可视化监控。

【监控】Spring Boot+Prometheus+Grafana实现可视化监控-CSDN博客

其中对grafana只是打开了一下,都没做什么操作。本文我们来聊一下grafana。

Grafana 是一个开源的数据可视化和监控平台,它提供了丰富的图表、面板和仪表板功能,用于帮助用户轻松地理解、分析和监控其系统的各种指标和数据。聊grafana无非就是两个方面:

  • 连接

  • 图表

2.连接

先说连接,打开我们之前搭建好的grafana,点进新建连接的界面:

可以发现grafana的connection类型几乎涵盖了市面上所有的存储介质。也就是说grafana可以拿到几乎市面上所有存储介质中的数据。怎么做到的喃?来我们回忆一下上一篇文章中Prometheus的架构,注意右下角博主框红的一块儿:

图上已经写了grafana通过PromQL来访问Prometheus的,从而得到其中的数据。那其它数据库喃?那当然也是通过他们各自的SQL或者类SQL之类的指令去与他们进行交互的撒。所以首先grafan第一个厉害的点就在于一个“全”字,有几乎市面上所有数据存储介质(数据库)的driver,可以去操作几乎一切数据存储介质。

3.图表

grafana作为一个可视化工具,用它当然就是冲着它的图表来的。grafana的图表在一张张的面板里面,就像一幅幅画在画布上面。整个dashboard的管理界面很简介,也就是新建按钮、搜索框、dashboard列表组成:

新建的时候给了我们两种选项,要么新建一个,要么导一个模板进来:

add visualization,添加可视化组件:

添加组件之前首先需要确定数据源是什么,这里我们当然选择我们之前添加的Prometheus:

接下来就是在面板上画图了,既然要画图,进面板之后肯定是先选择要哪种图形组件,不同版本选择图形组建的地方不一样,博主当前用的版本是在右上角这个位置。这里我们先选择一个时间序列组件来用用:

选了组件就要配置好组件要怎么去显示数据了,也就是配置一个个的query,query的配置界面还是很简洁易懂的,下面我们配置了一个监控磁盘空间的query:

这里我们先选instance或者application来用,至于job和path,下一个章节我们会讲。

配置好以后,run queries,图表就会显示出来。

当然我们也可以配置一下刷新的时间间隔之类的:

然后就是保存,保存完了之后可以继续在面板上作画,添加其它组件,除了组件还可以添加标题之类的,根据自身需求来慢慢调整就是:

最后就是如何将grafana的dashboard导出来,我们做项目不可能监控界面还要登录进grafan里面来看对吧,还是希望是独立的数据大屏页面,这个时候直接导出dashboard即可,然后将链接复制出来插入你自己的项目中即可:

4.job和path

上面我们还留着一个尾巴没有聊,就是关于job和path。

job

在 Prometheus 中,"job" 是一个用于组织和标识一组相关的监控目标的概念。一个 job 可以包含多个监控目标,这些目标通常具有相似的功能或用途。

例如,对于一个微服务应用程序,你可能会为每个微服务定义一个独立的 job,以便将该微服务的所有实例的指标数据都组织在一起。这样做有助于对整个微服务架构进行统一的监控和分析。

在 Prometheus 的配置文件中,你可以为每个 job 指定一组监控目标(即 targets),这些目标可以是 HTTP 端点、服务发现或其他类型的监控目标。例如:

- job_name: 'my_service'static_configs:- targets: ['localhost:8080', 'localhost:8081']

Path

在 Prometheus 的配置中,"path" 通常用于指定监控目标的路径或端点,以便 Prometheus 可以从这些目标中获取指标数据。

例如,如果你的应用程序暴露了一个 /metrics 端点来提供指标数据,你可以在 Prometheus 的配置中指定该路径作为监控目标的路径。这样 Prometheus 就知道从哪里获取指标数据了。

在配置文件中,路径通常与监控目标的地址一起指定,并用于构造完整的 URL。例如:

- job_name: 'my_service'
  static_configs:
    - targets: ['localhost:8080/metrics', 'localhost:8081/metrics']

5.总结

其实到这里有没有发现,grafana和es的kibana在使用上是很像的:

【ES数据可视化】kibana实现数据大屏_怎么把kibana中的图标集成到自己的项目中-CSDN博客

所以说在面对同一个业务场景的时候,开源技术再多,其底层的实现和逻辑都会是相似的,因为打法都是一个路数,掌握这种打法路数,基本上就掌握了监控和可视化相关的所有组件,一通百通。

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

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

相关文章

【Azure 架构师学习笔记】- Azure Databricks (10) -- UC 使用

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (9) – UC权限 在前面的文章:【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog中演示了如何配置一个UC。 本文…

SpringBoot 学习笔记

文章目录 一、IoC二、AOP三、bean3.1 bean 生命周期3.2 三种依赖注入方式3.3 bean 线程安全 四、SpringMVC五、常用注解5.1 Scope5.2 PostConstruct 和 PreDestroy5.3 Component 和 Bean5.4 Autowired 和 Resource 六、基于 ApplicationContextAware 实现工厂模式七、事务失效八…

【了解机器学习的定义与发展历程】

曾梦想执剑走天涯,我是程序猿【AK】 目录 简述概要知识图谱 简述概要 了解机器学习的定义与发展历程 知识图谱 机器学习(Machine Learning,ML)是一门跨学科的学科,它使用计算机模拟或实现人类学习行为,通…

设计模式: 策略模式

文章目录 一、什么是策略模式二、策略模式结构三、使用场景案例分析1、使用场景2、案例分析(1)消除条件分支 一、什么是策略模式 策略模式是一种行为型设计模式,它允许定义一组算法,并将每个算法封装在独立的类中,使它…

解决内嵌帆软报表出现重定向问题

最近收到反馈,某些程序的前端通过iframe标签内嵌finebi帆软报表时,出现一系列问题。 问题1: 如下图所示,单点登录(单点登录地址schema是https)后service地址的schema协议是http, 浏览器内核的安全测试不允许http访问https。 解决方案&#xf…

【C进阶】顺序表详解

文章目录 📝线性表的概念🌠 顺序表🌉顺序表的概念 🌠声明--接口🌉启动🌠初始化🌉扩容🌠尾插🌉 打印🌠销毁🌉 尾删🌠头插🌉…

matlab 线性四分之一车体模型

1、内容简介 略 57-可以交流、咨询、答疑 路面采用公式积分来获得,计算了车体位移、非悬架位移、动载荷等参数 2、内容说明 略 3、仿真分析 略 线性四分之一车体模型_哔哩哔哩_bilibili 4、参考论文 略

Redis高并发分布锁实战

Redis高并发分布锁实战 问题场景 场景一: 没有捕获异常 // 仅仅加锁 // 读取 stock15 Boolean ret stringRedisTemplate.opsForValue().setIfAbsent("lock_key", "1"); // jedis.setnx(k,v) // TODO 业务代码 stock-- stringRedisTemplate.delete(&quo…

php脚本输出中文在浏览器中显示乱码

问题说明 这个问题一般出现在较低版本的php中,原因是php和浏览器的字符解析方式不对应 ,导致中文字符被错误解析成乱码 (注,此处的php版本任意切换是依赖于小皮面板(phpstudy)实现的,感兴趣可以…

Docker容器故障排查与解决方案

Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息: 1、通过docker run执行命令,或许返回信息 2、通过docker logs 去获取日志,做有针对性的筛选 3、通过systemctl status docker查看docker服务状态 4、通过…

【牛牛送书 | 第四期】《高效使用Redis:一书学透数据存储与高可用集群》带你快速学习使用Redis

前言: 当今互联网技术日新月异,随着数据量的爆炸式增长,如何高效地存储和管理数据成为了每个公司都必须面对的挑战。与此同时,用户对于应用程序的响应速度和稳定性要求也越来越高。在这个背景下,Redis 作为一个…

【lv14 day10内核模块参数传递和依赖】

一、模块传参 module_param(name,type,perm);//将指定的全局变量设置成模块参数 /* name:全局变量名 type: 使用符号 实际类型 传参方式 bool bool insmod xxx.ko 变量名0 或 1 invbool bool insmod xxx.ko 变量名0 或 1 charp char * insmod xxx.ko 变量名“字符串…

解析Hadoop三大核心组件:HDFS、MapReduce和YARN

目录 HadoopHadoop的优势 Hadoop的组成HDFS架构设计Yarn架构设计MapReduce架构设计 总结 在大数据时代,Hadoop作为一种开源的分布式计算框架,已经成为处理大规模数据的首选工具。它采用了分布式存储和计算的方式,能够高效地处理海量数据。Had…

基于51单片机的智能监护与健康检测[proteus仿真]

基于51单片机的自行车测速系统设计[proteus仿真] 个人健康检测系统这个题目算是课程设计和毕业设计中常见的题目了,本期是一个基于51单片机的智能监护与健康检测 需要的源文件和程序的小伙伴可以关注公众号【阿目分享嵌入式】,赞赏任意文章 2&#xff…

Liunx--nginx负载均衡--前后端分离项目部署

一.nginx简介 Nginx是一个高性能的HTTP和反向代理服务器,它以其轻量级、占用资源少、并发能力强而广受欢迎。 详细介绍 开发背景与特点:Nginx由俄罗斯人Igor Sysoev开发,它是一个自由的、开源的软件。Nginx设计上注重性能和效率,能…

图像读取裁剪与人脸识别

图像读取 Image read ⇒ \Rightarrow ⇒ torchvision.datasets from torchvision import datasets dataset datasets.ImageFolder(data_dir, transformtransforms.Resize((512, 512)))Return value illustration dataset[0][0]是PIL.Image objects,这利用IPyth…

音视频技术-电脑连接调音台时交流声的产生与消除

当电脑(笔记本/台式机)声卡通过音频线与调音台(或扩音机)连接时,能听到“交流声”。有时很轻微,有时很明显,甚至干扰正常的演讲或发言。 很多时候,我们在台上演讲时,都会…

Easy-Jmeter: 性能测试平台

目录 写在开始1 系统架构2 表结构设计3 测试平台生命周期4 分布式压测5 压力机管理6 用例管理6.1 新增、编辑用例6.2 调试用例6.3 启动测试6.4 动态控量6.5 测试详情6.6 环节日志6.7 实时数据6.8 测试结果 7 测试记录7 用例分析8 系统部署8.1普通部署8.2容器化部署 写在最后 写…

嵌入式C语言(三)

typeof() 使用typeof可以获取一个变量或表达式的类型。 typeof的参数有两种形式:表达式或类型。 int i;typeof(i) j 20; --> int j 20;typeof(int *) a; -->int *a; int f(); -->typeof(f()) k;--? int k我们可以看出通过typeof获取一个变量的…

前后端分离Vue+node.js在线学习考试系统gqw7o

与其它应用程序相比,在线学习平台的设计主要面向于学校,旨在为管理员和学生、教师、院系提供一个在线学习平台。学生、教师、院系可以通过系统及时查看公告信息等。 在线学习平台是在Windows操作系统下的应用平台。为防止出现兼容性及稳定性问题&#xf…