最新の安定バージョンについては、Spring Boot 3.5.7 を使用してください! |
メトリクス (metrics)
metrics エンドポイントは、アプリケーションが記録したメトリクスを診断するためのアプリケーションメトリクスへのアクセスを提供します。このエンドポイントは、「スクレイピング」したり、本番環境でメトリクスバックエンドとして使用したりしないでください。このエンドポイントの目的は、現在登録されているメトリクスを表示することで、利用可能なメトリクス、その現在の値、特定の操作をトリガーすることで特定の値に変化が生じるかどうかをユーザーが確認できるようにすることです。収集されたメトリクスを通じてアプリケーションを診断したい場合は、外部メトリクスバックエンドを使用する必要があります。この場合も、metrics エンドポイントは有用です。
メトリクス名の取得
使用可能なメトリクスの名前を取得するには、次の curl ベースの例に示すように、GET リクエストを /actuator/metrics に作成します。
$ curl 'http://localhost:8080/actuator/metrics' -i -X GET結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 154
{
"names" : [ "jvm.buffer.count", "jvm.buffer.memory.used", "jvm.buffer.total.capacity", "jvm.memory.committed", "jvm.memory.max", "jvm.memory.used" ]
}メトリクスの取得
メトリクスを取得するには、次の curl ベースの例に示すように、GET リクエストを /actuator/metrics/{metric.name} に作成します。
$ curl 'http://localhost:8080/actuator/metrics/jvm.memory.max' -i -X GET 上記の例は、jvm.memory.max という名前のメトリクスに関する情報を取得します。結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 555
{
"name" : "jvm.memory.max",
"description" : "The maximum amount of memory in bytes that can be used for memory management",
"baseUnit" : "bytes",
"measurements" : [ {
"statistic" : "VALUE",
"value" : 2.399141885E9
} ],
"availableTags" : [ {
"tag" : "area",
"values" : [ "heap", "nonheap" ]
}, {
"tag" : "id",
"values" : [ "CodeHeap 'profiled nmethods'", "G1 Old Gen", "CodeHeap 'non-profiled nmethods'", "G1 Survivor Space", "Compressed Class Space", "Metaspace", "G1 Eden Space", "CodeHeap 'non-nmethods'" ]
} ]
}クエリパラメーター
エンドポイントは、クエリパラメーターを使用して、タグを使用してメトリクスにドリルダウンします。次の表に、サポートされている単一のクエリパラメーターを示します。
| パラメーター | 説明 |
|---|---|
|
|
レスポンス構造
レスポンスには、メトリクスの詳細が含まれます。次の表に、レスポンスの構造を示します。
| パス | タイプ | 説明 |
|---|---|---|
|
| メトリクスの名前 |
|
| メトリクスの説明 |
|
| メトリクスの基本単位 |
|
| メトリクスの測定 |
|
| 測定の統計。( |
|
| 測定値。 |
|
| ドリルダウンに使用できるタグ。 |
|
| タグの名前。 |
|
| タグの可能な値。 |
ドリルダウン
メトリクスにドリルダウンするには、次の curl ベースの例に示すように、tag クエリパラメーターを使用して GET リクエストを /actuator/metrics/{metric.name} に作成します。
$ curl 'http://localhost:8080/actuator/metrics/jvm.memory.max?tag=area%3Anonheap&tag=id%3ACompressed+Class+Space' -i -X GET 上記の例では、jvm.memory.max メトリクスを取得します。area タグの値は nonheap で、id 属性の値は Compressed Class Space です。結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Disposition: inline;filename=f.txt
Content-Type: application/vnd.spring-boot.actuator.v3+json
Content-Length: 263
{
"name" : "jvm.memory.max",
"description" : "The maximum amount of memory in bytes that can be used for memory management",
"baseUnit" : "bytes",
"measurements" : [ {
"statistic" : "VALUE",
"value" : 1.073741824E9
} ],
"availableTags" : [ ]
}