私はここのドキュメントに従いました( https://docs.spring.io/spring-boot/docs/2.0.0.RC1/reference/htmlsingle/#production-ready-endpoints-enabling-endpoints )そして、application.ymlファイルに以下があることを確認しました
management:
metrics:
export:
prometheus:
enabled: true
endpoints:
web:
expose:
health, info, httptrace, metrics, threaddump, mappings, prometheus
ドキュメント( https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/actuator-api/html/#prometheus )によると、以下は機能しません。
curl 'http://localhost:8080/actuator/prometheus' -i
404ハンドラーマッピングが見つからないという例外が発生します。誰かがスクレイピングの目的でプロメテウスエンドポイントを有効にする方法と、それをテストするために使用する必要があるURLエンドポイントを教えてもらえますか?
o.s.w.r.r.m.a.RequestMappingHandlerMapping[276] - Did not find handler method for [/actuator/prometheus]
他のすべてのエンドポイントのヘルス、情報、httptrace、スレッドダンプ、マッピングは完全に正常に機能しています。
少し遅れていますが、念のためですが、これが2.0.0.RELEASEで機能することを確認できます。
依存関係(段階):
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('io.micrometer:micrometer-registry-prometheus')
application.yaml( 参照 )
management:
endpoints:
web:
exposure:
include: health,info,prometheus
@ROCKYが説明したように、RC1(プロメテウスエンドポイントが何らかの理由で表示されない)でもテストしました。
確認できることがいくつかあります。
MeterRegistry
インストルメンテーションライブラリのPrometheus「サブシステム」が存在するように、必要なMicrometer
実装を追加しましたか? ( Micrometer ライブラリは、Spring Boot 2.0の時点でアクチュエータの実装に電力を供給しています)
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
特定のMeterRegistry
実装がないと、SimpleMeterRegistry
実装を利用した通常の/actuator/metrics
エンドポイントになります。
上記のプロパティをapplication.[yml,yaml]
ではなくapplication.properties
ファイルに実際に配置しましたか? (私は Spring Initializr で生成された新しいデモプロジェクトで同じことに遭遇しました。)
私は同じ問題を経験し、構成に「include」タグを追加することでそれを修正することができました。
管理: メトリック: エクスポート: プロメテウス: 有効:true エンドポイント: ウェブ: 露出: インクルード:プロメテウス、情報、メトリクス、スレッドダンプ
アプリケーションを1.5から2.1.3にアップグレードしたときに同じ問題が発生しました。これに従うことで修正できました Spring Boot 2.0 Prometheusの下位互換性
依存関係リストにmicrometer-registry-prometheus
が必要であり、SpringBootApplicationクラスに以下を追加します。
@Bean
public CollectorRegistry collectorRegistry() {
return CollectorRegistry.defaultRegistry;
}