春のアプリケーションが生産されています。スプリングブートではありません。私は この投稿 非spring-bootアプリケーションでspring-boot-actuatorを使用する方法について見つけました。
ただし、私たちの要件は、/ metricsエンドポイントからのデータを集約し、それに対していくつかの分析を行い、ステータスインジケーターを報告することです。
たとえば、{"heap.committed":480768,"heap.init":262144,"heap.used":294461,"heap":3728384,"threads.peak":37}
などのヒープパラメータを使用して、アプリケーションのステータス(FATAL、WARN、HEALTHY)を示すことができます。
これはほんの一例です。私たちの要件はもっと複雑です。実際には、(status endpoint
の/metrics
および/health
エンドポイントからのデータに基づいて)さらに情報を追加したいspring-boot-actuator
がすでにあります。
これを実現するために私が考えている1つの方法は、アプリケーション内で-を使用してREST /metrics
および/health
を呼び出し、データを収集して集計し、応答を返すことです。私はそれが推奨される方法ではないと思います。
これらのパラメーターを直接抽出できるBeanがある場合は、それを自動配線し、必要に応じてその場で計算します。 (実際、定期的に計算するようにスケジュールします)。
/metrics
から返されるすべての属性に興味があります。 /health
からの次のことにも興味があります。
{"diskSpace":{"status":"UP","free":386186194944,"threshold":10485760}}
どのBeanを自動配線して、これらの属性を無料で取得する必要がありますか?
ありがとう
[〜#〜]編集[〜#〜]
この post には@Autowired MetricRepository
があります。しかし、何らかの理由で、カスタムカウンタープロパティのみを返します。ヒープ、メモリ情報などを返していません。例:Reporting metric counter.calls.get_greeting=4 Reporting metric counter.calls.get_greeting.1=1 Reporting metric counter.calls.get_greeting.2=1 Reporting metric counter.calls.get_greeting.3=1 Reporting metric counter.calls.get_greeting.4=1 Reporting metric counter.status.200.greeting.number=4 Reporting metric counter.status.404.star-star=1
/metrics
からの出力はMetricsEndpoint
によって生成されます。 @Autowired
を持つことができるBeanとして利用できます。その上でinvoke
を呼び出すと、必要なデータが得られます。
HealthEndpoint
を使用して/health
についても同じことができます。