javascript
spring boot自测_将测微仪与Spring Boot 2一起使用
spring boot自測
這是快速入門,介紹了如何使用出色的Micrometer庫來檢測基于Spring Boot 2的應用程序并在Prometheus中記錄指標
介紹
Micrometer在不同監視工具提供的客戶端庫上提供了基于Java的外觀。
以Prometheus為例,如果我要將Java應用程序與Prometheus集成在一起,我會使用稱為Prometheus Client Java的客戶端庫,使用數據結構(Counter,Gauge等)來收集數據并將數據提供給Prometheus。 如果出于任何原因更改了監視系統,則必須為新系統更改代碼。
Micrometer試圖通過提供應用程序在編寫代碼時使用的通用外觀來緩解這種情況,綁定到監視系統純粹是運行時的問題,因此將Prometriceus的Metrics系統更改為Datadog僅需要更改運行時庫而無需任何代碼更改。
檢測Spring Boot 2應用程序
為基于Spring Boot 2的應用獲得Micrometer支持并不需要做任何特別的事情,在執行器啟動器中添加Micrometer作為傳遞依賴項:
例如 在基于gradle的項目中,這已足夠:
dependencies {compile('org.springframework.boot:spring-boot-starter-actuator')... }另外,由于打算將數據發送給Prometheus,因此必須提取依賴項,以提供必要的Micrometer SPI。
dependencies {...runtime("io.micrometer:micrometer-registry-prometheus")... }默認情況下,Micrometer提供了一組智能綁定,可對基于Spring的Web和Webflux端點進行檢測,并添加計量器以收集持續時間,呼叫次數。 此外,它還提供了綁定以收集JVM指標-內存使用情況,線程池等。
需要啟用應用程序屬性以公開Prometheus將用來刮取度量標準數據的端點:
endpoints:prometheus:enabled: true如果此時啟動了應用程序,則“ / applications / prometheus”端點應該可用,其中顯示了一組豐富的指標,以下是我的計算機上的示例:
默認度量標準非常豐富,應涵蓋應用程序的大多數通用度量標準要求,如果需要其他度量標準,則可以很容易地將其添加,如以下代碼片段所示:
class MessageHandler {private val counter = Metrics.counter("handler.calls", "uri", "/messages")fun handleMessage(req: ServerRequest): Mono<ServerResponse> {return req.bodyToMono<Message>().flatMap { m ->counter.increment()... ... }與Prometheus集成
可以將Prometheus配置為從Spring Boot2應用程序公開的端點中抓取數據,Prometheus配置的片段如下所示:
scrape_configs:- job_name: 'myapp'metrics_path: /application/prometheusstatic_configs:- targets: ['localhost:8080']這實際上不是生產配置,在生產設置中,最好使用Prometheus Push Gateway來代理度量標準的收集。
Prometheus提供了一個基本的UI來預覽其抓取的信息,默認情況下可以在端口9090上對其進行訪問。這是一個示例圖,其中包含在負載測試期間生成的數據:
結論
Micrometer可以很容易地對應用程序進行檢測并收集一組可以在Prometheus中存儲和可視化的基本指標。 如果您有興趣進一步進行此操作,可以在這里找到使用Micrometer的示例應用程序。
翻譯自: https://www.javacodegeeks.com/2017/11/using-micrometer-spring-boot-2.html
spring boot自測
總結
以上是生活随笔為你收集整理的spring boot自测_将测微仪与Spring Boot 2一起使用的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 快捷键调cmd控制框(启用cmd快捷键)
 - 下一篇: java api限流_Java 9:流A