日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Spring Boot Actuator自定義健康檢查教程

瀏覽:119日期:2023-06-30 10:38:06

健康檢查是Spring Boot Actuator中重要端點之一,可以非常容易查看應用運行至狀態。本文在前文的基礎上介紹如何自定義健康檢查。

1. 概述

本節我們簡單說明下依賴及啟用配置,展示缺省健康信息。首先需要引入依賴:

compile('org.springframework.boot:spring-boot-starter-actuator')

現在通過http://localhost:8080/actuator/health端點進行驗證:

{'status':'UP'}

缺省該端點返回應用中很多組件的匯總健康信息,但可以修改屬性配置展示詳細內容:

management: endpoint: health: show-details: always

現在再次訪問返回結果如下:

{ 'status': 'UP', 'components': { 'diskSpace': { 'status': 'UP', 'details': {'total': 214748360704,'free': 112483500032,'threshold': 10485760,'exists': true } }, 'ping': { 'status': 'UP' } }}

查看DiskSpaceHealthIndicatorProperties文件的源碼:

@ConfigurationProperties(prefix = 'management.health.diskspace')public class DiskSpaceHealthIndicatorProperties { /** * Path used to compute the available disk space. */ private File path = new File('.'); /** * Minimum disk space that should be available. */ private DataSize threshold = DataSize.ofMegabytes(10); public File getPath() { return this.path; } public void setPath(File path) { this.path = path; } public DataSize getThreshold() { return this.threshold; } public void setThreshold(DataSize threshold) { Assert.isTrue(!threshold.isNegative(), 'threshold must be greater than or equal to 0'); this.threshold = threshold; }}

上面結果顯示當前項目啟動的路徑 . ,報警值 為10M ,這些屬性都可以通過配置進行修改。

2. 預定義健康指標

上面Json響應顯示“ping”和“diskSpace”檢查。這些檢查也稱為健康指標,如果應用引用了數據源,Spring會增加db健康指標;同時“diskSpace”是缺省配置。

Spring Boot包括很多預定義的健康指標,下面列出其中一部分:

DataSourceHealthIndicator MongoHealthIndicator Neo4jHealthIndicator CassandraHealthIndicator RedisHealthIndicator CassandraHealthIndicator RabbitHealthIndicator CouchbaseHealthIndicator DiskSpaceHealthIndicator (見上面示例) ElasticsearchHealthIndicator InfluxDbHealthIndicator JmsHealthIndicator MailHealthIndicator SolrHealthIndicator

如果在Spring Boot應用中使用Mongo或Solr等,則Spring Boot會自動增加相應健康指標。

3. 自定義健康指標

Spring Boot提供了一捆預定義健康指標,但并沒有阻止你增加自己的健康指標。一般有兩種自定義類型檢查:

單個健康指標組件和組合健康指標組件。

3.1 自定義單個指標組件

自定義需要實現HealthIndicator接口并重新health()方法,同時增加@Component注解。假設示例應用程序與服務A(啟動)和服務B(關閉)通信。如果任一服務宕機,應用程序將被視為宕機。因此,我們將寫入兩個運行狀況指標。

@Componentpublic class ServiceAHealthIndicator implements HealthIndicator { private final String message_key = 'Service A'; @Override public Health health() {if (!isRunningServiceA()) { return Health.down().withDetail(message_key, 'Not Available').build();}return Health.up().withDetail(message_key, 'Available').build(); } private Boolean isRunningServiceA() {Boolean isRunning = true;// Logic Skippedreturn isRunning; }}

@Componentpublic class ServiceBHealthIndicator implements HealthIndicator { private final String message_key = 'Service B'; @Override public Health health() {if (!isRunningServiceB()) { return Health.down().withDetail(message_key, 'Not Available').build();}return Health.up().withDetail(message_key, 'Available').build(); } private Boolean isRunningServiceB() {Boolean isRunning = false;// Logic Skippedreturn isRunning; }}

現在,我們看到健康監控響應中增加的指標。ServerA狀態是UP,ServiceB是DOWN,因此整個監控檢測狀態為DOWN.

{ 'status': 'DOWN', 'components': { 'diskSpace': { 'status': 'UP', 'details': {'total': 214748360704,'free': 112483229696,'threshold': 10485760,'exists': true } }, 'ping': { 'status': 'UP' }, 'serviceA': { 'status': 'UP', 'details': {'Service A': 'Available' } }, 'serviceB': { 'status': 'DOWN', 'details': {'Service B': 'Not Available' } } }}3.2 自定義組合健康檢查

前面示例很容易查看各個指標各自的狀態。但有時需要基于幾個指標查看資源的狀態,則需要使用 HealthContributor ,該接口沒有定義方法,僅用于標記。如果一個服務有另外兩個動作組合進行實現,只有兩者同時工作該服務狀態才算正常。最后使用 CompositeHealthContributors組合多個指標:

public class ServiceAHealthIndicator implements HealthIndicator, HealthContributor {...}

下面定義組合健康檢查指標:

@Component('UserServiceAPI')public class UserServiceAPIHealthContributor implements CompositeHealthContributor { private Map<String, HealthContributor> contributors = new LinkedHashMap<>(); @Autowired public UserServiceAPIHealthContributor( ServiceAHealthIndicator serviceAHealthIndicator, ServiceBHealthIndicator serviceBHealthIndicator) { contributors.put('serverA', serviceAHealthIndicator); contributors.put('serverB', serviceBHealthIndicator); } /** * return list of health contributors */ @Override public Iterator<NamedContributor<HealthContributor>> iterator() { return contributors.entrySet().stream() .map((entry) -> NamedContributor.of(entry.getKey(), entry.getValue())).iterator(); } @Override public HealthContributor getContributor(String name) { return contributors.get(name); }}

現在我們使用serverA和serverB組合新的檢查UserServiceAPI。

4. 總結

本文我們學習了Spring Boot健康指標及相關配置、以及預定義的健康指標,同時介紹了如何自定義健康指標。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
香蕉视频成人在线观看| 国产精品免费大片| 婷婷久久一区| 一区二区电影| 国产情侣一区在线| 日韩精品诱惑一区?区三区| 久久要要av| 亚洲制服欧美另类| 久久精品一区二区国产| 久久一区二区三区喷水| 亚洲午夜免费| 麻豆国产欧美一区二区三区 | 青青国产精品| 精品国产美女a久久9999| 欧美日中文字幕| 日韩一区二区三区高清在线观看 | 日韩av片子| 六月天综合网| 久久亚洲人体| 午夜在线视频一区二区区别| 国产精品自拍区| 神马午夜久久| 欧美亚洲三区| 亚洲精品电影| 国产精品啊v在线| 亚洲高清av| 欧美日韩一区二区高清| 久久蜜桃精品| 老鸭窝一区二区久久精品| 亚洲资源av| 国产videos久久| 亚洲综合福利| 99久久精品国产亚洲精品| 91精品一区| aⅴ色国产欧美| 成人在线免费观看91| 亚洲精品在线国产| 婷婷精品视频| 精品欧美视频| 日韩精品亚洲专区| 欧美va亚洲va日韩∨a综合色| 国产丝袜一区| 噜噜噜躁狠狠躁狠狠精品视频| sm久久捆绑调教精品一区| 日韩午夜视频在线| 美女亚洲一区| 国产成人精品一区二区三区免费 | 久久99精品久久久野外观看| 视频一区中文字幕国产| 中文在线免费视频| 亚洲1区在线| 亚洲电影在线一区二区三区| 精品视频一区二区三区在线观看 | 日韩精品2区| 国产伦精品一区二区三区千人斩 | 在线国产一区二区| 高清日韩中文字幕| 国产剧情在线观看一区| 亚洲一区二区免费看| 亚洲涩涩在线| 麻豆精品新av中文字幕| 亚洲ab电影| 亚洲一区二区三区免费在线观看| 日韩欧美一区二区三区免费观看| 国产精品99久久免费| 亚洲精品伊人| 丝袜亚洲另类欧美| 九色精品91| 亚洲伦乱视频| 成人在线黄色| 精品欠久久久中文字幕加勒比| 国产日韩一区| 日韩二区在线观看| 老色鬼久久亚洲一区二区| 欧美日韩色图| 捆绑调教日本一区二区三区| 里番精品3d一二三区| 欧美久久一区二区三区| 亚洲香蕉视频| 男女性色大片免费观看一区二区| 亚洲精品网址| 欧美日韩激情| 免费不卡中文字幕在线| 亚洲黑丝一区二区| 久久精品高清| 91精品啪在线观看国产18| 亚洲一级少妇| 蜜桃精品在线| av高清不卡| 欧美sm一区| 亚洲天堂一区二区| 国产一区日韩一区| 91久久中文| 亚洲免费一区二区| 亚洲一区二区小说| 日韩欧美中文字幕一区二区三区| 日韩区欧美区| 国产日韩一区二区三区在线 | 98精品视频| www在线观看黄色| 精品久久久久久久| 日韩深夜视频| 亚洲午夜久久久久久尤物| 国产综合亚洲精品一区二| 欧美日韩免费观看一区=区三区 | 中文日韩欧美| 蜜臀av一区二区在线免费观看| 视频一区二区国产| 亚洲精品看片| 国产人成精品一区二区三| 国产精品美女午夜爽爽| 欧美成a人片免费观看久久五月天| 麻豆国产精品一区二区三区| 精品国产三区在线| 91精品韩国| 另类国产ts人妖高潮视频| 日韩三级精品| 麻豆国产欧美一区二区三区| 国产美女高潮在线| 欧美+日本+国产+在线a∨观看| 亚洲少妇在线| 日韩精品高清不卡| 精品一区不卡| 欧美99久久| 日本在线视频一区二区| 国产精品黄网站| 鲁鲁在线中文| 香蕉久久夜色精品国产| 欧美天堂一区| 天堂√中文最新版在线| 合欧美一区二区三区| 亚洲精一区二区三区| 国产精品一区二区三区www| 国产一区二区三区日韩精品| 日本精品在线中文字幕| 天堂成人国产精品一区| 国产欧美另类| 神马日本精品| 日本国产一区| 欧美韩日一区| 99国产精品私拍| 国产欧美日韩一区二区三区四区| 国产精品久久观看| 国产精品呻吟| 久久精品国产99国产精品| 欧美成人国产| 国产精品一卡| 成人av二区| 国产日韩一区二区三区在线播放 | 91九色精品国产一区二区| 色综合视频一区二区三区日韩 | 国产精品视频一区二区三区综合| 国产福利91精品一区二区| 在线一区电影| 欧美激情福利| 国产精品女主播一区二区三区| 国产日韩一区| 波多野结衣一区| 欧美aaaaaa午夜精品| 亚洲激情中文在线| 麻豆国产精品| 蜜桃av一区二区| 老牛影视精品| 日韩欧美中文在线观看| 日韩影院二区| 欧美一级一区| 欧美大黑bbbbbbbbb在线| 欧美一区在线观看视频| 日韩成人亚洲| 国产一精品一av一免费爽爽| 国产主播一区| 国产伦精品一区二区三区视频| 偷拍欧美精品| 久久中文字幕一区二区三区| 男女激情视频一区| 亚洲天堂资源| 国产日韩视频| 中文不卡在线| 1000部精品久久久久久久久| 国产精品1luya在线播放| 日韩亚洲精品在线| 国产一区二区亚洲| 婷婷综合国产| 999精品色在线播放| 国产精品mm| 日本综合精品一区| 伊人影院久久| 播放一区二区| 精品三区视频| 国产精品一区二区三区四区在线观看| 亚洲一区欧美二区| 日韩综合精品| 精品三级久久久| 国产精品亚洲欧美一级在线| 首页国产欧美日韩丝袜| 99精品网站| 日韩精品1区| 精品黄色一级片| 国产日韩精品视频一区二区三区| 乱人伦精品视频在线观看|