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

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

相关推荐
程序猿阿伟1 天前
《数据可视化新高度:Graphy的AI协作变革》
人工智能·信息可视化·数据分析
捕鲸叉1 天前
第05章 17 Contour 过滤器介绍与例子
信息可视化·vtk
Jam-Young2 天前
使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测。
python·信息可视化·scikit-learn
Zda天天爱打卡3 天前
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.25 视觉风暴:NumPy驱动数据可视化
python·信息可视化·numpy
开着拖拉机回家4 天前
【Prometheus】jmx_prometheus_javaagent监控java应用
prometheus·javaagent·进程监控·jmx·historyserver
捕鲸叉5 天前
第05章 08 绘制脑部体绘制图的阈值等值面
算法·信息可视化·vtk
捕鲸叉5 天前
第05章 11 动量剖面可视化代码一则
开发语言·c++·算法·信息可视化·vtk
乐维_lwops6 天前
Prometheus+grafana实践:Doris数据库的监控
数据库·grafana·prometheus
小熊科研路(同名GZH)6 天前
【Matlab高端绘图SCI绘图模板】第006期 对比绘柱状图 (只需替换数据)
开发语言·matlab·信息可视化
大新新大浩浩6 天前
centos操作系统上以service形式运行blackbox_exporter监控网页端口
centos·prometheus