01. SkyWalking--介绍与安装

01. SkyWalking 介绍与安装

1. 介绍

1. 基本信息

SkyWalking 创建于2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Monitoring系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:

  • 分布式追踪和上下文传输
  • 应用、实例、服务性能指标分析
  • 根源分析
  • 应用拓扑分析
  • 应用和服务依赖分析
  • 慢服务检测
  • 性能优化

2. SkyWalking的主要部分及其功能

SkyWalking主要由三大部分组成:Agent,Collector,Web;

  • Agent:作用是使用JavaAgent字节码增强技术将Agent的代码织入程序中,完成Agent无代码侵入地获取程序内方法的上下文并进行增强和收集信息并发送给Collector;与Collector进行心跳,表明Agent客户端的存活。
  • Collector:作用是维护存活的Agent实例,并收集从Agent发送至Collector的数据,进行处理及持久化;
  • Web:作用是将Collector收集的参数进行不同维度的展示


    链路追踪的主要流程.png

2. 如何安装SkyWalking(Java)(本机)

  1. 在安装SkyWalking之前,需要选择数据的存在方式并进行搭建环境,SkyWalking支持两种存储方式:H2和ES
    如何安装ES?
  2. 获取Apache的最新发布的稳定版本或者下载github上面的源码在稳定版本的tag上进行编译
    完成之后会获取到如下图所示的文件结构
    SkyWalking-图1
  3. 安装collector模块
    修改collector的配置:找到config目录下的application.yml文件,找到以下的配置,
storage:
  elasticsearch:
    clusterName: CollectorDBCluster //修改集群名称为你的ES的集群名称
    clusterNodes: localhost:9300  //修改集群节点为你的ES的集群节点地址

然后启动bin目录下的startup.sh就可以将collector和Web模块启动起来了。访问本地的8080端口即可登录页面,账号密码都为admin

  1. 激活Agent模块
  • 修改Agent配置
#应用的唯一标示,以应用为粒度。
agent.application_code=Your_ApplicationName //改为你的项目名字
#collector的端口服务地址;
collector.servers=127.0.0.1:10800 //不用改变
  • 启动Agent
    1) 基于Tomcat的服务(SpringMvc)
    在tomcat的bin目录下的setenv.sh中增加如下命令行
    JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar"
    /usr/local/skywalking-agent/skywalking-agent.jar 这个代表的是skywalking-agent的jar的绝对路径
    2)基于JAR file的服务(SpringBoot)
    在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:
    java -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -jar yourApp.jar

然后重启服务,就可以看到页面上有数据了;如果发生了其他错误,请查看日志进行详细排查;collector的日志和Web的日志都是在SkyWalking-图1根目录的log目录之中(会在collector启动之后创建);Agent的目录是在agent目录之下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,958评论 6 342
  • 前言:由于翻译水平有限,难免有所疏漏。各位读者在本机搭建环境demo时请如有疑惑请联系:tienchen1990@...
    32442b7b969c阅读 10,855评论 1 2
  • 简介: pinpoint是开源在github上的一款APM监控工具,它是用Java编写的,用于大规模分布式系统监控...
    Anson前行阅读 1,995评论 0 7
  • 老子的道德经里说过:合抱之木生于毫末,九层之台起于累土,千里之行始于足下。大的始于小的,小的终会长大。道理简单易用...
    oulan阅读 169评论 0 0