目录

1.搭建ES

2.搭建Skywalking 

1.安装java

2.解压skywalking压缩包

3.修改配置文件 application.yml

 4.修改配置文件 webapp/webapp.yml

5.支持springcloud gateway :

6.启动Skywalking OAP:

7.启动Skywalking UI服务:

3.微服务使用skywalking

参考文章:


1.搭建ES

在本文中,我们需要将skywalking采集到的数据导入到ES中,所以需要首先安装ES,我们用的是ES集群。

ES集群搭建文档:华为云contos7系统部署ES集群--3个主节点_wdquan19851029的专栏-CSDN博客

ES单机搭建文档 :

centos7安装ELK-单机版_wdquan19851029的专栏-CSDN博客

2.搭建Skywalking 

有了ES之后,我们开始搭建Skywalking。

1.安装java

jdk压缩包解压(自己去下载):

tar zxvf  jdk1.8.0_181.tar

配置环境变量:

修改/etc/profile文件,在文件最后加上:

export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置生效:

source /etc/profile

查看java版本:

[root@ecs-dev-0003 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@ecs-dev-0003 ~]# javac -version
javac 1.8.0_181
[root@ecs-dev-0003 ~]# 

2.解压skywalking压缩包

tar zxvf apache-skywalking-apm-bin-es7.tar.gz

3.修改配置文件 application.yml

修改配置文件config/application.yml

将其中的storage -> selector改为 “elasticsearch7”,本文中用到的就是ES7.8.1

storage:
    selector: ${SW_STORAGE:elasticsearch7}

参数说明: 

参数说明
selector存储选择器。本文选在ES7
nameSpace命名空间。Elasticsearch实例中,所有索引的命名会使用此参数值作为前缀。本人查了查资料,这里设置了ES集群的名字
clusterNodes指定Elasticsearch实例的访问地址。由于实例与SkyWalking不在同一专有网络VPC(Virtual Private Cloud)下,因此要使用公网访问地址,获取方式请参见查看实例的基本信息。由于是测试环境,本人直接设置了本机的ES节点。
 
userElasticsearch实例的访问用户名,默认为elastic。
password对应用户的密码。elastic用户的密码在创建实例时指定,如果忘记可重置。重置密码的注意事项和操作步骤,请参见重置实例访问密码。

Note: skywalking启动后,会启动两个服务,一个是skywalking-oap-server,另外一个是skywalking-web-ui:8080。 skywalking-oap-server服务启动后会暴露两个端口11800 和12800,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/application.yml

 4.修改配置文件 webapp/webapp.yml

Skywalking默认使用8080端口,如果该端口被占用,则可以修改webapp/webapp.yml文件,修改Skywalking的端口。

还有12800也是Skywalking使用的端口。

5.支持springcloud gateway :

 skywalking默认不采集sping cloud gateway的数据,怎么办呢?

将optional-plugins目录下的最新版本的jar包 apm-spring-cloud-gateway-3.x-plugin-8.7.0.jar 拷贝到plugins目录下,然后重启skywalking

6.启动Skywalking OAP:

./bin/./oapService.sh

7.启动Skywalking UI服务:

./bin/webappService.sh

Note: skywalking启动后,会启动两个服务,一个是skywalking-oap-server,另外一个是skywalking-web-ui:8080。 skywalking-oap-server服务启动后会暴露两个端口11800 和12800,分别为收集监控数据的端口11800和接受前端请求的端口12800,修改端口可以修改config/application.yml 

3.微服务使用skywalking

skywalking对微服务的代码是无侵入的,只需要在项目启动的时候,加入一些启动参数就可以了

  • -javaagent: 需要指定skywalking-agent.jar,作为client的数据收集器
  • -Dskywalking.agent.service_name:是指注册到skywalking的微服务名称
  • -Dskywalking.collector.backend_service:指的是skywalking接收agent(微服务端)发送采集数据的服务及端口

# JAVA_OPTS=.......

# appName=.......

# skywalkingIpAdress=........

# java   $JAVA_OPTS   -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$appName-${SPRING_PROFILES_ACTIVE:-default} -Dskywalking.collector.backend_service=${skywalkingIpAdress:-10.***.***.101:11800}  -jar tmp/$appName.jar

使用效果:

可以看到微服务都在skywalking中显示出来。

参考文章:

这两篇文章写得不错,可以参考Centos 7.4搭建es7.12.0+Skywalking7.8.5 - 香菜哥哥 - 博客园 (cnblogs.com)

skywalking原理_40张图看懂:分布式追踪系统原理及实践_weixin_39866487的博客-CSDN博客

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐