Spring Boot Admin實(shí)踐詳解
在Spring Boot Actuator中提供很多像health、metrics等實(shí)時(shí)監(jiān)控接口,可以方便我們隨時(shí)跟蹤服務(wù)的性能指標(biāo)。Spring Boot默認(rèn)是開(kāi)放這些接口提供調(diào)用的,那么就問(wèn)題來(lái)了,如果這些接口公開(kāi)在外網(wǎng)中,很容易被不法分子所利用,這肯定不是我們想要的結(jié)果。在這里我們提供一種比較好的解決方案。
被監(jiān)控的服務(wù)配置
為被保護(hù)的http請(qǐng)求添加請(qǐng)求前綴
management: context-path: /example-context eureka: instance: status-page-url-path: ${management.context-path}/info health-check-url-path: ${management.context-path}/health
添加請(qǐng)求前綴
Spring Boot Admin在啟動(dòng)的時(shí)候會(huì)去eureka拉去服務(wù)信息,其中health與info需要特殊處理,這兩者的地址是根據(jù)status-page-url-path和health-check-url-path的值。
zuul網(wǎng)關(guān)配置
zuul保護(hù)內(nèi)部服務(wù)http接口
zuul: ignoredPatterns: /*/example-context/**
這里之所以不是/example-context/**,由于網(wǎng)關(guān)存在項(xiàng)目前綴,需要往前一級(jí),大家可以具體場(chǎng)景具體配置
Spring Boot Admin配置
配置監(jiān)控的指標(biāo)參數(shù)
spring:< 大專(zhuān)欄 Spring Boot Admin最佳實(shí)踐/span> application: name: monitor boot: admin: discovery: converter: management-context-path: /example-context routes: endpoints: env,metrics,dump,jolokia,info,configprops,trace,logfile,refresh,flyway,liquibase,heapdump,loggers,auditevents,hystrix.stream turbine: clusters: default location: monitor turbine: aggregator: clusterConfig: default appConfig: monitor-example #<2> clusterNameExpression: metadata['cluster']
與應(yīng)用配置的management.context-path相同
添加需要被監(jiān)控的應(yīng)用Service-Id,以逗號(hào)分隔
講解一下,通過(guò)創(chuàng)建一個(gè)請(qǐng)求前綴,可以在網(wǎng)關(guān)處使用前綴的方式將其排除,也就是外網(wǎng)將無(wú)法訪問(wèn)這些監(jiān)控API,同時(shí),內(nèi)網(wǎng)還是可以進(jìn)行加前綴的方式進(jìn)行訪問(wèn),為Spring Boot Admin提供了支持條件。management還支持port和ip的方式,但這兩種方式有局限性,如果在同一臺(tái)機(jī)器上部署多個(gè)服務(wù),就會(huì)存在端口占用或者其他問(wèn)題。這種方案還有一個(gè)好處,以上配置一旦確定以后,所有服務(wù)都不需要進(jìn)行特殊化處理,可以直接使用。
問(wèn)答:
問(wèn)題:Full authentication is required to access this resource
參考鏈接:https://github.com/joshiste/spring-boot-admin-samples
以上就是本次介紹的全部知識(shí)點(diǎn),感謝大家對(duì)腳本之家的支持。
相關(guān)文章
詳解Spring Boot的GenericApplicationContext使用教程
這篇教程展示了如何在Spring應(yīng)用程序中使用GenericApplicationContext 。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Java實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送
這篇文章主要介紹了Java實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送的相關(guān)資料,實(shí)例講解了java郵件發(fā)送實(shí)現(xiàn)方法,感興趣的小伙伴們可以參考一下2016-02-02Javaweb中Request獲取表單數(shù)據(jù)的四種方法詳解
本文主要介紹了Javaweb中Request獲取表單數(shù)據(jù)的四種方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04Java的JDBC中Statement與CallableStatement對(duì)象實(shí)例
這篇文章主要介紹了Java的JDBC中Statement與CallableStatement對(duì)象實(shí)例,JDBC是Java編程中用于操作數(shù)據(jù)庫(kù)的API,需要的朋友可以參考下2015-12-12java如何更改數(shù)據(jù)庫(kù)中的數(shù)據(jù)
這篇文章主要介紹了java如何更改數(shù)據(jù)庫(kù)中的數(shù)據(jù),修改數(shù)據(jù)庫(kù)是數(shù)據(jù)庫(kù)操作必不可少的一部分,使用Statement接口中的excuteUpdate()方法可以修改數(shù)據(jù)表中的數(shù)據(jù),感興趣的朋友跟隨小編一起看看吧2021-11-11