第6篇:使用spring boot admin + consul

why

使用spring boot admin 可以更方便監(jiān)控服務(wù)狀態(tài), 還可以監(jiān)控部署服務(wù)的各項(xiàng)信息, 例如JVM, 日志... 反正是服務(wù)監(jiān)控必備產(chǎn)品.

admin monitor 工程解讀

工程位于: https://gitee.com/xiaofeipapa/spring-cloud-demo
目錄是: admin-demo

增加項(xiàng)目依賴

在工程的pom中可以看到增加了如下依賴:


    <dependencies>
        <!--Admin-Server-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.3.1</version>
        </dependency>
    </dependencies>

我寫這篇博客的時(shí)間是 2021/3/8 , 當(dāng)前版本是 2.3.1 . Spring boot admin 有可能會(huì)和Spring 本身有包沖突, 所以要注意版本的問(wèn)題.

新增啟動(dòng)類

package org.xiaofeipapa.feimall.admin;

import de.codecentric.boot.admin.server.config.AdminServerHazelcastAutoConfiguration;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 作者: 小肥爬爬
 * 簡(jiǎn)書: http://www.reibang.com/u/db796a501972
 * gitee: https://gitee.com/xiaofeipapa
 * 郵箱: imyunshi@163.com
 * 您可以自由轉(zhuǎn)載此博客文章, 懇請(qǐng)保留原鏈接, 謝謝!
 **/
@SpringBootApplication
@EnableAdminServer
@EnableDiscoveryClient
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MonitorAdminApplication {

    public static void main(String[] args) {
        SpringApplication.run( MonitorAdminApplication.class, args );
    }
}

主要是多了個(gè) @EnableAdminServer 的注解, 沒(méi)什么太特殊的.

配置文件

##################
# 以下配置到consul #
##################
spring:
  application:
    name: monitor-admin

  boot:
    admin:
      discovery:
        ignored-services: consul,aliyun-*,baidu-*
  cloud:
    config:
      enabled: false
    consul:
      host: localhost
      port: 8500
      discovery:
        tags: management.context-path=/foo,health.path=/ping

#監(jiān)控監(jiān)控
management:
  endpoints:
    web:
      exposure:
        include: "*"
      path-mapping:
        health: /ping
      base-path: /foo
  endpoint:
    health:
      show-details: always

以上配置主要用于:

  1. 忽略 consul, aliyun, baidu ... 這些服務(wù). 特別是consul, 如果不忽略它會(huì)出錯(cuò).
  2. admin server 也是可以注冊(cè)到consul的, 它會(huì)自動(dòng)從consul 獲取當(dāng)前注冊(cè)的服務(wù).
  3. management 本身的配置

測(cè)試

依次啟動(dòng)各個(gè)服務(wù), 包括 MonitorAdminApplication 這個(gè)類, 然后訪問(wèn): localhost:8080, 就能看到:


image.png

在微服務(wù)間使用 admin client

server 和 client 模式

在上面的工程已經(jīng)可以看到 admin server的模式, 簡(jiǎn)單來(lái)說(shuō)server 模式就是一個(gè)網(wǎng)站, 可以讓你查看微服務(wù)的各項(xiàng)數(shù)據(jù). 但如果你點(diǎn)開(kāi)微服務(wù), 會(huì)發(fā)現(xiàn)只有很少數(shù)據(jù), 說(shuō)好的功能強(qiáng)大呢? 那是因?yàn)槲⒎?wù)并沒(méi)有實(shí)現(xiàn) admin 的 client 接口. 如果實(shí)現(xiàn)了client , 就能傳送準(zhǔn)確數(shù)據(jù)到 admin server 端.

修改 userApi 工程

修改pom


        <!--Admin-client-->
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.3.1</version>
        </dependency>

修改配置文件



  boot:
    admin:
      client:
        # 即 admin server 的地址
        url: http://localhost:8080
        instance:
          #默認(rèn)使用的是主機(jī)名注冊(cè),改為使用ip注冊(cè)
          prefer-ip: true

management:
  endpoints:
    web:
      exposure:
        #開(kāi)放所有頁(yè)面節(jié)點(diǎn)  默認(rèn)只開(kāi)啟了health锉矢、info兩個(gè)節(jié)點(diǎn)
        include: '*'
  endpoint:
    health:
      #顯示健康具體信息  默認(rèn)不會(huì)顯示詳細(xì)信息
      show-details: always

測(cè)試

重啟 userApi 工程, 然后訪問(wèn) localhost:8080 , 點(diǎn)進(jìn) userApi, 可以看到展示的信息豐富了許多:


image.png

最后

spring boot admin 還可以輕松集成 security 框架, 在登錄前加一個(gè)用戶/驗(yàn)證碼的驗(yàn)證頁(yè)面. 不過(guò)個(gè)人覺(jué)得不是特別必要, 在網(wǎng)上也很容易能查到集成的方法, 就不再贅述了.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灾部,一起剝皮案震驚了整個(gè)濱河市匾南,隨后出現(xiàn)的幾起案子敌土,更是在濱河造成了極大的恐慌,老刑警劉巖复凳,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耍休,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡键痛,警方通過(guò)查閱死者的電腦和手機(jī)炫彩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)絮短,“玉大人江兢,你說(shuō)我怎么就攤上這事《∑担” “怎么了杉允?”我有些...
    開(kāi)封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)席里。 經(jīng)常有香客問(wèn)我叔磷,道長(zhǎng),這世上最難降的妖魔是什么胁勺? 我笑而不...
    開(kāi)封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任世澜,我火速辦了婚禮,結(jié)果婚禮上署穗,老公的妹妹穿的比我還像新娘寥裂。我一直安慰自己嵌洼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布封恰。 她就那樣靜靜地躺著麻养,像睡著了一般。 火紅的嫁衣襯著肌膚如雪诺舔。 梳的紋絲不亂的頭發(fā)上鳖昌,一...
    開(kāi)封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音低飒,去河邊找鬼许昨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛褥赊,可吹牛的內(nèi)容都是我干的糕档。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼拌喉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼速那!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起尿背,我...
    開(kāi)封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤端仰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后田藐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荔烧,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年坞淮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茴晋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陪捷。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡回窘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出市袖,到底是詐尸還是另有隱情啡直,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布苍碟,位于F島的核電站酒觅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏微峰。R本人自食惡果不足惜舷丹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蜓肆。 院中可真熱鬧颜凯,春花似錦谋币、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至彼城,卻和暖如春诅蝶,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背募壕。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工调炬, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人舱馅。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓筐眷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親习柠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匀谣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容