成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringBoot + Prometheus:打造高效監控系統

開發 開發工具
隨著微服務架構的流行,對服務的監控和管理變得尤為重要。Prometheus作為一個開源的監控和告警工具,以其強大的數據采集、存儲和查詢能力,受到了眾多開發者的青睞。

引言

隨著微服務架構的流行,對服務的監控和管理變得尤為重要。Prometheus作為一個開源的監控和告警工具,以其強大的數據采集、存儲和查詢能力,受到了眾多開發者的青睞。

Spring Boot作為Java領域快速構建微服務的框架,與Prometheus的結合可以實現對Spring Boot應用的實時監控。

本文將介紹如何使用Prometheus監控Spring Boot應用。

一、 Prometheus 簡介

Prometheus 是一個開源的系統監控和警報工具包,它通過采集和存儲指標(metrics),提供了強大的數據查詢語言,可以幫助我們分析和理解應用程序的行為。Prometheus 的核心組件是 Prometheus Server,它負責采集監控指標并提供查詢接口。

Prometheus 官網:https://prometheus.io/

項目 github 地址:https://github.com/prometheus/prometheus

二、 Spring Boot Actuator

Spring Boot Actuator 是 Spring Boot 提供的一系列用于監控和管理 Spring Boot 應用的工具。它提供了許多端點(endpoints),例如 /health、/info、/metrics 等,這些端點可以公開應用的內部信息,如健康狀態、配置信息和度量指標。關注公眾號:碼猿技術專欄,回復關鍵詞:1111 獲取阿里內部Java性能調優手冊!

三、 集成 Prometheus 和 Spring Boot

要將 Prometheus 與 Spring Boot 應用集成,我們需要執行以下步驟:

3.1 添加依賴

首先,將 Spring Boot Actuator 和 Micrometer Prometheus Registry 添加到項目的依賴中。

  • Actuator 提供了一系列內置端點,用于顯示運行應用的性能信息,如健康狀況、指標等。
  • Micrometer Prometheus registry 會將這些指標格式化為 Prometheus 可讀格式。
<dependencies>
    <!-- Spring Boot Actuator -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
        <version>2.7.15</version>
    </dependency>
    <!-- Micrometer Prometheus Registry -->
    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
        <version>1.9.14</version>
    </dependency>
</dependencies>

3.2 配置 Actuator

接下來,application.yml 文件中配置 Actuator 以暴露 Prometheus 端點:

management:
  endpoints:
    web:
      exposure:
        include: '*'
  metrics:
    export:
      prometheus:
        enabled: true

其他配置屬性:

management.endpoints.web.exposure.include=* # 暴露所有端點
management.metrics.export.prometheus.enabled=true #啟用Prometheus導出器
management.endpoints.web.base-path=“/status” # 將/actuator/xxx修改為/status/xxx,防止被猜到
management.endpoints.server.request.metric-name=“application:request” # 自定義接口指標名
management.server.port=10001 #指定端口,默認跟server.port一樣,可以防止被猜到

3.3 啟動 Prometheus

下載并運行 Prometheus Server??梢詮?Prometheus官網 下載適用于您操作系統的版本。

1.docker 方式 拉取安裝鏡像文件

docker pull prom/prometheus

2.創建并運行容器

docker run --name prometheus -d -p 9090:9090 prom/prometheus

對于需要自定義配置的部署,可以將主機上的自定義 prometheus.yml 文件掛載到容器中:

docker run -d --name prometheus -p 9090:9090 -v D:\developsoft\docker\DockerDesktopWSL\data\prometheus\prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

3.瀏覽器訪問 http://localhost:9090

圖片圖片

3.4 配置 Prometheus

拷貝 prometheus.yml 文件到宿主機 :

docker cp prometheus:/etc/prometheus/prometheus.yml  D:\developsoft\docker\DockerDesktopWSL\data\prometheus\prometheus.yml

修改 Prometheus 的配置文件 prometheus.yml,添加 Spring Boot 應用作為目標(target):

scrape_configs:
  - job_name: 'spring-boot-application'
    metrics_path: 'prometheus-demo/actuator/prometheus'
    scrape_interval: 15s
    static_configs:
      - targets: ['192.168.10.108:8091']

如上,localhost:8080 應替換為 Spring Boot 應用相應的 宿主機 和端口。

  • scrape_interval 指定 Prometheus 從應用中抓取指標的頻率。
  • metrics_path 中 prometheus-demo為 springboot 應用的contextPath,/actuator/prometheus 為默認路徑

3.5 訪問監控數據

啟動 Spring Boot 應用后,Prometheus 將定期從 /actuator/prometheus 端點抓取指標數據。

四、 Grafana 可視化指標

雖然 Prometheus 提供了基本的數據查詢和展示功能,但通常我們會使用 Grafana 來實現更豐富的數據可視化。Grafana 支持 Prometheus 作為數據源,可以方便地創建儀表板展示監控數據。

4.1 安裝 Grafana

docker 方式 拉取安裝鏡像文件

docker pull grafana/grafana

創建并運行容器

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

瀏覽器訪問 http://localhost:3000

默認用戶名/密碼:admin/admin

圖片圖片

4.2 配置數據源

在 Grafana 中配置 Prometheus 作為數據源,指向 Prometheus Server 的地址。

圖片圖片

4.3 創建儀表板

創建新的儀表板,并添加面板來展示關心的監控指標。

圖片圖片

  • 點擊左側邊欄的圖標,選擇 “Dashboard”,創建一個新的儀表盤。
  • 在儀表盤中添加一個全新的面板。在這里,選擇要顯示的指標,決定可視化類型(圖表、儀表、表格等),并自定義面板的外觀。
  • 選擇 Prometheus 記錄源,并使用 Prometheus 查詢語言 (PromQL) 選擇希望可視化的指標。例如,要顯示 HTTP 請求的消耗,可以使用 price(http_requests_total[5m]) 這樣的查詢。
  • 保存面板和儀表盤??梢詣摻ūM可能多的面板,以可視化 Spring Boot 應用中的特殊指標。

五、 自定義監控指標

除了 Spring Boot Actuator 提供的內置指標,我們還可以通過 Micrometer 添加自定義監控指標,以監控特定的業務邏輯或性能瓶頸。

5.1 添加自定義指標

在 Spring Boot 應用中,使用 Micrometer 的 API 添加自定義指標:

import io.micrometer.core.instrument.Counter;
import io.micrometer.core.instrument.MeterRegistry;

@RestController
publicclass CustomMetricsController {
    privatefinal Counter ordersCounter;

    public CustomMetricsController(MeterRegistry registry) {
        this.ordersCounter = Counter.builder("orders_count")
                                    .description("The total number of orders")
                                    .register(registry);
    }

    @GetMapping("/order")
    public String createOrder() {
        ordersCounter.increment();
        return"Order created";
    }
}

5.2 在 Grafana 中展示自定義指標

在 Grafana 中,可以像展示其他 Prometheus 指標一樣展示自定義指標。

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2025-03-11 00:25:00

Springmetrics數據

2025-02-24 09:30:00

日志系統系統開發

2013-09-26 21:50:11

RIILIT綜合監控

2023-09-06 08:46:47

2020-12-30 08:09:46

運維Prometheus 監控

2022-05-02 18:15:04

KubernetesLinux開源

2022-11-08 00:00:00

監控系統Prometheus

2018-09-27 08:59:29

2025-06-26 04:10:00

2020-12-29 10:45:22

運維Prometheus-監控

2013-07-23 17:30:24

局域網監控

2025-02-28 08:03:45

2016-03-16 16:54:46

視頻監控系統華為中國合作伙伴大會

2020-12-28 10:13:32

運維Prometheus監控

2022-06-20 12:17:06

運維監控數據

2022-07-29 21:23:54

Grafana微服務

2015-04-23 15:51:50

云化監控解決方案華為

2010-06-23 11:41:00

高校企業高效數據中心

2022-05-18 08:32:05

服務監控Prometheus開源

2023-12-29 08:01:52

自定義指標模板
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合色网站 | 国产精品福利视频 | 天天爽天天操 | 美女视频一区 | 亚洲日日夜夜 | 亚洲视频在线观看 | 国产精品欧美一区二区三区不卡 | 成人免费看黄网站在线观看 | 亚洲国产精品久久久久 | 中文字幕在线一区 | 国产精品免费大片 | 国产一卡二卡三卡 | 国产精品久久久久久久久久久免费看 | 国产精品区二区三区日本 | 精品视频一区在线 | 精品日本中文字幕 | 日韩中文字幕免费 | 久草新视频 | 蜜臀久久99精品久久久久野外 | 中文日韩在线 | 国产欧美日韩在线一区 | 天天看天天爽 | 婷婷色在线 | 精品视频999 | 国产精品亚洲成在人线 | 亚洲欧美激情精品一区二区 | m豆传媒在线链接观看 | 日韩电影a | 青青草华人在线视频 | 中文一区 | 99久久婷婷国产综合精品电影 | 日韩一区二区三区在线观看 | 欧美激情一区 | 色频 | 精品欧美一区免费观看α√ | 成人深夜福利在线观看 | 国产精品久久久久久影视 | 国产精品欧美一区二区三区不卡 | 成人免费观看男女羞羞视频 | 亚洲综合色视频在线观看 | 超级碰在线 |