分布式系统调用链路监控 -(整合spring cloud sleuth 、zipkin、kafka、elasticsearch)
在微服务架构体系中,随着业务扩张,模块之间调用日益错综复杂,一个请求流程可能涉及到十多个甚至数十个的服务。这对我们进行错误排查及性能分析产生了阻碍。
分布式系统监控就是对每一次请求进行跟踪,进而明确每个请求所经过的应用、耗时等信息。本文我们整合spring cloud sleuth,zipkin,kafka,elasticsearch做简单的分布式监控架构搭建
软件安装
我们先安装所需软件,这里为方便读者,简单罗列下各个软件的简单使用步骤
zookeeper
- 安装 点击链接
https://archive.apache.org/dist/zookeeper/
选取版本自行下载 - 运行后台启动命令(直接单节点启动)
- 进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)分别执行:
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
kafka
- 安装 点击链接
http://kafka.apache.org/downloads
选取版本自行下载 - 运行后台启动命令(直接单节点启动)
sudo bin/kafka-server-start.sh config/server.properties
elasticsearch
- 安装 点击链接
https://www.elastic.co/downloads/past-releases
选取版本自行下载 - 运行后台启动命令(直接单节点启动)
- 进入安装文件夹
bin/elasticsearch &
服务搭建
在parent依赖管理项目中,我们先统一管理spring boot、spring cloud版本号及各个maven profile
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.