【监控】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博客

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

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

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

相关文章

YApi-pro docker安装在centos7上

之前安装失败了,只好在docker中装了。 准备环境 1.docker安装 centos7 docker 安装-CSDN博客 2.mongodb数据库docker安装 创建mongo容器目录 mkdir /data/mongo -p docker pull mongo:4.2.21 创建一个yapi网络插件 docker network create yapi …

音频声波的主观感受

一、响度 声压是“客观”的,响度是“主观”的。 响度又称音量。人耳感受到的声音强弱,它是人对声音大小的一个主观感觉量。响度的大小决定于声音接收处的波幅,就同一声源来说,波幅传播的愈远,响度愈小…

python jupyter notebook打开页面方便使用

如果没安装jupyter, 请安装: pip install jupyter notebook 运行jupyter notebook jupyter-notebook

【Redis】搞懂过期删除策略和内存淘汰策略

1、过期删除策略 1.1、介绍 Redis 是可以对 key 设置过期时间的,因此需要有相应的机制将已过期的键值对删除,而做这个工作的就是过期键值删除策略。 每当我们对一个 key 设置了过期时间时,Redis 会把该 key 带上过期时间存储到一个过期字典…

如何做到三天内完成智能直流伺服电机系统开发?

适应EtherCAT/CANopen协议三相伺服电机直流伺服电机直线伺服音圈电机 如何开发高性能直流伺服电机驱动控制器? 需要熟悉高性能单片机(至少是ARM或DSP水平的),需要掌握空间磁场矢量控制FOC,需要掌握运动轨迹算法……此…

Vue监听器(上)之组合式watch

1. 定义监听器 //要监视的属性被改变时触发 watch(要监视的属性, (更改后的心值, 更改前的旧值) > {具体操作}, );//监视对象为getter的时候 //表达式内任意响应式属性被改变时触发 watch(() > return表达式, (表达式的新值, 表达式的旧值) > {具体操作} );//数组中任…

四六级成绩爬取代码原创

在六级成绩刚发布时,只需要通过学生姓名和身份证号便可以查询到成绩 据此,我们可以利用selenium框架对学生的成绩进行爬取 首先我们要建立一个excel表格,里面放三列(多几列也无所谓),第一列列名取为学生姓…

在openEuler中通过KVM可视化安装华为FusionCompute的VRM节点

一、说明 本文是华为FusionCompute云平台配置的延续,是在CNA(ComputingNode Agent,计算节点代理)主机安装配置完成后,详细安装VRM(Virtual Resource Manager,虚拟资源管理器)节点的…

基于Clion+stm32cubemx+rt-thread os进行环境搭建

前言 RT-Thread文档中心Clion开发STM32的环境搭建,请参考之前的文章本次使用的芯片为STM32F407VET6,其他芯片相似.项目创建 使用STM32CubeMx快速生成项目工程,此步骤的话可以参考官方文档 基础配置如下

AtCoder ABC341 A-D题解

比赛链接:ABC341 Problem A: 先签个到。 #include <bits/stdc.h> using namespace std; int main() {int n;cin>>n;for(int i0;i<n;i)cout<<"10"<<endl;cout<<"1"<<endl;return 0; } Problem B: 继续签。 #i…

在 where子句中使用子查询(二)

目录 ANY ANY &#xff1a;功能上与 IN 是没有任何区别的 >ANY &#xff1a;比子查询返回的最小值要大 ALL >AL &#xff1a;比子查询返回的最大值要大 EXISTS() 判断 NOT EXISTS Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209…

【Go的函数】

函数 函数的引入函数细节祥讲包的引入包的细节详讲init函数匿名函数闭包defer关键字系统函数字符串相关函数日期和时间相关函数内置函数 函数的引入 【1】为什么要使用函数&#xff1a; 提高代码的复用&#xff0c;减少代码的冗余&#xff0c;代码的维护性也提高了 【2】函数…

论文解析——Review of chiplet-based design: system architecture and interconnection

作者 Liu Yafei1, Li Xiangyu2, YIN ShouYi1, Review of chiplet-based design: system architecture and interconnection, SCIENCE CHINA Information Sciences, 2024, ISSN 1674-733X, https://doi.org/10.1007/s11432-023-3926-8. 1School of Integrated Circuit, Tsingh…

来看大厂如何设计运营后台系统的?

0 背景 重运营的应用。对于App里的顶导航、我的页面、弹窗等&#xff0c;需要根据模式、版本、平台、语言、渠道等不同的维度进行运营管理。随着业务快速发展&#xff0c;版本快速迭代&#xff0c;如何&#xff1a; 保持运营资源能够被高效、稳定和灵活地配置高效稳定的为新的…

软件游戏显示d3dx9_42.dll丢失的5种解决方法,快速解决dll问题

当计算机系统中d3dx9_42.dll文件丢失时&#xff0c;可能会引发一系列运行问题和功能异常&#xff0c;具体表现形式多样且影响范围较广。首先&#xff0c;对于依赖于DirectX 9.0c版本的各类应用程序&#xff0c;尤其是部分经典的老款游戏&#xff0c;由于d3dx9_42.dll是其中不可…

深度解析:Integer.parseInt() 源码解读

深度解析&#xff1a;Integer.parseInt() 源码解读 关键要点 解析字符&#xff1a;用于将字符转换为对应的数字值 Character.digit(s.charAt(i),radix) 确定limit&#xff1a;根据正负号分别设定 int limit -Integer.MAX_VALUE;【正】 limit Integer.MIN_VALUE;【负】 负数…

【卷积神经网络中用1*1 卷积有什么作用或者好处呢?】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;深度学习 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 1*1 卷积有什么作用或者好处呢 作用降维和增加非线性特征组合和交互网络的宽度和深度调整全连接替代增强…

matlab滤波器设计

1、内容简介 略 51-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab滤波器设计-butter、ellip、cheby1、cheby2_哔哩哔哩_bilibili 4、参考论文 略

C语言中的宏定义与内联函数的使用

大家好&#xff0c;今天给大家介绍C语言中的宏定义与内联函数的使用&#xff0c;文章末尾附有分享大家一个资料包&#xff0c;差不多150多G。里面学习内容、面经、项目都比较新也比较全&#xff01;可进群免费领取。 一、宏定义&#xff08;Macro Definition&#xff09; 宏定…

英伟达狂飙,上演大象坐火箭

英伟达市值破 2W 亿 这两天全球资本市场最大的事情就是英伟达&#xff08;NVDA&#xff09;公布了财报。 本来市场&#xff08;分析师&#xff09;的预期就高&#xff0c;结果财报公布比预期还要高出不少。 NVDA 直接上演「大象坐火箭」&#xff0c;在财报公布后的第一个交易日…