2015-09-03 14 views
5

私たちは生産中に春のアプリケーションを持っています。それは春のブートではありません。私はthis postで、スプリング・ブート・アクチュエータを非スプリング・ブート・アプリケーションで使用する方法を発見しました。spring-boot-actuatorからプログラムでメトリックを取得する方法は?

ただし、/ metricsエンドポイントからのデータを集約し、そこにいくつかの分析を行い、ステータスインジケータを報告する必要があります。

たとえば、アプリケーションのステータス(致命的、警告または健康)を示すために、 {"heap.committed":480768,"heap.init":262144,"heap.used":294461,"heap":3728384,"threads.peak":37}などのヒープパラメータを使用します。

これは単なる例です。私たちの要件はより複雑です。実際には、すでにがあります(/metrics/healthのエンドポイントのデータに基づいて、spring-boot-actuatorの情報を追加したい場合)。

これは、アプリケーション内で/metrics/healthにRESTコールする であり、データを収集し、それらを集約して応答を返します。私はそれが推奨される方法だとは思わない。

これらのパラメータを直接抽出できるBeanがある場合、私はそれを自動配線し、必要に応じてそれらを計算します。 (実際には、私は定期的に計算する予定です)。

/metricsから返されたすべての属性に興味があります。 /healthからも興味があります。

{"diskSpace":{"status":"UP","free":386186194944,"threshold":10485760}} 

無料でこれらの属性をオートワイヤリングして取得する必要がありますか。

おかげ

EDITこの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

答えて

13

/metricsからの出力は、MetricsEndpointによって生成されます。これは、@Autowiredを持つことができるbeanとして利用できます。 invokeを呼び出すと、必要なデータが得られます。

/healthについても同じことをHealthEndpointとすることができます。

+0

これらの情報を提供することができますか?https://stackoverflow.com/questions/32464629/spring-boot-actuator-returns-empty-response-for-metrics-endpoint and https://stackoverflow.com/questions/32407403/metric-endpoint-in-spring-boot-actuator-not-returning-correct-values –

関連する問題