vmui

VictoriaMetrics 提供了一个 UI 界面用于问题定位和查数据。该 UI 地址在http://victoriametrics:8428/vmui(集群版在http://<vmselect>:8481/select/<accountID>/vmui/)。 该 UI 界面可以通过图表或表格的方式查看指标数据,支持以下功能:

Top Queries

Top Queries 主要用来帮助定位一下问题:

  • 执行频率最高的查询。
  • 平均执行时间最长的查询。
  • 总执行消耗时间最长的查询。

这些信息是从 HTTP 接口/api/v1/status/top_queries上获取的。

Active Queries

展示当前正在运行中的查询。它每个查询提供了以下信息:

  • 查询语句本身,/api/v1/query_range 的请求参数,包括时间范围,以及step参数等。
  • 查询的执行耗时。
  • 发送请求的客户端地址

这些信息是从 HTTP 接口/api/v1/status/active_queries上获取的。

Metrics Explorer

用于查询特定job/instance暴露的指标内容。

  1. 打开地址http://victoriametrics:8428/vmui/.
  2. 点击 Explore Prometheus metrics 菜单.
  3. 选择想要查询的job
  4. [可选] 选择要查询的目标instance
  5. 选择要查询和对比的指标

可以在右上角选择要查询的时间范围。

Cardinality Explorer

VictoriaMetrics 提供了查看 TSDB 指标基数的功能:

  • 定位 series 数量最多的指标名
  • 定位 series 数量最多的 Label
  • 定位特定 Label(通过focusLabel指定) 中 series 最多的 Value
  • 定位 series 最多的label_name=label_value
  • 定位 series 最多的 Labels,注意集群版展示的唯一Series数量可能会比实际的少,因为系统内部实现存在限制

默认情况下,Cardinality Explorer 分析当天的 timeseries,可以在右上角切换日期。默认情况下,可选的日期就都是可以进行分析的。我们也可以通过series selector限制统计分析的范围。

Cardinality Explorer 基于接口 /api/v1/status/tsdb 构建的。

可以在 cardinality explorer playground 中试用。 也可以在这里查看下 Cardinality Explorer 的使用教程。

统计结果准确性

集群版里,每个 vmstorage 独立存储 timeseries 数据。vmselect 组件通过 /api/v1/status/tsdb 从每一个 vmstorage 实例上获取结果,然后将每个 timeseries 的统计结果合并累加在一起。这就可能导致最终的统计结果比用户的实际数据多,因为 vmstorage 可能会因为多副本Reroute机制导致同一个 timeseries 在不同的 vmstorage 上都存在。