【微服务笔记11】微服务组件之Hystrix服务监控的三种方式

news2024/11/24 20:07:05

这篇文章,主要介绍微服务组件之Hystrix服务监控的三种方式。

目录

一、Hystrix服务监控

1.1、Actuator实现服务监控

(1)引入依赖

(2)开放hystrix.stream端点

(3)运行测试

1.2、dashboard实现服务监控

(1)引入依赖

(2)启动类启用dashboard

(3)添加dashboard配置

(4)运行测试

1.3、turbine实现服务监控

(1)创建turbine工程

(2)添加turbine配置

(3)启动类启用turbine

(4)运行测试


一、Hystrix服务监控

Hystrix组件提供了服务监控的功能,它可以监控每一次接口的调用情况,并且提供了一些可视化的查看界面,有三种方式可以查看监控情况,分别是:

  • 1、使用 Actuator 方式查看监控。
  • 2、使用Hystrix提供的dashboard查看监控。
  • 3、使用Hystrix提供的turbine查看监控。

1.1、Actuator实现服务监控

(1)引入依赖

  • 首先需要引入 hystrix 的依赖。
  • 其次还需要引入 actuator 的依赖,actuator 是SpringBoot提供的一个专门用于监控应用程序的starter启动器。
<!--hystrix 依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!-- 引入 actuator 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

(2)开放hystrix.stream端点

  • 在application.yml配置文件中,添加如下内容:
# 监控相关属性
management:
  endpoints:
    web:
      exposure:
        include: hystrix.stream # 开放 hystrix 监控访问的端口
  endpoint:
    hystrix:
      stream:
        enabled: true # 再次声明,开放 hystrix 监控访问的端口

(3)运行测试

启动工程,浏览器访问【http://IP地址:端口/actuator/hystrix.stream】地址,如下所示:

上图中一直显示【ping:】内容,这是hystrix处于监控状态,当有接口调用的时候,就会显示出具体的调用信息。

 到此,actuator实现服务监控就完成啦。

1.2、dashboard实现服务监控

actuator虽然可以实现hystrix的信息监控,但是这种方式不利于查看,满屏幕的字符,看着不太舒服,所以hystrix提供了一个可视化的界面,叫做:dashboard。

(1)引入依赖

<!-- 引入 hystrix 依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!-- 引入 actuator 依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 引入 dashboard 依赖 -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>

(2)启动类启用dashboard

引入dashboard依赖之后,还需要主动的告诉SpringBoot要启用dashboard功能,在启动类上面使用【@EnableHystrixDashboard】注解即可。

// 启用 hystrix 的 dashboard 功能
@EnableHystrixDashboard

(3)添加dashboard配置

  • 在application.yml配置文件中,添加如下内容:
# 监控相关属性
management:
  endpoints:
    web:
      exposure:
        include: hystrix.stream # 开放 hystrix 监控访问的端口
  endpoint:
    hystrix:
      stream:
        enabled: true
# 设置 dashboard 配置
hystrix:
  dashboard:
    proxy-stream-allow-list: 127.0.0.1,192.168.0.101 # 设置允许代理的地址

(4)运行测试

启动工程,浏览器访问【http://IP地址:端口/hystrix】地址,会看见如下页面:

在页面中,输入服务监控地址【http://IP地址:端口/actuator/hystrix.stream】,进入之后,就可以看到如下界面:

上图就是hystrix给我们提供的可视化监控界面。

1.3、turbine实现服务监控

dashboard已经很完美可以实现服务监控了,但是在微服务环境下,存在很多个应用程序,某一个应用程序都可以有一个dashboard用于服务监控,那么在这种情况下,就需要访问不同的微服务才可以查看不同的服务监控,这就不太方便了,所以可以使用turbine进行聚合监控(集群监控)。

所谓的聚合监控(集群监控),就是指:将多个微服务中的dashboard整合到一个监控页面里面,这样就只需要访问turbine就可以查看不同微服务的监控信息啦。

(1)创建turbine工程

这里我们新创建一个Springboot工程,专门用于turbine查看监控信息,并且引入turbine的依赖。

<!-- 引入 eureka 服务端依赖 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!-- 引入 dashboard 依赖 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<!-- 引入 turbine 依赖 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency>

(2)添加turbine配置

# 配置 turbine
turbine:
  combine-host-port: true
  cluster-name-expression: "'default'"
  aggregator:
    cluster-config: default
  app-config: hystrix-consumer,hystrix-provider # 需要使用turbine进行监控的微服务名称,多个采用逗号隔开

# 设置 dashboard 配置
hystrix:
  dashboard:
    proxy-stream-allow-list: 127.0.0.1,192.168.0.101 # 设置允许代理的地址

(3)启动类启用turbine

package com.gitcode.hystrix;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;

// 启用 Turbine
@EnableTurbine
@EnableHystrixDashboard
@EnableEurekaClient
@SpringBootApplication
public class TurbineApplication {
    public static void main(String[] args) {
        SpringApplication.run(TurbineApplication.class, args);
    }
}

(4)运行测试

启动turbine工程,两个hystrix的工程,然后浏览器访问turbine工程的【http://IP地址:端口/hystrix】,此时如下图所示:

在上图中的输入框填写【http://IP地址:端口/turbine.stream】地址,进入监控页面,第一次进入时候由于还没有访问接口,所以这个时候还没有监控信息,可以先访问一些接口,在查看监控信息。

到此,Hystrix服务监控就介绍完啦。

综上,这篇文章结束了,主要介绍微服务组件之Hystrix服务监控的三种方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/417022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分支机构防火墙里面的为PN怎么配置连接总部防火墙

环境&#xff1a; 分部&#xff1a;防火墙 8.0.48 AF-1000BB1510 总部&#xff1a;防火墙 8.0.75 AF-2000-FH2130B-SC 问题描述&#xff1a; 分支机构防火墙里面的为PN怎么配置连接总部防火墙 解决方案&#xff1a; 一、总部防火墙配置 1.sangfor 为pn配置 基本配置&a…

leetcode492. 构造矩形

题目描述解题思路执行结果leetcode 492. 构造矩形题目描述 作为一位web开发者&#xff0c; 懂得怎样去规划一个页面的尺寸是很重要的。 所以&#xff0c;现给定一个具体的矩形页面面积&#xff0c;你的任务是设计一个长度为 L 和宽度为 W 且满足以下要求的矩形的页面。要求&…

实例六:MATLAB APP design- 凸透镜成像光学研究小工具

该博文包含APP设计中Plot和Hold on的用法 在MATLAB APP design中,Hold on对应的代码为app.UIAxes.NextPlot=add; 其中app.UIAxes为坐标区域名字。 注:博文最后链接中包括MATLAB源代码及MATLAB APP design设计代码 一、APP 界面设计展示 注:在文本框中输入焦点和入射点…

含有分布式电源的三相不平衡配电网潮流计算【IEEE33节点】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Linux驱动IO篇——ioctl设备操作

文章目录ioctl命令编码规则ioctl系统调用过程驱动层实现应用层示例应用程序如果想要设置/获取驱动层的数据&#xff0c;一般是驱动提供一个ioclt接口&#xff0c;然后应用层调用。因此&#xff0c;学会在驱动中实现ioctl接口是必要的一项技能。 ioctl命令编码规则 想要定义一个…

每天一道大厂SQL题【Day20】华泰证券真题实战(二)表转置

每天一道大厂SQL题【Day20】华泰证券真题实战(二) 大家好&#xff0c;我是Maynor。相信大家和我一样&#xff0c;都有一个大厂梦&#xff0c;作为一名资深大数据选手&#xff0c;深知SQL重要性&#xff0c;接下来我准备用100天时间&#xff0c;基于大数据岗面试中的经典SQL题&…

SpringBoot配置加载机制

目录 前言 官方文档&#xff1a;SpringBoot配置加载机制 外化配置加载顺序 application.properties默认位置 命名风格 Spring Boot 中的 ConfigurationProperties 定制PropertySource 主要步骤 切入位置 加载自定义properties文件 自定义文件&#xff08;yapf.propert…

PM866-2 3BSE050201R1未来的工业将会更加智能化。

PM866-2 3BSE050201R1未来的工业将会更加智能化。 ​ 从工业到智慧工业&#xff0c;半导体厂商可以做什么&#xff1f; 从第一次工业革命开始到现在&#xff0c;工业领域发生了翻天覆地的变化&#xff0c;现在及未来的工业将会更加智能化。 意法半导体&#xff08;ST&#xf…

南卡全新开放式OE Pro蓝牙耳机震撼上市,行业新标杆,再迎巅峰

近日&#xff0c;Nank南卡全新发布了一款不入耳开放式蓝牙耳机&#xff0c;创新打破无限可能。根据目前透露&#xff0c;新发布的南卡OE Pro不管是音质还是佩戴舒适度都一如既往的好&#xff0c;比市场内其他品牌的开放式耳机要高出几倍&#xff0c;各大媒体猜测&#xff0c;Na…

AI作画生成器,AI作画的优缺点

AI作画生成器&#xff0c;AI作画生成是一种基于人工智能技术的艺术创作方式&#xff0c;其在过去几年中得到了广泛应用和迅速发展。本文将以此为题&#xff0c;从几个方面来探讨AI作画生成。 一.什么是AI作画生成 AI作画生成&#xff0c;顾名思义&#xff0c;指的是使用人工智…

wifi理论数据速率计算

经常看到这样的数据&#xff0c;下面是802.11n协议&#xff0c;2X2天线的理论数据速率。&#xff1a; 下面我们就来了解下这是怎么计算出来的。 影响因素 速率的计算需要考虑的因素包括&#xff1a;调制方式、码率、子载波个数&#xff08;带宽和协议模式不同&#xff0c;子载…

RK3399平台开发系列讲解(基础篇)延迟和定时器管理

🚀返回专栏总目录 文章目录 一、标准定时器1.1、jiffy和HZ1.2、定时器API二、高精度定时器(HRT)三、动态Tick/Tickless内核四、内核中的延迟和睡眠4.1、原子上下文4.2、非原子上下文沉淀、分享、成长,让自己和他人都能有所收获!😄 📢时间是继内存之后常用的资源之一。…

细说synchronized 加锁 this 和 class 的区别

介绍 synchronized 是 Java 语言中处理并发问题的一种常用手段&#xff0c;它也被我们亲切的称之为“Java 内置锁”&#xff0c;由此可见其地位之高。然而 synchronized 却有着多种用法&#xff0c;当它修饰不同对象时&#xff0c;其意义也是不同的&#xff0c;下面我们一起来…

macOS Monterey 12.6.5 (21G531) Boot ISO 原版可引导镜像

本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Linux 中创建可引导介质。 2023 年 4 月 10 日&#xff08;北京…

VIM编辑常用命令

本贴为学习小甲鱼【VIM快速入门】时的笔记&#xff0c;视频链接&#xff1a;【VIM快速入门】《带你学C带你飞》&#xff08;番外篇&#xff09; VIM是Linux系统下强大的编辑器&#xff0c;能够方便使用者提升效率。 VIM 具有 6 种基本模式和 5 种派生模式。 基本模式&#xff…

获取淘宝商品分类详情API,抓取淘宝全品类目API接口分享(代码展示、参数说明)

商品分类技巧 淘宝店铺分类怎么设置&#xff1f;我们登录卖家账号的时候&#xff0c;我们看到自己的商品&#xff0c;会想要给商品进行分类&#xff0c;一个好的分类可以帮助提高商品的曝光率。那么在给商品分类前&#xff0c;如果您毫无头绪&#xff0c;以下几点可以给您带来…

Vue.js 2.0 状态管理

类 Flux 状态管理的官方实现 由于多个状态分散的跨越在许多组件和交互间各个角落&#xff0c;大型应用复杂度也经常逐渐增长。为了解决这个问题&#xff0c;Vue 提供 vuex&#xff1a; 我们有受到 Elm 启发的状态管理库。vuex 甚至集成到 vue-devtools&#xff0c;无需配置即可…

详解linux多线程——互斥锁、条件变量、读写锁、自旋锁、信号量

一、互斥锁&#xff08;同步&#xff09; 在多任务操作系统中&#xff0c;同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于&#xff0c;公司部门里&#xff0c;我在使用着打印机打印东西的同时&#xff08;还没有打印完&#xff09;&#xff0c;别人刚好也在此…

华为ADS 2.0智驾助力阿维塔成为智能电动汽车领军品牌

随着科技的不断发展和智能化的迅速崛起&#xff0c;智能电动汽车已经成为当今汽车行业的热点话题。在这一领域&#xff0c;中国汽车品牌阿维塔科技近日引人瞩目地成为了首批搭载华为ADS 2.0智驾系统的品牌。在2023年4月16日举行的华为智能汽车解决方案发布会上&#xff0c;阿维…

HCIA第二次笔记

目录 OSI/RM七层参考模型——开放式的系统互联参考模型 核心——分层 TCP/IP模型——TCP/IP协议簇 应用层 应用层协议 封装与解封装 传输层 TCP协议和UDP协议的区别 TCP的报文 TCP的三次握手 TCP的四次挥手 TCP的四种可靠传输机制 OSI/RM七层参考模型——开放式的系…