javascript
将测微仪与Spring Boot 2一起使用
這是快速入門,介紹了如何使用出色的Micrometer庫來檢測基于Spring Boot 2的應(yīng)用程序并在Prometheus中記錄指標(biāo)
介紹
Micrometer在各種監(jiān)視工具提供的客戶端庫上提供了基于Java的外觀。
以Prometheus為例,如果我要將Java應(yīng)用程序與Prometheus集成,我將使用稱為Prometheus Client Java的客戶端庫,使用數(shù)據(jù)結(jié)構(gòu)(Counter,Gauge等)來收集數(shù)據(jù)并將其提供給Prometheus。 如果出于任何原因更改了監(jiān)視系統(tǒng),則必須為新系統(tǒng)更改代碼。
Micrometer試圖通過提供應(yīng)用程序在編寫代碼時使用的通用外觀來緩解這種情況,綁定到監(jiān)視系統(tǒng)純粹是運行時的問題,因此將Prometheus的Metrics系統(tǒng)更改為Datadog僅需要更改運行時庫而無需任何代碼更改。
檢測Spring Boot 2應(yīng)用程序
為基于Spring Boot 2的應(yīng)用程序獲得Micrometer支持并不需要做任何特殊的事情,在執(zhí)行器啟動器中添加Micrometer作為傳遞依賴項:
例如 在基于gradle的項目中,這已足夠:
dependencies {compile('org.springframework.boot:spring-boot-starter-actuator')... }另外,由于打算將數(shù)據(jù)發(fā)送到Prometheus,因此必須提取依賴關(guān)系,以提供必要的Micrometer SPI。
dependencies {...runtime("io.micrometer:micrometer-registry-prometheus")... }默認(rèn)情況下,Micrometer提供了一組智能綁定,可對基于Spring的Web和Webflux端點進(jìn)行檢測,并添加計量器以收集持續(xù)時間,呼叫次數(shù)。 此外,它還提供了綁定以收集JVM指標(biāo)-內(nèi)存使用情況,線程池等。
需要啟用應(yīng)用程序?qū)傩砸怨_Prometheus將用來刮取度量標(biāo)準(zhǔn)數(shù)據(jù)的端點:
endpoints:prometheus:enabled: true如果此時啟動了應(yīng)用程序,則“ / applications / prometheus”端點應(yīng)該可用,其中顯示了一組豐富的指標(biāo),以下是我的計算機(jī)上的示例:
默認(rèn)度量標(biāo)準(zhǔn)非常豐富,應(yīng)涵蓋應(yīng)用程序的大多數(shù)通用度量標(biāo)準(zhǔn)要求,如果需要其他度量標(biāo)準(zhǔn),則可以很容易地添加它,如以下代碼片段所示:
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應(yīng)用程序公開的端點中抓取數(shù)據(jù),Prometheus配置的片段如下所示:
scrape_configs:- job_name: 'myapp'metrics_path: /application/prometheusstatic_configs:- targets: ['localhost:8080']這實際上不是生產(chǎn)配置,在生產(chǎn)設(shè)置中,最好使用Prometheus Push Gateway來代理度量標(biāo)準(zhǔn)的收集。
Prometheus提供了一個基本的UI來預(yù)覽其抓取的信息,默認(rèn)情況下可以在端口9090上對其進(jìn)行訪問。這是一個示例圖,其中包含在負(fù)載測試期間生成的數(shù)據(jù):
結(jié)論
千分尺可以很容易地對應(yīng)用程序進(jìn)行檢測并收集一組可以在Prometheus中存儲和可視化的基本指標(biāo)。 如果您有興趣進(jìn)一步進(jìn)行此操作,請在此處找到使用微米計的示例應(yīng)用程序。
翻譯自: https://www.javacodegeeks.com/2017/11/using-micrometer-spring-boot-2.html
總結(jié)
以上是生活随笔為你收集整理的将测微仪与Spring Boot 2一起使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java Optionals获得更具表现
- 下一篇: 路由器转发IP包的过程路由器是如何实现路