您好,登錄后才能下訂單哦!
這篇文章主要介紹Spring Boot Admin的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
在Spring Boot Actuator中提供很多像health、metrics等實時監(jiān)控接口,可以方便我們隨時跟蹤服務(wù)的性能指標(biāo)。Spring Boot默認(rèn)是開放這些接口提供調(diào)用的,那么就問題來了,如果這些接口公開在外網(wǎng)中,很容易被不法分子所利用,這肯定不是我們想要的結(jié)果。在這里我們提供一種比較好的解決方案。
被監(jiān)控的服務(wù)配置
為被保護(hù)的http請求添加請求前綴
management: context-path: /example-context eureka: instance: status-page-url-path: ${management.context-path}/info health-check-url-path: ${management.context-path}/health
添加請求前綴
Spring Boot Admin在啟動的時候會去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)存在項目前綴,需要往前一級,大家可以具體場景具體配置
Spring Boot Admin配置
配置監(jiān)控的指標(biāo)參數(shù)
spring:< 大專欄 Spring Boot Admin最佳實踐/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,以逗號分隔
講解一下,通過創(chuàng)建一個請求前綴,可以在網(wǎng)關(guān)處使用前綴的方式將其排除,也就是外網(wǎng)將無法訪問這些監(jiān)控API,同時,內(nèi)網(wǎng)還是可以進(jìn)行加前綴的方式進(jìn)行訪問,為Spring Boot Admin提供了支持條件。management還支持port和ip的方式,但這兩種方式有局限性,如果在同一臺機(jī)器上部署多個服務(wù),就會存在端口占用或者其他問題。這種方案還有一個好處,以上配置一旦確定以后,所有服務(wù)都不需要進(jìn)行特殊化處理,可以直接使用。
以上是“Spring Boot Admin的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。