天天看點

【Springboot】用Prometheus+Grafana監控Springboot應用或者拉取docker鏡像可随意指定端口為9090,指定配置檔案拉取鏡像運作執行個體

【Springboot】用Prometheus+Grafana監控Springboot應用

1 簡介

項目越做越發覺得,任何一個系統上線,運維監控都太重要了。關于Springboot微服務的監控,之前寫過【Springboot】用Springboot Admin監控你的微服務應用,這個方案可以實時監控并提供告警提醒功能,但不能記錄曆史資料,無法檢視過去1小時或過去1天等運維情況。本文介紹Prometheus + Grafana的方法監控Springboot 2.X,實作美觀漂亮的資料可視化。

2 Prometheus

Prometheus是一套優秀的開源的監控、報警和時間序列資料庫組合系統,在現在最常見的Kubernetes容器管理系統中,通常會搭配Prometheus進行監控。

2.1 引入到Springboot

将Prometheus引入依賴如下:

io.micrometer

micrometer-registry-prometheus

對于Springboot,要開啟Actuator,并打開對應的Endpoint:

management.endpoints.web.exposure.include=*

或者

management.endpoints.web.exposure.include=prometheus

啟動Springboot後,可以通過下面URL看能不能正确擷取到監控資料:

localhost:8080/actuator/prometheus

擷取資料成功,說明Springboot能正常提供監控資料。

2.2 Docker方式使用

為了友善,使用Docker啟動Prometheus:

拉取docker鏡像

docker pull prom/prometheus

準備配置檔案prometheus.yml:

scrape_configs:

可随意指定

  • job_name: 'spring'

    # 多久采集一次資料

scrape_interval: 15s

# 采集時的逾時時間

scrape_timeout: 10s

# 采集的路徑

metrics_path: '/actuator/prometheus'

# 采集服務的位址,設定成Springboot應用所在伺服器的具體位址

static_configs:

  • targets: ['hostname:9000','hostname:8080']

    啟動docker執行個體:

端口為9090,指定配置檔案

docker run -d -p 9090:9090 -v ~/temp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus --config.file=/etc/prometheus/prometheus.yml

2.3 測試與檢視

成功啟動後,就可以打開網頁檢視了,并且能圖形化展示,URL為

http://localhost:9090/

如上圖所示,打開網頁後,随便選取一個對應的監控名額與參數,點選Execute就可以檢視了。

3 Grafana

Grafana是一個開源的度量分析與可視化套件,純JavaScript開發的前端工具,通過通路庫(如InfluxDB),展示自定義報表、顯示圖表等。它的UI十分靈活,有豐富的插件和模闆,功能強大。一般用在時序資料的監控方面。

3.1 Docker安裝與啟動

拉取鏡像

docker pull grafana/grafana

運作執行個體

docker run -d -p 3000:3000 grafana/grafana

啟動成功後,通路

http://localhost:3000

檢查是否成功,初始管理者賬号密碼為admin/admin。

3.2 配置資料源

Grafana展示資料,則需要配置對應的資料源,本文中配置之前安裝啟用的Prometheus資料源,具體配置如下圖所示:

需要注意的是Access要選Browser模式,否則無法正常擷取資料。配置完成後,點選Save & Test即可。

3.3 模闆套用

能夠擷取資料後,就可以自定義資料可視化展示了。但如果自己一條名額一條名額的加,就會很麻煩。實際上,Grafana提供了許多優秀的模闆,可以網頁

https://grafana.com/grafana/dashboards

 查找。

本文使用Spring Boot 2.1 Statistics模闆,導入方法如下:

點選+号 --> Import --> 輸入模闆連結或ID --> 點選Load。

成功導入後,就能監控資料了,而且,界面真的很好看:

4 總結

本文介紹了如何使用Prometheus + Grafana監控Springboot應用,實際上,Prometheus + Grafana十分強大,值得花時間好好研究。

本文例子中軟體版本資訊如下:

springboot.version=2.2.5

micrometer-registry-prometheus=1.3.5

prometheus.version=2.16

grafana.version=6.7.0-beta1

原文位址

https://www.cnblogs.com/larrydpk/p/12563497.html