阿丹:
? ? ? ? 之前已經(jīng)實(shí)現(xiàn)了使用Prometheus來(lái)對(duì)服務(wù)器進(jìn)行了監(jiān)控和儀表盤(pán)的創(chuàng)建,現(xiàn)在就需要對(duì)這些監(jiān)控方法使用在spring-boot中去。
實(shí)現(xiàn)思路:
? ? ? ? 1、集成Actuator
? ? ? ? 2、加入Prometheus的依賴(lài)
? ? ? ? 3、配置開(kāi)放端口、以及開(kāi)放監(jiān)控
? ? ? ? 4、配置Prometheus中的配置
? ? ? ? 5、使用Grafana中的SpringBoot Actuator展示模版
一、集成Actuator
?引入依賴(lài)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
Spring Actuator是Spring框架中的一個(gè)模塊,旨在為應(yīng)用程序提供監(jiān)控和管理的功能。它為開(kāi)發(fā)人員提供了一系列的HTTP端點(diǎn),可以用來(lái)查看應(yīng)用程序的運(yùn)行狀況、性能指標(biāo)、日志信息等。Actuator可以幫助開(kāi)發(fā)人員進(jìn)行應(yīng)用程序的監(jiān)控、診斷和管理,從而更好地了解應(yīng)用程序的運(yùn)行情況。
Spring Actuator提供了一些常用的端點(diǎn),包括:
-
/health:用于檢查應(yīng)用程序的健康狀況,例如數(shù)據(jù)庫(kù)連接是否正常、磁盤(pán)空間是否足夠等。
-
/info:用于查看應(yīng)用程序的一般信息,例如應(yīng)用程序的名稱(chēng)、版本、描述等。
-
/metrics:用于查看應(yīng)用程序的運(yùn)行指標(biāo),例如CPU使用率、內(nèi)存使用量、請(qǐng)求次數(shù)等。
-
/logfile:用于查看應(yīng)用程序的日志文件。
-
/env:用于查看應(yīng)用程序的環(huán)境變量。
除了這些常用端點(diǎn),Actuator還提供了一些其他功能,如配置端點(diǎn)、線(xiàn)程Dump端點(diǎn)、熱重啟端點(diǎn)等。開(kāi)發(fā)人員可以根據(jù)自己的需求自定義配置和使用這些端點(diǎn)。
在Spring項(xiàng)目中集成Actuator非常簡(jiǎn)單,只需在項(xiàng)目的依賴(lài)中加入相關(guān)的Actuator模塊,并進(jìn)行必要的配置,即可啟用Actuator的功能。
依賴(lài)說(shuō)明:
在Spring Boot應(yīng)用程序中使用Prometheus進(jìn)行監(jiān)控時(shí),spring-boot-starter-actuator
依賴(lài)提供了與Prometheus進(jìn)行集成的能力。通過(guò)添加這個(gè)依賴(lài),你可以使Spring Boot應(yīng)用程序暴露所需的端點(diǎn),以供Prometheus抓取并收集監(jiān)控指標(biāo)。
具體來(lái)說(shuō),spring-boot-starter-actuator
中的Actuator模塊啟用了以下與Prometheus相關(guān)的功能:
- 自動(dòng)配置:Actuator自動(dòng)配置模塊將根據(jù)在應(yīng)用程序中定義的配置屬性,自動(dòng)為應(yīng)用程序啟用與Prometheus集成的相關(guān)功能。這使得無(wú)需手動(dòng)配置即可與Prometheus進(jìn)行集成。
- 端點(diǎn)暴露:Actuator提供了一組HTTP端點(diǎn),其中包括與Prometheus監(jiān)控相關(guān)的端點(diǎn)。這些端點(diǎn)將監(jiān)控?cái)?shù)據(jù)暴露給Prometheus進(jìn)行抓取。
- Metrics和Health信息:通過(guò)Actuator的端點(diǎn),你可以獲取應(yīng)用程序的Metrics信息和Health狀態(tài)。這些信息將被Prometheus抓取并存儲(chǔ),以供進(jìn)一步的分析和警報(bào)。
總之,spring-boot-starter-actuator
依賴(lài)使得Spring Boot應(yīng)用程序能夠與Prometheus進(jìn)行集成,從而通過(guò)Prometheus對(duì)應(yīng)用程序進(jìn)行監(jiān)控和度量。
二、引入Prometheus依賴(lài)micrometer-registry-prometheus。
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
micrometer-registry-prometheus
這個(gè)依賴(lài)在Spring Boot項(xiàng)目中使用Prometheus進(jìn)行監(jiān)控時(shí),提供了將應(yīng)用程序的度量數(shù)據(jù)暴露給Prometheus的功能。
具體來(lái)說(shuō),micrometer-registry-prometheus
是一個(gè)Micrometer的Prometheus注冊(cè)器實(shí)現(xiàn)。Micrometer是一個(gè)用于Java應(yīng)用程序的度量庫(kù),它提供了一種標(biāo)準(zhǔn)化的方式來(lái)收集和報(bào)告度量數(shù)據(jù)。通過(guò)添加這個(gè)依賴(lài),你可以將Micrometer與Prometheus集成,從而將應(yīng)用程序的度量數(shù)據(jù)暴露給Prometheus進(jìn)行抓取。
當(dāng)與Prometheus集成后,你可以通過(guò)配置將Micrometer生成的度量數(shù)據(jù)發(fā)送到Prometheus,然后使用PromQL進(jìn)行查詢(xún)和分析。這樣,你可以獲得應(yīng)用程序的性能指標(biāo),如請(qǐng)求處理時(shí)間、數(shù)據(jù)庫(kù)查詢(xún)速率等,以便進(jìn)行監(jiān)控和問(wèn)題診斷。
此外,micrometer-registry-prometheus
還提供了一些額外的功能,如自定義度量數(shù)據(jù)的命名和標(biāo)簽,以及與Prometheus的自動(dòng)發(fā)現(xiàn)功能進(jìn)行集成等。
總之,micrometer-registry-prometheus
依賴(lài)使得Spring Boot項(xiàng)目能夠與Prometheus進(jìn)行集成,以便更好地監(jiān)控應(yīng)用程序的性能。
三、添加yml配置
因?yàn)樵谀J(rèn)的情況下,端點(diǎn)是不可用的,所以必須要公開(kāi),所以需要添加如下配置
management:
endpoints:
web:
exposure:
include: prometheus,health,info
并且指定服務(wù)名字
spring:
application:
name: adn-ask
四、 添加Prometheus配置
scrape_configs:
- job_name: 'adn-ask' #prometheus任務(wù)名稱(chēng)
scrape_interval: 5s #每五秒抓取一次數(shù)據(jù)
metrics_path: '/actuator/prometheus' #數(shù)據(jù)來(lái)源的地址
static_configs:
- targets: ['localhost:8081'] #拉去數(shù)據(jù)的地址
?
?
?注意在使用的時(shí)候服務(wù)名字一定要對(duì)應(yīng)以及下面的端口號(hào)和ip地址。
五、導(dǎo)入SpringBoot Actuator的展示模板
使用的模版id為:12900?
提供展板的官網(wǎng):?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-642063.html
Dashboards | Grafana Labs文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-642063.html
到了這里,關(guān)于Grafana+Prometheus技術(shù)文檔-進(jìn)階使用-監(jiān)控spring-boot項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!