APM分布式追踪之apache-skywalking-apm-6.1.0学习笔记

APM分布式追踪之apache-skywalking-apm-6.1.0学习笔记

3688发表于2019-06-10

skywalking是Apache下面的一个开源软件,主要用于分布式的性能追踪和监控,很好很强大。今天就把我之前玩的实验笔记分享给大家。

1、apache-skywalking-apm-6.1.0

2、Win7

3、ElasticSearch5.6.16

4、spring boot1.5.4

一、配置ElasticSearch

修改jvm参数

from clipboard

因为我的本机内存不够用,es默认jvm内存是2g。我这里改成512M。

-Xms512M

-Xmx512M

from clipboard

保存,启动es。bin目录下的elasticsearch.bat。

from clipboard

最后,如果成功启动可以通过:http://localhost:9200/,会有如下信息:

from clipboard

二、配置skywalking

修改config/application.yml

from clipboard

主要修改这core和strorage节点,存储改为使用elasticsearch

from clipboard

修改之后,在bin目录下找到startup.bat并双击启动。

from clipboard

启动成功后会打开两个app。一个是收集器,一个查看后台。

from clipboard


浏览器输入:http://localhost:8080,会出现登录界面。如下图:

from clipboard

默认账号:admin

默认密码:admin


from clipboard

进入后台,现在还是空的。因为还没有项目注册到这里面。


三、准备项目

创建一个spring boot项目。并添加一个Controller。

package com.lanhusoft.controller;

import org.msgpack.MessagePack;
import org.msgpack.template.Templates;
import org.msgpack.type.Value;
import org.msgpack.unpacker.Converter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * Copyright@www.lanhusoft.com.
 * Author:lanhusoft
 * Date:2017-10-13
 * Description:
 */
@RestController
public class TestController {

    @RequestMapping("hi2")
    public String say2() throws IOException {
        //MessagePackHelper.serializeObject();
        return "done";
    }
}

y

启动添加vm参数:-javaagent:D:\apache-skywalking-apm-6.1.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar

agent的路径请填写你本机的真实路径。注意:这里是关键,关乎到后面在skywalking后台能否看到数据结果。

from clipboard

启动这个spring boot项目。注意要在application.properties中改默认端口,因为上面8080端口已被skywalking占用了。

server.port=8081


from clipboard


这是可以访问一下之前我们加的controller。

from clipboard

四、验证效果

重新打开skywalking的后台。

from clipboard

可以看到有数据了。而且你还可以点追踪看到每次调用所花的时间。

from clipboard

这个功能很有用,当大型分布式微服架构,服务之间的调用会很复杂,形成一种调用链的关系,通过这个apm工具可以快速的找到系统的性能瓶颈,哪里调用慢。

这里只是简单的搭建体验了一下skywalking,更多知识和使用,以后有时间再分享。

五、遇到过的问题

1、Elasticsearch版本刚开始直接下的最新版本7.X,不行,Collector启动后总是自动关闭。后来换了ES5.6.16就好了。

2、Skywalking的配置文件config/application.yml一定要仔细。

小编蓝狐