VictoriaMetrics 中文教程(04)对接 Grafana 同时介绍 vmui

本文介绍如何在 Grafana 中以 Prometheus 数据源方式接入 VictoriaMetrics,并说明 vmui 的访问地址、Explore 查询、Metrics explorer、Cardinality explorer、Top Queries、Query analyzer、WITH expressions playground 和 step 参数。

作者 快猫运营团队

VictoriaMetrics

VictoriaMetrics 中文教程系列文章:

核心摘要

  • VictoriaMetrics 兼容 Prometheus 接口协议,因此在 Grafana 中可以按 Prometheus 数据源方式接入。
  • 单机版 VictoriaMetrics 的 Grafana 数据源地址通常是 http://<victoriametrics-addr>:8428
  • Grafana 数据源的 “Type and version” 建议选择 Prometheus,version 至少选择 2.24.x
  • 除 Grafana 外,VictoriaMetrics 自带轻量级 UI:vmui,可用于查询、图表展示、指标探索、基数分析和查询分析。
  • vmui 查询页面的 step 参数很关键,它决定范围查询按什么间隔返回数据点。

Grafana 简介

Grafana 是一款开源数据可视化和监控工具,支持 Prometheus、InfluxDB、Elasticsearch、MySQL 等多种数据源。Grafana 提供丰富的图表和仪表盘,适合实时监控和分析性能数据、日志信息。

Grafana 基本是运维数据可视化的标配工具。如果你使用 Prometheus,Grafana 通常是一个不错的选择。

在 Grafana 中对接 VictoriaMetrics

由于 VictoriaMetrics 完全兼容 Prometheus 接口协议,可以把 VictoriaMetrics 看作 Prometheus。因此,在 Grafana 中对接 VictoriaMetrics 和对接 Prometheus 是一样的。

在 Grafana 中创建数据源时,选择 Prometheus 类型,然后填写 VictoriaMetrics 地址即可。

对于单机版 VictoriaMetrics,数据源地址填写为:

http://<victoriametrics-addr>:8428

<victoriametrics-addr> 替换为自己的 VictoriaMetrics 地址即可。

需要注意,在 “Type and version” 部分,建议类型选择 Prometheus,version 至少选择 2.24.x

Grafana VictoriaMetrics version

这样配置会让 Grafana 使用性能更好的 API 获取标签值。

配置完数据源后,就可以使用 PromQL、MetricsQL 等语法配置仪表盘。MetricsQL 是 VictoriaMetrics 的查询语言,是 PromQL 的超集,支持更多函数和操作符。

另外,VictoriaMetrics 现在也提供 Grafana 插件,可以直接在 Grafana 中安装 VictoriaMetrics 插件,方便用户使用 VictoriaMetrics 查询语言。在 Grafana 中创建数据源需要特定权限,如果看不到创建数据源按钮,可以联系系统管理员处理。

vmui 是什么

除了使用 Grafana 展示 VictoriaMetrics 数据,VictoriaMetrics 也提供了自己的 UI 工具,叫 vmui。vmui 是一个轻量级监控查询工具,可以直接在浏览器中查看 VictoriaMetrics 数据,不需要安装 Grafana。

vmui 地址是:

  • 单机版:http://victoriametrics:8428/vmui
  • 集群版:http://<vmselect>:8481/select/<accountID>/vmui/

UI 中可以通过 table 和 graph 两种方式展示数据,也可以通过 MetricsQL 查询数据。

vmui

vmui 提供哪些能力

vmui 的能力可以分为 Explore 和 Tools 两类。

Explore 查询探索

  • Metrics explorer:指标探索,用于对选择的指标构建图表。
  • Cardinality explorer:基数探索,用于查看指标基数。
  • Top Queries:查看查询 Top N,例如最频繁查询、最重查询等。
  • Active queries:查看当前活跃查询。

Tools 工具

  • Trace analyzer:query-tracing 工具。一般在指标查询时直接打开 trace 即可,不知道为什么要单独提供一个页面。
  • Query analyzer:查询分析。可以在查询页面导出结果,然后在这个页面上传分析。
  • WITH expressions playground:WITH 表达式 playground。WITH 表达式是 MetricsQL 的一个特性,可以在查询中定义变量并复用。
  • Metric relabel debugger:指标重命名调试器,可以在这里调试指标重命名规则。

如何理解 step 参数

查询页面比较常用的功能是 step 设置。如果不设置,VictoriaMetrics 会根据分辨率和时间范围自动计算一个值。你也可以手工设置。

step 在 Prometheus 生态里非常关键,表示希望 TSDB 按什么间隔返回数据。很多初学者会困惑:原始数据是什么样就直接返回不就行了,为什么还要加 step 参数指定数据返回间隔?这样数据岂不是会失真?

笔者猜测,可能有两个原因:

  • 如果查询时间范围太大,返回数据量太大,可能导致浏览器崩溃,所以可以通过 step 控制返回数据量。
  • 查询多个 series 时,不同 series 的采集时间戳未必对齐,无法直接做聚合计算,所以可以通过 step 对齐数据。

FAQ

Grafana 接入 VictoriaMetrics 时应该选什么数据源类型?

选择 Prometheus 类型即可。VictoriaMetrics 完全兼容 Prometheus 接口协议,单机版地址通常是 http://<victoriametrics-addr>:8428

vmui 能替代 Grafana 吗?

vmui 适合轻量查询、排障、指标探索和基数分析。Grafana 更适合长期仪表盘、权限管理和团队协作。两者不是完全替代关系。

step 参数为什么重要?

step 决定范围查询返回数据点的间隔。它既影响返回数据量,也影响多条时间序列在聚合计算时的时间点对齐。

总结

本文介绍了如何在 Grafana 中对接 VictoriaMetrics,实现数据可视化展示;也介绍了 VictoriaMetrics 自带的 vmui。实践中,Grafana 更适合做固定仪表盘,vmui 更适合临时查询、探索和排障。理解 step 参数,是使用 Prometheus/VictoriaMetrics 查询体系时绕不开的一步。

联系我们交流

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云