返回介绍

8.4 使用监控服务

发布于 2025-04-26 13:26:35 字数 2181 浏览 0 评论 0 收藏

分布式系统中运行着很多服务,必须有一个管理机制或方法,能够一目了然地随时了解各个服务的运行情况及其健康指数,以便及时应对已经出现或可能出现的故障,做出相应的策略或改造方案。使用 Spring Cloud 的监控服务,可以实时监控应用的运行情况。

8.4.1 创建监控服务器

监控服务是 Spring Cloud 工具集中的一个功能组件。要使用监控服务的功能,需要创建一个工程,用来构建一个监控服务器。首先创建一个 Maven 工程模块:hystrix,在工程的 Maven 依赖中引用如代码清单 8-21 所示的依赖配置。

代码清单 8-21 监控服务器的 Maven 依赖配置

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

然后创建一个主程序,如代码清单 8-22 所示。程序中使用注解 @EnableHystrix-Dashboard 启用监控功能,使用注解 @Controller 将该程序标注为一个控制器,并设定对根目录的访问,重定向到“/hystrix”位置上。

代码清单 8-22 监控服务主程序

@SpringBootApplication
@Controller
@EnableHystrixDashboard
public class HystrixApplication{
    @RequestMapping("/")
    public String home() {
        return "forward:/hystrix";
    }
    public static void main(String[] args) {
        SpringApplication.run(HystrixApplication.class, args);
    }
}

8.4.2 监控服务器测试

现在可以启动服务测试监控的效果。在实例工程中启动 discovery、hystrix、data、web 四个服务,然后在浏览器中输入网址: http://localhost:7979/

打开如图 8-7 所示的界面,这是监控服务器的控制台。然后,监控 web 服务的运行情况,在第一行输入框中输入 URL http://localhost:9001/hystrix.stream ,其他输入框使用缺省值,再单击“Moniter Stream”按钮,开始对 web 服务进行监控。

图 8-7 监控服务器首页

这时再按上一节的例子,打开另一个浏览器窗口使用 web 服务,在上面做一些操作,即打开用户列表后,单击查看,打开用户详细信息,等等。返回监控窗口,就可以看到如图 8-8 所示的监控界面。其中 Circuit 中显示了我们请求的服务 data 和请求的方法 getUserByName 及其各种性能指标,Thread Pools 也显示了我们请求的服务:UserService 的情况。

图 8-8 监控中 web 服务的正常情况

再仿照上一节的例子,关闭 data 服务,制造人为的故障,在 web 服务的窗口中单击查看,打开查看用户详细信息的界面,然后返回监控窗口中,就可以看到如图 8-9 所示的情况,这里看到 getUserByName 出现了 100%的故障。

图 8-9 监控中 web 服务的异常情况

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。