亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
1. 在Java 應(yīng)用中暴露監(jiān)控指標(使用Micrometer Prometheus)
添加依賴(Maven 示例):
配置Spring Boot Actuator(Spring Boot 用戶):
2. 配置Prometheus 抓取指標
修改prometheus.yml
3. 使用Grafana 展示監(jiān)控面板
啟動Grafana:
添加Prometheus 數(shù)據(jù)源:
導(dǎo)入Java 監(jiān)控面板
4. 自定義業(yè)務(wù)指標(可選但推薦)
示例:記錄訂單處理次數(shù)
首頁 Java java教程 Java應(yīng)用程序監(jiān)視Prometheus和Grafana

Java應(yīng)用程序監(jiān)視Prometheus和Grafana

Jul 28, 2025 am 02:37 AM
java 監(jiān)控

使用Micrometer在Java應(yīng)用中暴露指標,通過添加依賴和配置Spring Boot Actuator,使應(yīng)用在/actuator/prometheus端點輸出Prometheus格式的監(jiān)控數(shù)據(jù);2. 配置Prometheus的scrape_configs,添加job_name為'java-app'的抓取任務(wù),指定metrics_path和targets以定期採集Java應(yīng)用指標,並通過Prometheus的Targets頁面驗證採集狀態(tài);3. 啟動Grafana並添加Prometheus為數(shù)據(jù)源,通過導(dǎo)入社區(qū)模板(如ID 4701和2588)快速構(gòu)建JVM內(nèi)存、線程、GC、HTTP請求等關(guān)鍵指標的可視化監(jiān)控面板;4. 通過MeterRegistry註冊自定義業(yè)務(wù)指標(如訂單處理數(shù)),在Prometheus中查詢並利用Grafana展示業(yè)務(wù)趨勢,從而實現(xiàn)系統(tǒng)與業(yè)務(wù)層面的全面監(jiān)控。該方案實現(xiàn)了Java應(yīng)用從指標暴露、採集存儲到可視化展示的完整監(jiān)控鏈路,有效支持系統(tǒng)穩(wěn)定性與性能優(yōu)化。

Java Application Monitoring with Prometheus and Grafana

Java應(yīng)用的監(jiān)控對保障系統(tǒng)穩(wěn)定性和性能至關(guān)重要。 Prometheus 和Grafana 是目前最流行的開源監(jiān)控組合:Prometheus 負責(zé)採集和存儲指標數(shù)據(jù),Grafana 則用於可視化展示。將它們用於Java 應(yīng)用監(jiān)控,可以快速構(gòu)建一套強大、靈活且可擴展的監(jiān)控系統(tǒng)。

Java Application Monitoring with Prometheus and Grafana

以下是實現(xiàn)Java 應(yīng)用監(jiān)控的關(guān)鍵步驟和最佳實踐。


1. 在Java 應(yīng)用中暴露監(jiān)控指標(使用Micrometer Prometheus)

要讓Prometheus 抓取Java 應(yīng)用的指標,首先需要在應(yīng)用中暴露一個HTTP 接口,返回Prometheus 可讀的格式(通常是/metrics/actuator/prometheus )。

Java Application Monitoring with Prometheus and Grafana

推薦使用Micrometer :它是Java 領(lǐng)域的事實標準指標門面,支持多種監(jiān)控系統(tǒng)(包括Prometheus),並能與Spring Boot 無縫集成。

添加依賴(Maven 示例):

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

配置Spring Boot Actuator(Spring Boot 用戶):

 # application.yml
management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics,prometheus
  metrics:
    tags:
      application: ${spring.application.name}

啟動應(yīng)用後,訪問http://localhost:8080/actuator/prometheus ,你應(yīng)該能看到類似:

Java Application Monitoring with Prometheus and Grafana
 # HELP jvm_memory_used_bytes
# TYPE jvm_memory_used_bytes gauge
jvm_memory_used_bytes{area="heap",id="PS Old Gen",} 2.3405672E7
...

這說明指標已成功暴露。


2. 配置Prometheus 抓取指標

Prometheus 需要配置一個job 來定期抓取你的Java 應(yīng)用指標。

修改prometheus.yml

 scrape_configs:
  - job_name: &#39;java-app&#39;
    metrics_path: &#39;/actuator/prometheus&#39;
    static_configs:
      - targets: [&#39;host.docker.internal:8080&#39;] # 如果是本地Docker,或使用實際IP

注意:如果Java 應(yīng)用運行在Docker 容器中, targets應(yīng)使用Docker 網(wǎng)絡(luò)可訪問的地址,例如your-service:8080

啟動Prometheus:

 docker run -d -p 9090:9090 -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

訪問http://localhost:9090 ,在“Targets” 頁面確認你的Java 應(yīng)用狀態(tài)為“UP”。


3. 使用Grafana 展示監(jiān)控面板

Grafana 用來連接Prometheus 數(shù)據(jù)源,並通過圖形化面板展示JVM、HTTP 請求、GC 等關(guān)鍵指標。

啟動Grafana:

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

訪問http://localhost:3000 ,默認賬號密碼是admin/admin 。

添加Prometheus 數(shù)據(jù)源:

  1. 進入Configuration > Data Sources > Add data source
  2. 選擇Prometheus
  3. URL 填寫: http://host.docker.internal:9090 (或Prometheus 容器所在地址)
  4. 點擊Save & Test ,確認連接成功

導(dǎo)入Java 監(jiān)控面板

推薦使用Grafana 官方社區(qū)維護的模板:

  • JVM Micrometer Dashboard (ID: 4701)
  • Spring Boot Statistics (ID: 2588)

導(dǎo)入方法:

  1. 進入Create > Import
  2. 輸入面板ID(如4701
  3. 選擇Prometheus 數(shù)據(jù)源
  4. 點擊Import

你會看到如下監(jiān)控信息:

  • JVM 內(nèi)存使用(堆/非堆)
  • 線程數(shù)
  • GC 次數(shù)與耗時
  • HTTP 請求延遲與吞吐量
  • CPU 使用率

4. 自定義業(yè)務(wù)指標(可選但推薦)

除了系統(tǒng)指標,你還可以監(jiān)控業(yè)務(wù)邏輯,比如訂單處理數(shù)、緩存命中率等。

示例:記錄訂單處理次數(shù)

@Autowired
private MeterRegistry registry;

public void processOrder(Order order) {
    Counter counter = registry.counter("orders.processed", "type", order.getType());
    counter.increment();
    // 處理邏輯...
}

在Prometheus 中就可以查詢:

 orders_processed_total{type="premium"}

然後在Grafana 中添加圖表,監(jiān)控業(yè)務(wù)趨勢。


基本上就這些。整個流程不復(fù)雜,但非常實用:
Java 應(yīng)用通過Micrometer 暴露指標→ Prometheus 抓取存儲→ Grafana 可視化。
一旦搭建完成,你就能實時掌握應(yīng)用的健康狀況,快速定位內(nèi)存洩漏、高延遲請求等問題。

以上是Java應(yīng)用程序監(jiān)視Prometheus和Grafana的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

用雅加達EE在Java建立靜止的API 用雅加達EE在Java建立靜止的API Jul 30, 2025 am 03:05 AM

SetupaMaven/GradleprojectwithJAX-RSdependencieslikeJersey;2.CreateaRESTresourceusingannotationssuchas@Pathand@GET;3.ConfiguretheapplicationviaApplicationsubclassorweb.xml;4.AddJacksonforJSONbindingbyincludingjersey-media-json-jackson;5.DeploytoaJakar

Java項目管理Maven的開發(fā)人員指南 Java項目管理Maven的開發(fā)人員指南 Jul 30, 2025 am 02:41 AM

Maven是Java項目管理和構(gòu)建的標準工具,答案在於它通過pom.xml實現(xiàn)項目結(jié)構(gòu)標準化、依賴管理、構(gòu)建生命週期自動化和插件擴展;1.使用pom.xml定義groupId、artifactId、version和dependencies;2.掌握核心命令如mvnclean、compile、test、package、install和deploy;3.利用dependencyManagement和exclusions管理依賴版本與衝突;4.通過多模塊項目結(jié)構(gòu)組織大型應(yīng)用並由父POM統(tǒng)一管理;5.配

如何將Java MistageDigest用於哈希(MD5,SHA-256)? 如何將Java MistageDigest用於哈希(MD5,SHA-256)? Jul 30, 2025 am 02:58 AM

要使用Java生成哈希值,可通過MessageDigest類實現(xiàn)。 1.獲取指定算法的實例,如MD5或SHA-256;2.調(diào)用.update()方法傳入待加密數(shù)據(jù);3.調(diào)用.digest()方法獲取哈希字節(jié)數(shù)組;4.將字節(jié)數(shù)組轉(zhuǎn)換為十六進製字符串以便讀??;對於大文件等輸入,應(yīng)分塊讀取並多次調(diào)用.update();推薦使用SHA-256而非MD5或SHA-1以確保安全性。

CSS暗模式切換示例 CSS暗模式切換示例 Jul 30, 2025 am 05:28 AM

首先通過JavaScript獲取用戶系統(tǒng)偏好和本地存儲的主題設(shè)置,初始化頁面主題;1.HTML結(jié)構(gòu)包含一個按鈕用於觸發(fā)主題切換;2.CSS使用:root定義亮色主題變量,.dark-mode類定義暗色主題變量,並通過var()應(yīng)用這些變量;3.JavaScript檢測prefers-color-scheme並讀取localStorage決定初始主題;4.點擊按鈕時切換html元素上的dark-mode類,並將當前狀態(tài)保存至localStorage;5.所有顏色變化均帶有0.3秒過渡動畫,提升用戶

CSS下拉菜單示例 CSS下拉菜單示例 Jul 30, 2025 am 05:36 AM

是的,一個常見的CSS下拉菜單可以通過純HTML和CSS實現(xiàn),無需JavaScript。 1.使用嵌套的ul和li構(gòu)建菜單結(jié)構(gòu);2.通過:hover偽類控制下拉內(nèi)容的顯示與隱藏;3.父級li設(shè)置position:relative,子菜單使用position:absolute進行定位;4.子菜單默認display:none,懸停時變?yōu)閐isplay:block;5.可通過嵌套實現(xiàn)多級下拉,結(jié)合transition添加淡入動畫,配合媒體查詢適配移動端,整個方案簡潔且無需JavaScript支持,適合大

Python Parse Date String示例 Python Parse Date String示例 Jul 30, 2025 am 03:32 AM

使用datetime.strptime()可將日期字符串轉(zhuǎn)換為datetime對象,1.基本用法:通過"%Y-%m-%d"解析"2023-10-05"為datetime對象;2.支持多種格式如"%m/%d/%Y"解析美式日期、"%d/%m/%Y"解析英式日期、"%b%d,%Y%I:%M%p"解析帶AM/PM的時間;3.可用dateutil.parser.parse()自動推斷未知格式;4.使用.d

VSCODE設(shè)置。 JSON位置 VSCODE設(shè)置。 JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位於用戶級或工作區(qū)級路徑,用於自定義VSCode設(shè)置。 1.用戶級路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級路徑:項目根目錄下的.vscode/settings

崇高文本自動關(guān)閉HTML標籤 崇高文本自動關(guān)閉HTML標籤 Jul 30, 2025 am 02:41 AM

安裝Emmet插件可實現(xiàn)智能自動閉合標籤並支持縮寫語法;2.啟用"auto_match_enabled":true讓Sublime自動補全簡單標籤;3.使用Alt .(Win)或Ctrl Shift .(Mac)快捷鍵手動閉合當前標籤——推薦日常使用Emmet,輕量需求可用後兩種方式組合,效率足夠且設(shè)置簡單。

See all articles