2015-09-03 8 views
5

abbiamo un'applicazione a molla in produzione. NON è Spring-boot. Ho trovato this post su come utilizzare l'attuatore di avvio a molla in un'applicazione non di avvio.come ottenere le metriche da spring-boot-actuator a livello di codice?

Tuttavia, il requisito per noi è di aggregare i dati da/metrics endpoint e fare alcune analisi su di esso e riportare un indicatore di stato.

Ad esempio, è possibile utilizzare parametri heap come {"heap.committed":480768,"heap.init":262144,"heap.used":294461,"heap":3728384,"threads.peak":37} per indicare lo stato dell'applicazione: FATAL, WARN o HEALTHY.

Questo è solo un esempio. il nostro requisito è più complesso. In effetti, abbiamo già un status endpoint in cui vogliamo aggiungere ulteriori informazioni (in base ai dati da /metrics e /health endpoint di spring-boot-actuator).

Un modo sto pensando acheiving questo è effettuare chiamate REST per /metrics e /health con-in dell'applicazione, raccogliere i dati, li aggregano e restituire la risposta. Non penso che sia un modo raccomandato.

Se è presente un bean in cui è possibile estrarre questi parametri direttamente, lo autowire e li calcolerò al volo come e quando necessario. (In effetti, pianificherò di calcolare periodicamente).

Sono interessato a tutti gli attributi restituiti da /metrics. mentre sono interessato anche al seguente da /health.

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

quali fagioli devo autorizzare e ottenere questi attributi gratuitamente!

Grazie

EDIT

Questo post ha @Autowired MetricRepository. Ma per qualche motivo, restituisce solo le proprietà del contatore personalizzato. E non restituisce mucchio, informazioni di memoria ecc Esempio: 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

risposta

13

L'uscita dal /metrics è prodotto da MetricsEndpoint. È disponibile come bean che puoi avere @Autowired. Chiamare invoke su di esso dovrebbe darti i dati che desideri.

È possibile fare lo stesso per /health con HealthEndpoint.

+0

puoi fornire i tuoi approfondimenti su questi: https://stackoverflow.com/questions/32464629/spring-boot-actuator-returns-empty-response-for-metrics-endpoint e https://stackoverflow.com/questions/32407403/metriche-endpoint-in-spring-boot-attuatore-non-ritorno-corretti valori –

Problemi correlati