Grafana+Prometheus技術文檔-進階使用-監控spring-boot項目

阿丹:

? ? ? ? 之前已經實現了使用Prometheus來對服務器進行了監控和儀表盤的創建,現在就需要對這些監控方法使用在spring-boot中去。

實現思路:

? ? ? ? 1、集成Actuator

? ? ? ? 2、加入Prometheus的依賴

? ? ? ? 3、配置開放端口、以及開放監控

? ? ? ? 4、配置Prometheus中的配置

? ? ? ? 5、使用Grafana中的SpringBoot Actuator展示模版

一、集成Actuator

?引入依賴

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Actuator是Spring框架中的一個模塊,旨在為應用程序提供監控和管理的功能。它為開發人員提供了一系列的HTTP端點,可以用來查看應用程序的運行狀況、性能指標、日志信息等。Actuator可以幫助開發人員進行應用程序的監控、診斷和管理,從而更好地了解應用程序的運行情況。

Spring Actuator提供了一些常用的端點,包括:

  1. /health:用于檢查應用程序的健康狀況,例如數據庫連接是否正常、磁盤空間是否足夠等。

  2. /info:用于查看應用程序的一般信息,例如應用程序的名稱、版本、描述等。

  3. /metrics:用于查看應用程序的運行指標,例如CPU使用率、內存使用量、請求次數等。

  4. /logfile:用于查看應用程序的日志文件。

  5. /env:用于查看應用程序的環境變量。

除了這些常用端點,Actuator還提供了一些其他功能,如配置端點、線程Dump端點、熱重啟端點等。開發人員可以根據自己的需求自定義配置和使用這些端點。

在Spring項目中集成Actuator非常簡單,只需在項目的依賴中加入相關的Actuator模塊,并進行必要的配置,即可啟用Actuator的功能。

依賴說明:

在Spring Boot應用程序中使用Prometheus進行監控時,spring-boot-starter-actuator依賴提供了與Prometheus進行集成的能力。通過添加這個依賴,你可以使Spring Boot應用程序暴露所需的端點,以供Prometheus抓取并收集監控指標。

具體來說,spring-boot-starter-actuator中的Actuator模塊啟用了以下與Prometheus相關的功能:

  1. 自動配置:Actuator自動配置模塊將根據在應用程序中定義的配置屬性,自動為應用程序啟用與Prometheus集成的相關功能。這使得無需手動配置即可與Prometheus進行集成。
  2. 端點暴露:Actuator提供了一組HTTP端點,其中包括與Prometheus監控相關的端點。這些端點將監控數據暴露給Prometheus進行抓取。
  3. Metrics和Health信息:通過Actuator的端點,你可以獲取應用程序的Metrics信息和Health狀態。這些信息將被Prometheus抓取并存儲,以供進一步的分析和警報。

總之,spring-boot-starter-actuator依賴使得Spring Boot應用程序能夠與Prometheus進行集成,從而通過Prometheus對應用程序進行監控和度量。

二、引入Prometheus依賴micrometer-registry-prometheus

<dependency><groupId>io.micrometer</groupId><artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

micrometer-registry-prometheus這個依賴在Spring Boot項目中使用Prometheus進行監控時,提供了將應用程序的度量數據暴露給Prometheus的功能。

具體來說,micrometer-registry-prometheus是一個Micrometer的Prometheus注冊器實現。Micrometer是一個用于Java應用程序的度量庫,它提供了一種標準化的方式來收集和報告度量數據。通過添加這個依賴,你可以將Micrometer與Prometheus集成,從而將應用程序的度量數據暴露給Prometheus進行抓取。

當與Prometheus集成后,你可以通過配置將Micrometer生成的度量數據發送到Prometheus,然后使用PromQL進行查詢和分析。這樣,你可以獲得應用程序的性能指標,如請求處理時間、數據庫查詢速率等,以便進行監控和問題診斷。

此外,micrometer-registry-prometheus還提供了一些額外的功能,如自定義度量數據的命名和標簽,以及與Prometheus的自動發現功能進行集成等。

總之,micrometer-registry-prometheus依賴使得Spring Boot項目能夠與Prometheus進行集成,以便更好地監控應用程序的性能。

三、添加yml配置

因為在默認的情況下,端點是不可用的,所以必須要公開,所以需要添加如下配置

management:endpoints:web:exposure:include: prometheus,health,info

并且指定服務名字

spring:application:name: adn-ask

四、 添加Prometheus配置

scrape_configs:- job_name: 'adn-ask'   #prometheus任務名稱scrape_interval: 5s  #每五秒抓取一次數據metrics_path: '/actuator/prometheus'   #數據來源的地址static_configs:- targets: ['localhost:8081']   #拉去數據的地址

?

?

?注意在使用的時候服務名字一定要對應以及下面的端口號和ip地址。

五、導入SpringBoot Actuator的展示模板

使用的模版id為:12900?

提供展板的官網:?

Dashboards | Grafana Labs

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40731.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40731.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40731.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一次網絡不通“爭吵“引發的思考

作者&#xff1a; 鄭明泉、余凱 為啥爭吵&#xff0c;吵什么&#xff1f; “你到底在說什么啊&#xff0c;我K8s的ecs節點要訪問clb的地址不通和本地網卡有什么關系…” 氣憤語氣都從電話那頭傳了過來&#xff0c;這時電話兩端都沉默了。過了好一會傳來地鐵小姐姐甜美的播報聲…

iview默認樣式覆蓋

scoped 屬性是 HTML5 中的新屬性。 當style標簽擁有scoped屬性時&#xff0c;它的css樣式只能用于當前的Vue組件&#xff0c;可以使組件的樣式不相互污染。 如果一個項目的所有style標簽都加上了scoped屬性&#xff0c;相當于實現了樣式的模塊化。 1、全頁面覆蓋 不添加scoped…

【一】ubuntu20.04上搭建containerd版( 1.2.4 以上)k8s及kuboard V3

k8s 部署全程在超級用戶下進行 sudo su本文請根據大綱順序閱讀&#xff01; 一、配置基礎環境&#xff08;在全部節點執行&#xff09; 1、安裝docker 使用apt安裝containerd 新版k8s已經棄用docker轉為containerd&#xff0c;如果要將docker改為containerd詳見&#xff1a…

對dubbo的DubboReference.check的參數進行剖析

背景 在使用dubbo的時候&#xff0c;發現當消費者啟動的時候&#xff0c;如果提供者沒有啟動&#xff0c;即使提供者后來啟動了&#xff0c;消費者也調不通提供者提供的接口了。 注冊中心使用都是nacos dubbo版本是3.0.4 例子 接口 public interface DemoService {String…

“深入解析JVM內部機制:探秘Java虛擬機的奧秘“

標題&#xff1a;深入解析JVM內部機制&#xff1a;探秘Java虛擬機的奧秘 摘要&#xff1a;本文將深入解析JVM&#xff08;Java虛擬機&#xff09;的內部機制&#xff0c;從字節碼執行到垃圾回收&#xff0c;逐步揭示Java程序運行的奧秘。通過理論分析和示例代碼&#xff0c;讀…

thinkphp5.1 trace 不顯示sql語句

config/app.php app_debug > true,//線上環境為 false // 應用Trace app_trace > true,//線上環境為 false config/database.php debug > true, config/log.php close > false, thinkphp5.1x 設計非常奇怪 必須開啟…

使用dockerfile手動構建JDK11鏡像運行容器并校驗

Docker官方維護鏡像的公共倉庫網站 Docker Hub 國內無法訪問了&#xff0c;大部分鏡像無法下載&#xff0c;準備逐步構建自己的鏡像庫。【轉載aliyun官方-容器鏡像服務 ACR】Docker常見問題 阿里云容器鏡像服務ACR&#xff08;Alibaba Cloud Container Registry&#xff09;是面…

內網穿透-外遠程連接中的RabbitMQ服務

文章目錄 前言1.安裝erlang 語言2.安裝rabbitMQ3. 內網穿透3.1 安裝cpolar內網穿透(支持一鍵自動安裝腳本)3.2 創建HTTP隧道 4. 公網遠程連接5.固定公網TCP地址5.1 保留一個固定的公網TCP端口地址5.2 配置固定公網TCP端口地址 前言 RabbitMQ是一個在 AMQP(高級消息隊列協議)基…

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》

正則表達式定義&#xff1a; 使用單個字符串來描述&#xff0c;匹配一系列符合某個句法規則的字符串 正則表達式的組成&#xff1a; 普通字符串: 大小寫字母&#xff0c;數字&#xff0c;標點符號及一些其他符號 元字符&#xff1a;在正則表達式中具有特殊意義的專用字符 正則表…

python中__main__的解釋

源自于&#xff1a;https://zhuanlan.zhihu.com/p/340997807 Python程序運行時是從模塊頂行開始&#xff0c;最頂層&#xff08;沒有被縮進&#xff09;的代碼都會被執行&#xff0c;所以Python中并不需要一個統一的main()作為程序的入口。 __name__是Python的內置變量&#…

藍橋杯嵌入式省一教程:(三)按鍵掃描與定時器中斷

在第一講中曾經提到&#xff0c;GPIO有輸入輸出兩種模式。在點亮LED時&#xff0c;我們已經使用了GPIO輸出模式&#xff0c;在按鍵識別中&#xff0c;我們將要使用GPIO輸入模式。首先來看看按鍵的電路原理圖&#xff08;下圖在選手資源數據包——CT117E-M4產品手冊中&#xff0…

Android CCodec (二十) CCodec Native服務實現分析

1、C2解碼服務registerAsService注冊流程 google實現CCodec的vendor默認解碼服務代碼路徑是在frameworks/av/media/codec2/hidl/services/vendor.cpp中,而其注冊的是HIDL服務,本文就對HIDL服務注冊做簡要分析。首先看下vendor.cpp中的代碼注冊流程。 int main(int /* argc *…

高等數學教材重難點題型總結(三)微分中值定理和導數的應用

第三章&#xff0c;微分中值定理的證明題等&#xff0c;非常重要&#xff0c;需要牢牢掌握 1.證明中值定理對某函數在給定區間上的正確性 2.與中值定理有關的證明題 3.微分中值定理應用于求證不等式 4.洛必達法則求極限 5.洛必達的經典錯誤反例 6.按某項實現多項式冪展開 7.求帶…

以 Java NIO 的角度理解 Netty

文章目錄 前言Java NIO 工作原理Selector 的創建ServerSocketChannel 的創建ServerSocketChannel 注冊 Selector對事件的處理總結 前言 上篇文章《Netty 入門指南》主要涵蓋了 Netty 的入門知識&#xff0c;包括 Netty 的發展歷程、核心功能與組件&#xff0c;并且通過實例演示…

rabbitmq的發布確認

生產者將信道設置成 confirm 模式&#xff0c;一旦信道進入 confirm 模式&#xff0c; 所有在該信道上面發布的 消息都將會被指派一個唯一的 ID (從 1 開始)&#xff0c;一旦消息被投遞到所有匹配的隊列之后&#xff0c;broker 就會發送一個確認給生產者(包含消息的唯一 ID)&…

AI巨浪下,數據技術如何驅動智能未來?

引言 數據技術是大數據時代的核心驅動力&#xff0c;也是推動各行各業數字化轉型和智能化升級的關鍵因素。隨著云計算、人工智能、區塊鏈等新興技術的不斷發展和融合&#xff0c;數據技術也呈現出多模態、混合處理、自動化管理等新的趨勢和特點。 8 月 19 日&#xff08;周六&…

域名和ip的關系

域名和ip的關系 一&#xff1a;什么是域名 域名&#xff0c;簡稱域名、網域&#xff0c;是由一串用點分隔的名字組成的上某一臺計算機或計算機組的名稱&#xff0c;用于在數據傳輸時標識 計算機的電子方位(有時也指地理位置)。網域名稱系統&#xff0c;有時也簡稱為域名…

【寶藏系列】嵌入式 C 語言代碼優化技巧【超詳細版】

【寶藏系列】嵌入式 C 語言代碼優化技巧【超詳細版】 文章目錄 【寶藏系列】嵌入式 C 語言代碼優化技巧【超詳細版】前言整形數除法和取余數合并除法和取余數通過2的冪次進行除法和取余數取模的一種替代方法使用數組下標全局變量使用別名變量的生命周期分割變量類型局部變量指針…

Centos下的tcpdump抓包用法

先查一下是否安裝, 無的話裝一下 (版本低的用yum install) : rpm -qa tcpdump dnf install tcpdump 1. 列出能抓包的網卡: tcpdump -D | --list-interfaces 2. 在eth0網卡上抓來源為10.1.1.1 的包, 只抓一個包 (-n這里是不解析DNS) : tcpdump -i eth0 -n src 10.1.1.1 -…

STM32 F103C8T6學習筆記3:串口配置—串口收發—自定義Printf函數

今日學習使用STM32 C8T6的串口&#xff0c;我們在經過學習筆記2的總結歸納可知&#xff0c;STM32 C8T6最小系統板上有三路串口&#xff0c;如下圖&#xff1a; 今日我們就著手學習如何配置開通這些串口進行收發&#xff0c;這里不講串口通信概念與基礎&#xff0c;可以自行網上…