Prometheus UI 提供了快速验证 PromQL 以及临时可视化支持的能力,但其可视化能力却比较弱。一般情况下,我们都用 Grafana 来实现对 Prometheus 的可视化实现。

什么是Grafana

Grafana 是一个开源的可视化平台,并且提供了对 Prometheus 的完整支持。

Grafana has become the world’s most popular technology used to compose observability dashboards with everything from Prometheus & Graphite metrics, to logs and application data to power plants and beehives.

快速入门

运行服务

参考官方文档进行下载安装运行,这里我们使用 docker 方式进行安装运行:

1
docker run -d -p 3000:3000 grafana/grafana

登录

Grafana 默认使用 3000 端口启动,我们访问:http://localhost:3000 即可。 默认账号密码为 admin/admin,自己也可以修改密码。

配置数据源

打开后如下图: Grafana 支持添加多种数据源,这里我们使用 Prometheus 即可。

输入对应的名字和 URL 即可:

这样就配置好数据源了。

配置面板

在 Grafana 中有「Dashboard」和「Panel」的概念,Dashboard 可以理解成「看板」,而 Panel 可以理解成「图表,一个看看板中包含了无数个图表。例如下图就是一个看板(Dashboard): 里面一个个小的图表,就是一个个小的图表(Panel)。

点击创建图表会进入如下界面: 我们设置好数据源、PromeQL 语句、图表名称,之后点击右上角的 Apply 按钮,就创建了我们的第一个可视化Dashboard了。

模板中心

当然作为开源软件,Grafana 社区鼓励用户分享 Dashboard 通过 https://grafana.com/dashboards 网站,可以找到大量可直接使用的 Dashboard:

Dashboards 里有许多各种类型的 Dashboard 面板,例如 JVM 监控、MySQL 数据库监控等。你只需找到合适自己的监控面板,然后通过以下两种方式直接使用即可:

  • 通过 ID 进行导入添加
  • 通过 JSON 进行下载导入添加

例如我找到的这个这个面板包含了各种常见的资源监控,例如:CPU、内存等。

你只需要复制它的 ID 并使用 Grafana 的 import 功能导入即可,如下图所示:

导入成功后效果如下图所示:

所以,以后当我们需要配置监控面板时,可以先去https://grafana.com/dashboards看下有没有适合我们的面板,有的话可以直接使用,而且指标信息更全面。如果没有适合的面板,或者需要定制一些面板的话,也可以自己来定义。

想要深入学习 Grafana 的可以去看下官方文档

参考

https://yunlzheng.gitbook.io/prometheus-book

https://www.cnblogs.com/chanshuyi/p/02_grafana_quick_start.html

https://grafana.com/grafana/dashboards

https://grafana.com/docs/grafana/latest/installation/?pg=docs