SpringCloud:微服务利剑之APM平台(一)Skywalking

本文介绍了Skywalking,一个由国人吴晟创建的APM系统,专注微服务、云原生和容器环境。Skywalking提供分布式追踪、服务网格分析等功能,并在2019年成为Apache顶级项目。文章详细阐述了Skywalking的主要功能、特性、架构,以及如何在Spring Cloud环境中部署和使用Skywalking,包括ElasticSearch的Docker部署和Skywalking探针的集成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Skywalking概述
    Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能较为完善的APM(Application Performance Management)系统,2019年4月17日从Apache孵化器毕业,正式成为Apache顶级项目。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官方对自己介绍是专为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)架构而设计。

  2. Skywalking主要功能
    服务,服务实例,端点指标分析
    根本原因分析
    服务拓扑图分析
    服务,服务实例和端点依赖性分析
    慢服务检测
    性能优化
    分布式跟踪和上下文传播
    数据库访问指标、检测慢速数据库访问语句(包括SQL)
    告警

  3. Skywalking主要特性
    多种监控手段,语言探针和service mesh
    多语言自动探针,Java,.NET Core和Node.JS
    多种后端存储支持
    轻量高效
    模块化,UI、存储、集群管理多种机制可选
    支持告警
    优秀的可视化方案

  4. Skywalking架构简介
    先看一下官方提供的架构图,如图:

在这里插入图片描述

Skywalking总体由四个部分agent、collector、webapp-ui、storage组成。图10-11从上到下是应用层接入,可以使用无入侵性的agent探针接入,通过HTTP或者gRPC讲数据发送至Skywalking分析平台collector,collector对接受到的数据进行聚合分析,最后存储至storage中,这里支持多种存储方式,比较常用的有H2和ElasticSearch,最后可以由webapp-ui对所有的数据进行展示。

  1. Spring Cloud与Skywalking实战
    5.1 Skywalking部署构建
    在介绍实战之前,我们先简单介绍一下Skywalking部署构建方案。

这里存储方式笔者选择使用ElasticSearch,具体版本是6.5.0,ElasticSearch的构建方式选择使用Docker,直接使用Linux搭建有点复杂,不适合初学者,使用Docker构建简单方便。

笔者构建的一些前置条件:

java:1.8
CentOS:7.6

如果当前CentOS上没有Docker环境,可以使用下面的语句快速构建:

yum install docker

当构建成功后,可以使用下面的语句查看当前Docker的版本:

docker -vCOPY

笔者这里的输出是:

Docker version 1.13.1, build 7f2769b/1.13.1

安装好Docker以后,最好配置一下国内的镜像站,否则在网络不好的情况下可能出现Docker下载失败等情况,可以使用下面的语句来修改镜像地址:

vi /etc/docker/daemon.jsonCOPY

笔者这里使用的是阿里云的镜像加速,如下:

{
   
    "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}COPY

各位读者可以自己去阿里云上开通自己的镜像加速,具体不多做介绍。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值