@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)

SkyWalking搭建监控平台

      • 前言
      • 一. 初始化SkyWalking8.x(本地)
        • 1 修改配置
        • 2. 开启监控
      • 二. 远程监控开启
        • 1 修改配置
        • 2 启动jar包进行监控

前言

随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多个服务,而服务本身可能也会依赖其他服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,所以会深深的感受到 “银弹” 这个词是不存在的,每种架构都有其优缺点 。

最近在搞东西的时候突然老大要求做个平台监控,要什么

  • 性能分析再把指定的应用里的服务 使用情况 统计出来。
  • 使用情况指的是 : 调用次数 ,调用是否成功或失败 。调用耗时。
  • 服务器的cpu 内存 指定的磁盘。
  • jvm日志也放这里展示。

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第1张图片

好在我有skywalking分布式追踪系统,于是我就开始研究这个东西,确实很牛*做到了无代码侵入的监控平台集成,关键是还是国人开源的!
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第2张图片


废话不多说先挂个开源的github:github
下面先学会用,在学会原理是什么

一. 初始化SkyWalking8.x(本地)

下载地址

这里我们选择带有Mysql存储引擎的SkyWalking版本,大家各自选取对应的版本即可

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第3张图片
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第4张图片
ok下载完后在我们桌面解压后为如下
在这里插入图片描述
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第5张图片
skywalking主要通过代理探针来进行监控,agent很重要

由于默认是用h2来进行持久化信息的,我们这边可以改成Mysql来持久化监控信息

1 修改配置

找到config目录下的application.yml
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第6张图片
修改存储方式为mysql
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第7张图片
修改数据库jdbc连接信息
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第8张图片
下一步懂得都懂,那肯定就需要mysql-connector-java-8.0.16写入mysql的

下载地址:mysql-connector-java-8.0.16
提取码:xsom

将下载后的包放入oap-libs外部包内

去你的数据库创建一个swtest的库,然后回来bin目录执行以下脚本@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第9张图片
我们来看看数据库,已经创建了这么多表,牛逼,这我自己还分析个鬼啊,全交给人家吧
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第10张图片

2. 开启监控

上一步完成各项配置后,我们就要开始监控本地项目了,还记得上面提到的agent吗在本地环境就是一个探针,由于我的项目和监控都是放在本地的,本地可以不用复制一份到项目去,如果是远程监控,那就得重新复制一份到项目中去,而且还得改些配置,这个我们之后来做,先整个本地的玩玩

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第11张图片
记住当前当前agent的绝对路径,就是最长的那一串,这个我们之后有用

打开本地idea编辑VM options,加入如下一行,具体看图
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第12张图片

-javaagent:D:\sorf\ideaReo\IOT\src\main\java\com\fehead\Iot\agent\skywalking-agent.jar

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第13张图片
一切搞定切回,skyWalking目录下,启动startup.bat,要保证8080端口没被占哦
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第14张图片
打开localhost:8080端口看到如下界面

实例状态信息 CPU JVM
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第15张图片
全局界面监控
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第16张图片
调用链路追踪
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第17张图片
调用拓扑图
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第18张图片
还有一系列更牛逼的信息这里就不一一展示了,真的做到了代码零侵入,通过代理的方式监控

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第19张图片

二. 远程监控开启

由于监控与项目可能不在一台机子上,那我们开启远程监控就得先开启防火墙,这里就不演示开墙了,目前是一台服务器跑项目,一台跑监控

1 修改配置

首先因为,具体步骤跟以上差不多,修改完mysql持久化后,需要用代理跑一个jar包,那我们直接复制agent目录到另一台服务器的随便一个目录下,这里agent它默认是向本地发送监控请求,那我们就得修改一下,同时你可以指定自己的项目名

打开agent目录下的agent.config文件

可以修改如下your_Application为你自己的项目名
@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第20张图片
再修改如下IP@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第21张图片

2 启动jar包进行监控

在linux下可以直接输入以下

java -javaagent:/tmp/agent/agent/skywalking-agent.jar -Dskywalking.agent.service_name=你自己项目名

记住skywalking-agent.jar的路径一定为绝对路径

多个项目可以指定不同项目名来进行监控,但是agent可以复用同一个

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第22张图片

至此,监控平台已经搭建完成,在之后的章节会陆续介绍skywalking如何运作及原理,二次开发,大家先玩玩~~

@[TOC](SkyWalking8远程搭建监控平台,分布式链路追踪,看完不会你来*我)_第23张图片

你可能感兴趣的:(APM,分布式,链路追踪,APM,skywalking,远程监控平台)