zoukankan      html  css  js  c++  java
  • springcloud系列九 整合Hystrix Dashboard

    Hystrix Dashboard是Hystrix的仪表盘组件,主要用来实时监控Hystrix的各项指标信息,通过界面反馈的信息可以快速发现系统中存在的问题。

    整合快速体验:

    pom.xml(这个是F系之后的依赖)

        <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            </dependency>

    之前的使用:

    <dependency>   
     <groupId>org.springframework.cloud</groupId>  
      <artifactId>spring-cloud-starter-hystrix</artifactId>
    </dependency>
    <dependency>   
     <groupId>org.springframework.cloud</groupId> 
       <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
    </dependency><dependency>  
      <groupId>org.springframework.boot</groupId>  
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    启动类上加

    启动类配置@EnableHystrixDashboard注解

    启动类加配置:

    package com.cxy;
    
    import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
    import com.netflix.loadbalancer.BestAvailableRule;
    import com.netflix.loadbalancer.IRule;
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
    import org.springframework.cloud.client.loadbalancer.LoadBalanced;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
    import org.springframework.cloud.openfeign.EnableFeignClients;
    import org.springframework.context.annotation.Bean;
    import org.springframework.web.client.RestTemplate;
    
    /***
     * @ClassName: PersonApplication
     * @Description:
     * @Auther: 陈绪友
     * @Date: 2019/1/2816:30
     * @version : V1.0
     */
    @EnableCircuitBreaker
    @SpringBootApplication
    @EnableEurekaClient  //开启注解,注册服务
    @MapperScan("com.cxy")
    @EnableFeignClients
    @EnableHystrixDashboard
    public class UserApplication {
        public static void main(String[] args) {
    
            SpringApplication.run(UserApplication.class,args);
        }
       @Bean
       // @LoadBalanced  //使用负载均衡器Ribbon
        public RestTemplate getRestTemplate(){
            return new RestTemplate();
        }
    
        /*@Bean
        public IRule myRule(){
            //return new RoundRobinRule();//轮询
            // return new RetryRule();//重试
            return new BestAvailableRule();
        }*/
        @Bean
        public ServletRegistrationBean getServlet(){
            HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
            registrationBean.setLoadOnStartup(1);
            registrationBean.addUrlMappings("/actuator/hystrix.stream");
            registrationBean.setName("HystrixMetricsStreamServlet");
            return registrationBean;
        }
    }

    http://127.0.0.1:8082/actuator/hystrix.stream  这个路径配置千万不要写localhost

    不然控制台报错:

    java.net.UnknownHostException: loclahost
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_192]
        at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929) ~[na:1.8.0_192]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324) ~[na:1.8.0_192]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1277) ~[na:1.8.0_192]
        at java.net.InetAddress.getAllByName(InetAddress.java:1193) ~[na:1.8.0_192]
        at java.net.InetAddress.getAllByName(InetAddress.java:1127) ~[na:1.8.0_192]
        at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.resolveHostname(DefaultClientConnectionOperator.java:263) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:162) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:326) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:835) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) ~[httpclient-4.5.6.jar:4.5.6]
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) ~[httpclient-4.5.6.jar:4.5.6]
        at org.springframework.cloud.netflix.hystrix.dashboard.HystrixDashboardConfiguration$ProxyStreamServlet.doGet(HystrixDashboardConfiguration.java:177) ~[spring-cloud-netflix-hystrix-dashboard-2.1.0.RELEASE.jar:2.1.0.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) [tomcat-embed-core-9.0.14.jar:9.0.14]

    点击mointor

  • 相关阅读:
    201771010121-唐月晨-实验二 个人项目—《西北师范大学学生疫情上报系统》项目报告
    201771010121 唐月晨 实验一 软件工程准备—初读《构建之法—现代软件工程》
    Java配置环境——eclipse+jdk1.8+Mysql
    201771030110-李松谕 实验四 软件项目案例分析
    201771030110-李松谕 实验三 结对项目—《西北师范大学疫情防控信息系统》项目报告
    201771030110-李松谕 实验二 个人项目—《西北师范大学学生疫情上报系统》项目报告
    201771030110-李松谕 实验一 软件工程准备—<通读《现代软件工程—构建之法》有问>
    《2018面向对象程序设计(java)课程学习进度条》
    201771010120 苏浪浪 实验四 软件项目案例分析
    201771010120 苏浪浪 实验三 软件工程结对项目
  • 原文地址:https://www.cnblogs.com/xiufengchen/p/10333274.html
Copyright © 2011-2022 走看看