熔断监控集群(Turbine)

Spring Cloud Turbine

上一章我们集成了Hystrix Dashboard使用Hystrix Dashboard可以看到单个应用内的服务信息,显然这是不够的,我们还需要一个工具能让我们汇总系统内多个服务的数据并显示到Hystrix Dashboard上,这个工具就是Turbine。

添加依赖

修改 spring-cloud-consul-monitor 的pom文件,添加 turbine 依赖包。

注意:因为我们使用的注册中心是Consul,所以需要排除默认的euraka包,不然会有冲突启动出错。

pom.xml

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
            <exclusions>
                 <exclusion>
                      <groupId>org.springframework.cloud</groupId>
                      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>

启动类

启动类添加 @EnableTurbine 注解,开启 turbine 支持,添加 @EnableDiscoveryClient 注解,把自己也作为服务注册到注册中心。

ConsuleMonitorApplication.java

package com.louis.spring.cloud.consul.monitor;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;

@EnableTurbine
@EnableHystrixDashboard
@EnableDiscoveryClient
@SpringBootApplication
public class ConsuleMonitorApplication {

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

修改配置

修改配置,配置注册服务信息,添加turbine配置。

application.yml

server:
  port: 8531
spring:
  application:
    name: spring-cloud-consul-monitor
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        serviceName: ${spring.application.name}    # 注册到consul的服务名称
turbine:
  instanceUrlSuffix: hystrix.stream    # 指定收集路径
  appConfig: spring-cloud-consul-consumer    # 指定了需要收集监控信息的服务名,多个以“,”进行区分
  clusterNameExpression: "‘default‘"    # 指定集群名称,若为default则为默认集群,多个集群则通过此配置区分
  combine-host-port: true    # 此配置默认为false,则服务是以host进行区分,若设置为true则以host+port进行区分

注册消费者

因为turbine收集信息是从注册中心获取相关服务或集群的,所以需要把监控目标也注册到注册中心。

修改 spring-cloud-consul-consumer,在启动类添加 @EnableDiscoveryClient 注解,注册服务。

修改配置文件,写入配置服务名称。

测试效果

依次启动 spring-cloud-consul-producer、spring-cloud-consul-consumer、spring-cloud-consul-monitor,访问 http://localhost:8500  查看注册中心管理界面。

确认服务调用无误之后, 访问 http://localhost:8531/hystrix/,输入 http://localhost:8531/turbine.stream,查看监控图表。

如下图所示,就是聚合多个Hytrix消费者的信息显示,由于我内存有限只启了一个消费者,所以看起来是一样的。

内存足够的话复制几分消费者项目,修改下启动端口号启动就行了。

原文地址:https://www.cnblogs.com/7788IT/p/10667116.html

时间: 2024-11-05 20:59:46

熔断监控集群(Turbine)的相关文章

Spring Cloud Hystrix理解与实践(一):搭建简单监控集群

前言 在分布式架构中,所谓的断路器模式是指当某个服务发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,这样就不会使得线程因调用故障服务被长时间占用不释放,避免故障的继续蔓延.Spring Cloud Hystrix实现了断路器,线程隔离等一系列服务保护功能,它是基于Netflix的开源框架Hystrix实现的. 目的不是介绍Hystrix的与原理.及其使用等(有时间也要记录啊),而是通过实战搭建一个简单的监控集群,使用Hystrix Dashboard仪表盘动态监控展示以此来加深对H

ElasticSearch 集群与x-pack监控集群分开部署

现在项目的集群因为分片较多,监控压力较大,所以研究了一下把监控数据集群分离的方法 因为license是base,目前内网环境并没有添加http认证,所以关于认证部分的设置没有研究 被监控集群A,一共5个节点:192.168.4.1~192.168.4.5 监控集群,一共2个节点:192.168.4.101~192.168.4.102 kibana在单独节点:192.168.4.111 在集群A中每个节点的elasticsearch.yml中添加 xpack.monitoring.exporter

nagios新增监控集群、卸载监控集群批量操作

1.一定要找应用侧确认每台节点上需要监控的进程,不要盲目以为所有hadoop集群的zk.journal啥的都一样,切记! 2.被监控节点只需要安装nagios-plugin和nrpe,依赖需要安装xinetd 3.确认被监控节点上没有安装过nagios 4.确认被监控节点间.被监控节点和nagios server间的互信 5.开始 5-1 选择一个同操作系统的集群a的一个节点an,目标集群b ssh an for dn in cluster{an..b1} do echo "$dn is con

用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)

创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持. 本章重点讨论 Kubernetes 常用的监控方案,下一章会讨论日志管理. Weave Scope Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而下的集群

用 Heapster 监控集群

Heapster 是 Kubernetes 原生的集群监控方案.Heapster 以 Pod 的形式运行,它会自动发现集群节点.从节点上的 Kubelet 获取监控数据.Kubelet 则是从节点上的 cAdvisor 收集数据. Heapster 将数据按照 Pod 进行分组,将它们存储到预先配置的 backend 并进行可视化展示.Heapster 当前支持的 backend 有 InfluxDB(通过 Grafana 展示),Google Cloud Monitoring 等.Heapst

Kubernetes 使用 Weave Scope 监控集群(十七)

目录 一.安装 二.使用 Scope 2.1.拓扑结构 2.2.在线操作 2.3.强大的搜索功能 创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其职,有足够的资源满足应用的需求.Kubernetes 是一个复杂系统,运维团队需要有一套工具帮助他们获知集群的实时状态,并为故障排查提供及时和准确的数据支持. 一.安装 Weave Scope 是 Docker 和 Kubernetes 可视化监控工具.Scope 提供了至上而

kubernetes之收集集群的events,监控集群行为

一.概述 线上部署的k8s已经扛过了双11的洗礼,期间先是通过对网络和监控的优化顺利度过了双11并且表现良好.先简单介绍一下我们kubernetes的使用方式: 物理机系统:Ubuntu-16.04(kernel 升级到4.17) kuberneets-version:1.13.2 网络组件:calico(采用的是BGP模式+bgp reflector) kube-proxy:使用的是ipvs模式 监控:prometheus+grafana 日志: fluentd + ES metrics: m

编写监控脚本,监控集群内所有服务存活状态,内存、磁盘剩余率检测,异常则发送报警邮件

发送邮件Python程序 #!/usr/bin/python # -*- coding: UTF-8 -*- import sys import smtplib import email.mime.multipart import email.mime.text server = 'smtp.163.com' port = '25' def sendmail(server,port,user,pwd,msg): smtp = smtplib.SMTP() smtp.connect(server,

大数据高可用集群环境安装与配置(08)——安装Ganglia监控集群

1. 安装依赖包和软件 在所有服务器上输入命令进行安装操作 yum install epel-release -y yum install ganglia-web ganglia-gmetad ganglia-gmond –y 2. 在master服务器上配置监控端 vi /etc/ganglia/gmetad.conf 修改下面内容 data_source "server" 50 master:8649 master-backup:8649 node1:8649 node2:8649