偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Spring Boot 應用監(jiān)控常見方案梳理

安全 應用安全
Spring Boot 中也提供了生產級的應用監(jiān)控方案,對于單體應用、微服務應用都有相應的解決方案,今天松哥就想來和大家捋一捋 Spring Boot 中的應用監(jiān)控方案都有哪些。

[[380259]]

應用監(jiān)控是我們在生產環(huán)境下一個非常重要的東西,運維人員不可能 24 小時盯著應用,應用掛了及時解決,這不現(xiàn)實。我們需要能夠實時掌握應用的運行數(shù)據(jù),以便提早發(fā)現(xiàn)問題,同時在應用掛掉的時候還能夠自動報警,這樣才能解放開發(fā)人員。

Spring Boot 中也提供了生產級的應用監(jiān)控方案,對于單體應用、微服務應用都有相應的解決方案,今天松哥就想來和大家捋一捋 Spring Boot 中的應用監(jiān)控方案都有哪些。

首先我們來捋一下應用監(jiān)控都需要哪些東西?其實就兩點:

  1. 信息采集器
  2. 數(shù)據(jù)可視化 UI

信息采集器會收集應用的健康、審計、指標、HTTP 請求等信息,并將之暴露出來,數(shù)據(jù)可視化 UI 則會通過儀表盤、圖形等展示這些數(shù)據(jù),并對數(shù)據(jù)進行分析、報警等處理。我們分別來看。

Spring Boot Actuator在 Spring Boot 項目中,我們使用的信息采集器主要就是 Spring Boot Actuator,這個模塊由 Spring Boot 官方提供,它包含了許多生產級別的功能,例如健康檢查、審計、指標收集、HTTP 請求追蹤等,Spring Boot Actuator 將這些信息收集起來后,通過 HTTP 和 JMX 兩種方式暴露給外部模塊。例如 Spring Boot Actuator 通過 /health 端點(endpoints)提供了應用的健康信息,開發(fā)者只需要訪問該端點就可以看到應用的健康信息,但是這些端點返回的數(shù)據(jù)是 JSON 格式的,不方便查看,也不方便分析,所以一般情況下,Spring Boot Actuator 都是和一些外部模塊一起使用。

Spring Boot Actuator

支持的端點主要有如下一些:

如果是 Web 應用,則再次基礎上還支持如下端點:

提到 Spring Boot Actuator,就還有一個東西需要和大家介紹,那就是 Micrometer,從 Spring Boot2.0 開始,Actuator 底層改為了 Micrometer。

當我們在一個 Spring Boot 項目中引入 Actuator 依賴之后,我們會發(fā)現(xiàn)它里邊包含了 Micrometer:

這個依賴又是干什么的呢?

Micrometer 為 Java 平臺上的性能數(shù)據(jù)收集提供了一個通用的 API,應用程序只需要使用 Micrometer 的通用 API 來收集性能指標即可,而 Micrometer 則會負責完成與不同監(jiān)控系統(tǒng)的適配工作,類似于一個 Adapter,有了這個 Adapter,切換監(jiān)控系統(tǒng)就變得非常容易。同時 Micrometer 還支持推送數(shù)據(jù)到多個不同的監(jiān)控系統(tǒng)。

而 Spring Boot Actuator 使用 Micrometer 與外部應用監(jiān)視系統(tǒng)進行集成,這樣一來,開發(fā)者只需要稍微配置一下就可以使其和外部應用監(jiān)視系統(tǒng)進行整合了。Micrometer 支持的監(jiān)控系統(tǒng)有:

  • AppOptics
  • Atlas
  • Datadog
  • Dynatrace
  • Elastic
  • Ganglia
  • Graphite
  • Humio
  • Influx
  • JMX
  • KairosDB
  • New Relic
  • Prometheus
  • SignalFx
  • Simple (in-memory)
  • StatsD
  • Wavefront

信息采集器這塊,老實說松哥見到的大部分項目都是用的 Spring Boot Actuator,似乎沒有其他更好的選擇。如果小伙伴們有用到其他方案,也可以留言討論。

接下來我們來看看一些常用的應用監(jiān)控可視化工具。

Spring Boot Admin

這個算是 Spring Boot 中最最正宗的應用監(jiān)控可視化工具了,看名字就知道有多正宗,當我們創(chuàng)建一個 Spring Boot 項目時,選擇依賴時候就有這個選項:

如果是單體應用很多人可能會選擇 Spring Boot Admin 作為監(jiān)控數(shù)據(jù)可視化工具,不過它也支持微服務應用的(可以通過 Eureka、Consul 等注冊中心獲取應用信息),只不過在微服務中,我們可能會更多的選擇 Grafana+Prometheus 組合。

Spring Boot Admin 主要包含如下功能:

  • 顯示應用健康信息。
  • 顯示應用運行的詳細信息,例如 JVM 和內存指標、數(shù)據(jù)源指標、緩存指標等等。
  • 顯示應用的構建信息。
  • 查看 JVM 系統(tǒng)和環(huán)境屬性
  • 查看 Spring Boot 配置屬性
  • 支持 Spring Cloud 中的端點刷新功能 /refresh-endpoint
  • 方便的日志級別管理功能
  • 可以與 JMX-beans 進行交互
  • 查看 Thread dump
  • 查看 http 請求
  • 查看計劃任務
  • 查看和刪除活動會話
  • 查看 Flyway/Liquibase 數(shù)據(jù)庫遷移
  • 下載 heapdump
  • 狀態(tài)更改通知
  • ...

可以看到,Spring Boot Admin 不僅僅是將 Actuator 接口中的數(shù)據(jù)進行可視化,還在此基礎上提供了分析、報警等功能。

Spring Boot Admin 的顯示界面如下:

Grafana+Prometheus

這個組合在微服務項目中比較常見,松哥之前錄制的 Spring Cloud 視頻里邊也有講到。

Prometheus 是一款開源的監(jiān)控 + 時序數(shù)據(jù)庫 + 報警軟件,由SoundCloud 公司開發(fā)的,在 CNCF 基金會托管并已成功孵化,不過這個 Prometheus 的 UI 比較簡單,用戶體驗不怎么好,現(xiàn)在都流行大屏監(jiān)控頁面,上面展示各種炫酷的圖表。所以在實際應用中,Prometheus 一般都是結合 Grafana 一起來使用,Grafana 也是一個開源的跨平臺度量分析和可視化 + 告警工具,它支持多種數(shù)據(jù)源,包括 Prometheus,Grafana 的 UI 就比較炫酷,如下:

當然,使用這套組合也離不開 Spring Boot Actuator。

小結

前面跟小伙伴們分享了 Spring Boot 應用監(jiān)控的主流方案,沒說具體用法,后面抽空松哥會和大家聊一聊具體用法。除了這些主流的方案之后,還有很多小眾的方案,松哥也見到有極少數(shù)項目團隊自研應用監(jiān)控方案。不過對于大多數(shù)的項目而言,這些現(xiàn)成的成熟方案無疑是最佳選擇。

好啦,今天就先和小伙伴們聊這么多,后面我們再來看具體用法~

本文轉載自微信公眾號「江南一點雨」,可以通過以下二維碼關注。轉載本文請聯(lián)系江南一點雨公眾號。

 

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2022-05-12 11:38:26

Java日志Slf4j

2022-02-09 20:39:52

Actuator應用監(jiān)控

2018-10-22 15:34:31

Spring Boo監(jiān)控視化

2020-11-10 09:19:23

Spring BootJava開發(fā)

2023-12-27 18:05:13

2019-05-14 14:27:21

跨庫分頁分庫數(shù)據(jù)

2022-05-23 11:35:16

jiekou冪等性

2022-05-18 08:32:05

服務監(jiān)控Prometheus開源

2010-01-14 16:48:29

交換機故障

2020-08-23 11:52:10

Docker容器技術

2022-01-04 06:50:12

數(shù)據(jù)摘要方法

2022-07-14 10:38:39

動態(tài)標簽Spring

2022-07-11 09:36:38

SpringJava開發(fā)

2025-05-27 03:22:00

分布式ID部署

2009-12-16 08:57:45

2018-11-07 09:01:13

Tomcat部署方式

2020-06-09 08:11:33

MESI協(xié)議MM

2025-07-11 01:45:00

API監(jiān)控Spring

2017-09-20 09:46:38

Spring BootSpring Clou內存

2010-08-16 16:49:30

DIV CSS居中
點贊
收藏

51CTO技術棧公眾號