---
title: MicrometerのメトリクスにJVMのバージョン情報を付与するPromQLメモ
tags: ["Spring Boot", "Micrometer", "Prometheus"]
categories: ["Observability", "Prometheus"]
date: 2024-07-11T07:47:09Z
updated: 2024-07-11T07:47:09Z
---

MicrometerのPrometheusメトリクスにJVMのバージョン情報を付与するPromQLメモです。

JVMの情報は次のメトリクスで取得できます。

```
jvm_info{app="lognroll"}
```

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/de467cb9-3876-4a1c-a820-d08d3448eff5">


この情報を次のメトリクスに付与したいです。

```
jvm_memory_used_bytes{app="lognroll"}
```


<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/f84629b4-1369-4dc8-8187-97968c3dc6dd">


`*`演算子を使用して掛け算します。`jvm_info`の値は`1`なので、結果的には`jvm_memory_used_bytes`の値が返ります。`on (...)` で合致するラベルを指定し、`group_left`で左のラベルを残します。

```
jvm_memory_used_bytes{app="lognroll"} * on (app, instance) group_left(version, runtime, vendor) jvm_info{app="lognroll"}
```

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/52fe1974-5d91-47e7-80a7-c4013cdf1a53">

> [!NOTE]
> Exposing the software version to Prometheus
> https://www.robustperception.io/exposing-the-software-version-to-prometheus/
