自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十分鐘教你使用Prometheus監(jiān)控Spring Boot工程

開發(fā) 前端
Micrometer 為 Java 平臺上的性能數(shù)據(jù)收集提供了一個通用的 API,它提供了多種度量指標類型(Timers、Guauges、Counters等),同時支持接入不同的監(jiān)控系統(tǒng),例如 Influxdb、Graphite、Prometheus 等。這里我們使用micrometer-registry-prometheus針對prometheus的實現(xiàn)。

在從零開始:使用Prometheus與Grafana搭建監(jiān)控系統(tǒng)中,主要講解了如何使用Prometheus監(jiān)控系統(tǒng)資源,但是這遠遠不夠,因為最重要的業(yè)務系統(tǒng)相關指標還未監(jiān)控

在這篇分享如何在業(yè)務系統(tǒng)中使用Prometheus來監(jiān)控業(yè)務系統(tǒng)指標,業(yè)務系統(tǒng)使用Spring Boot構建

我們要做什么?

在本示例中我們會使用Prometheus監(jiān)控Spring Boot的各種指標,比如

  • ? http平均耗時
  • ? 當前 tomcat 連接數(shù)
  • ? tomcat 最大連接數(shù)
  • ? jvm相關指標
  • ? http 請求數(shù)
  • ? 系統(tǒng)運行時間

并在Grafana 進行展現(xiàn),效果如下

圖片圖片

關鍵技術介紹

我們會在spring boot 工程中引入micrometer-registry-prometheus、spring-boot-starter-actuator來實現(xiàn)指標的暴露,下面對這兩個組件進行一個介紹

micrometer-registry-prometheus

Micrometer它是Java生態(tài)中一個組件,可以把它理解為metric界的SLF4J。

Micrometer 為 Java 平臺上的性能數(shù)據(jù)收集提供了一個通用的 API,它提供了多種度量指標類型(Timers、Guauges、Counters等),同時支持接入不同的監(jiān)控系統(tǒng),例如 Influxdb、Graphite、Prometheus 等。這里我們使用micrometer-registry-prometheus針對prometheus的實現(xiàn)。

spring-boot-starter-actuator

Spring Boot Actuator是Spring Boot提供用于對應用系統(tǒng)進行自省和監(jiān)控的功能模塊,基于此開發(fā)人員可以方便地對應用系統(tǒng)某些監(jiān)控指標進行查看、統(tǒng)計、審計、指標收集等。Actuator提供了基于Http端點或JMX來管理和監(jiān)視應用程序。

系統(tǒng)配置

Spring Boot 工程配置

  1. 1. 添加 maven 依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
  1. 1. 在application.properties,開啟監(jiān)控的端點,這里我們的系統(tǒng)名稱為 backend
#監(jiān)控的端點
management.endpoints.web.exposure.include=*
#應用程序名稱,在prometheus 上會顯示
management.metrics.tags.application=${spring.application.name}
#tomcat 指標需要開啟
server.tomcat.mbeanregistry.enabled=true
  1. 1. 啟動服務查看,訪問actuator/prometheus接口,是否能獲取相關指標

圖片圖片

Prometheus 配置

  1. 1. 在prometheus.yml文件中進行配置業(yè)務系統(tǒng)采集點,5s 拉取一次指標,由于Prometheus server 部署在docker 中,所以訪問主機IP 用host.docker.internal
#業(yè)務系統(tǒng)監(jiān)控          
  - job_name: 'SpringBoot'
    # Override the global default and
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['host.docker.internal:8080']

圖片圖片

Grafana 配置

訪問https://grafana.com/grafana/dashboards/4701-jvm-micrometer/,并下載

圖片圖片

并在Grafana 導入,關聯(lián)Prometheus數(shù)據(jù)源

圖片圖片

這會還看不到數(shù)據(jù),因為Prometheus沒啟動,配置未生效

驗證

Prometheus驗證

啟動Prometheus,并訪問9093端口,查看是否能查詢到業(yè)務系統(tǒng)指標,比如jvm_memory_used_bytes

圖片圖片

Grafana 驗證

訪問我們導入的大屏,可以看到已收集到相關數(shù)據(jù),包括系統(tǒng)啟動時間、運行時間、tomcat 連接池信息、JVM相關信息等

圖片圖片

總結

以上我們介紹了如何使用Prometheus來監(jiān)控Spring Boot工程相關指標并使用Grafana 進行展現(xiàn),下一篇我們會將如何在Spring Boot自定義業(yè)務指標,并對關鍵指標進行監(jiān)控和告警。

責任編輯:武曉燕 來源: 架構成長指南
相關推薦

2009-10-09 14:45:29

VB程序

2022-04-13 22:01:44

錯誤監(jiān)控系統(tǒng)

2024-05-13 09:28:43

Flink SQL大數(shù)據(jù)

2020-12-17 06:48:21

SQLkafkaMySQL

2019-04-01 14:59:56

負載均衡服務器網(wǎng)絡

2024-12-13 15:29:57

SpringSpringBeanJava

2021-09-07 09:40:20

Spark大數(shù)據(jù)引擎

2022-06-16 07:31:41

Web組件封裝HTML 標簽

2023-04-12 11:18:51

甘特圖前端

2024-06-19 09:58:29

2012-07-10 01:22:32

PythonPython教程

2015-09-06 09:22:24

框架搭建快速高效app

2023-11-30 10:21:48

虛擬列表虛擬列表工具庫

2023-07-15 18:26:51

LinuxABI

2019-09-16 09:14:51

2024-11-07 16:09:53

2022-08-26 09:01:07

CSSFlex 布局

2023-10-12 09:31:27

SkyWalking微服務

2022-10-12 23:02:49

Calcite異構數(shù)據(jù)框架

2009-10-10 15:50:25

點贊
收藏

51CTO技術棧公眾號