SpringCloud(5):快速搭建你的監(jiān)控中心

Spring Boot Admin
實例生命狀態(tài)

實例的細節(jié)信息

實例的信息清單

Spring Boot Admin

看到這幾個頁面是不是覺得還是蠻炫酷的枝恋,畢竟是Spring自家的產(chǎn)品,做的還是可以的。
我們就來簡易的搭一下這個監(jiān)控中中心

1. 新建Springboot項目

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
        </dependency>
        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-server-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <!--Spring Security-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

2.啟動類注解配置

@SpringBootApplication
@EnableAdminServer
public class MonitorApplication {

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

@EnableAdminServer:標明組件名稱
用過這么多Spring的組件之后义锥,我們應該是對這種類似的注解已經(jīng)見過很多次了。

3.SpringSecurity 的配置類

/**
 * @Author:LiuPu
 * @Date:2018/9/26 14:48
 * @Description:
 * @Version 1.011
 */
@Configuration
public class SecuritySecureConfig extends WebSecurityConfigurerAdapter{
        private final String adminContextPath;

        public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
            this.adminContextPath = adminServerProperties.getContextPath();
        }

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            // @formatter:off
            SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
            successHandler.setTargetUrlParameter("redirectTo");

            http.authorizeRequests()
                    .antMatchers(adminContextPath + "/assets/**").permitAll()
                    .antMatchers(adminContextPath + "/login").permitAll()
                    .anyRequest().authenticated()
                    .and()
                    .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
                    .logout().logoutUrl(adminContextPath + "/logout").and()
                    .httpBasic().and()
                    .csrf().disable();
            // @formatter:on
        }

    }

WebSecurityConfigurerAdapter:優(yōu)先級高于ResourceServerConfigurer,用于保護oauth相關的endpoints,同時主要作用于用戶的登錄(form login碉熄,Basic auth )WebSecurityConfigurerAdapter是默認情況下Spring security的http配置;ResourceServerConfigurerAdapter是默認情況下spring security oauth 的http配置肋拔。

WebSecurityConfigurerAdapter部分源碼:

public abstract class WebSecurityConfigurerAdapter implements WebSecurityConfigurer<WebSecurity> {
          protected void configure(AuthenticationManagerBuilder auth) throws Exception {
                  ...... 
    }
          protected void configure(WebSecurity web) throws Exception {
                  ......
    } 
          protected void configure(HttpSecurity http) throws Exception {
                 ........
      }
}

4.配置文件

server.port=18080
spring.application.name=monitor
eureka.client.service-url.defaultZone=http://localhost:10000/eureka/
management.endpoints.web.exposure.include=refresh,health,info,env,loggers,metrics,trace,dump
management.endpoint.health.show-details=always
spring.security.user.name=aboyliupu
spring.security.user.password=lp1234

eureka.instance.metadata-map.user.name=aboyliupu
eureka.instance.metadata-map.user.password=lp1234

這里有一個細節(jié)需要說明一下:
SpringBoot 2.0 默認是關閉了自帶的一些接口锈津,比如說實例的健康狀態(tài),心跳之類的
management.endpoints.web.exposure.include=refresh,health,info,env,loggers,metrics,trace,dump
這里需要開放一些端口
eureka.client.service-url.defaultZone=http://localhost:10000/eureka/:把實例注冊到注冊中心
spring.security.user.name=aboyliupu
spring.security.user.password=lp1234
eureka.instance.metadata-map.user.name=aboyliupu
eureka.instance.metadata-map.user.password=lp1234:
登錄的賬號和密碼及其配置

5.關于SpringSercurity的配置

在整個實例種凉蜂,SpringSercurity這么龐大的框架其實只是用到了其作用的九牛一毛----登錄攔截.
如果細說琼梆,這個登錄界面有沒有用呢?俗話說的好窿吩,防君子不防小人茎杂,這個就要看字自己斟酌。

6.總結

我們搭這樣一個監(jiān)控中心的意義是什么纫雁?
比如說煌往,你們公司的項目使用的是SOA框架,在入口上的軟硬件上做了Nginx+服務器集群先较,同時在軟件上也做了集群携冤,例如注冊中心集群.....
盡管我們擁有這么完美的熔斷機制和預防機制,但是實例出了問題我們還是需要去解決問題闲勺。這個時候監(jiān)控中心監(jiān)測實例健康和心跳的作用就起了大作用了曾棕。我們就能一眼看出是哪些實例掛掉了。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末菜循,一起剝皮案震驚了整個濱河市翘地,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌癌幕,老刑警劉巖衙耕,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異勺远,居然都是意外死亡橙喘,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門胶逢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來厅瞎,“玉大人,你說我怎么就攤上這事初坠『汪ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵碟刺,是天一觀的道長锁保。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么爽柒? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任吴菠,我火速辦了婚禮,結果婚禮上霉赡,老公的妹妹穿的比我還像新娘橄务。我一直安慰自己,他們只是感情好穴亏,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布蜂挪。 她就那樣靜靜地躺著,像睡著了一般嗓化。 火紅的嫁衣襯著肌膚如雪棠涮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天刺覆,我揣著相機與錄音严肪,去河邊找鬼。 笑死谦屑,一個胖子當著我的面吹牛驳糯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播氢橙,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼酝枢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了悍手?” 一聲冷哼從身側響起帘睦,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎坦康,沒想到半個月后竣付,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡滞欠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年古胆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筛璧。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡赤兴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出隧哮,到底是詐尸還是另有隱情,我是刑警寧澤座舍,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布沮翔,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏采蚀。R本人自食惡果不足惜疲牵,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榆鼠。 院中可真熱鬧纲爸,春花似錦、人聲如沸妆够。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽神妹。三九已至颓哮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸵荠,已是汗流浹背冕茅。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蛹找,地道東北人姨伤。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像庸疾,于是被迫代替她去往敵國和親乍楚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361

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