一、Skywalking简单介绍

  Skywalking是一个应用性能管理(APM)系统,具有服务器性能监测,应用程序间调用关系及性能监测等功能,Skywalking分为服务端、管理界面、以及嵌入到程序中的探针部分,由程序中的探针采集各类调用数据发送给服务端保存,在管理界面上可以查看各类性能数据。本文介绍服务端及管理界面的安装。更多>>

二、环境介绍  

  本文使用虚拟机Centos7.x+Docker。

三、elasticsearch安装

1.1:安装ElasticSearch,

  因为在安装需要挂载数据券,故需要做挂载处理。 首先下载image.并启动

docker run -d --name=es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.5.1

然后 将数据券复制出来并重新启动。

docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
docker rm -f es7
mkdir -p /data/elasticsearch

上述两个操作的完整步骤:

docker run -d --name=es7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.5.1


docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
docker rm -f es7
mkdir -p /data/elasticsearch


docker run -d --name=es7 --restart=always -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /data/elasticsearch/data:/usr/share/elasticsearch/data  -v /data/elasticsearch/logs:/usr/share/elasticsearch/logs  elasticsearch:7.5.1

1.2:出现以下界面后 安装 ElasticSearch 成功

1.3 踩坑问题

docker elasticsearch挂载宿主机报 java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes_李阳阳的博客-CSDN博客

四、Skywalking安装

1:安装服务端

这里介绍服务端的两种存储等式,一种是默认的H2存储,即数据存储在内存中,一种是使用elasticsearch存储,大家可以任选1.1或1.2其中一种安装方式

          1.1 :默认H2存储

输入以下命令,并耐心待下载。

 sudo docker run --name skywalking -d -p 1234:1234 -p 11800:11800 -p 12800:12800 --restart always apache/skywalking-oap-server  

          1.2 :elasticsearch存储 (推荐)  

docker run --name skywalking-oap-server --restart always -d --restart=always  -e TZ=Asia/Shanghai  -p 12800:12800  -p 11800:11800 --link es7:es7 -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 apache/skywalking-oap-server:6.6.0-es7

Ping一下出现以下界面后Skywalking的服务端就安装完成了。

 

1.3踩坑记录

1.查看无法连接....需要等一下时间.让他启动

2.查看oap日志时.发现一个报错.求解决方案?
 

{"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [register_lock]","resource.type":"index_expression","resource.id":"register_lock","index_uuid":"_na_","index":"register_lock"}],"type":"index_not_found_exception","reason":"no such index [register_lock]","resource.type":"index_expression","resource.id":"register_lock","index_uuid":"_na_","index":"register_lock"},"status":404}


 

2:安装管理界面:

输入以下命令,并等待下载安装。

docker run -d --name skywalking-ui  --restart=always  -e TZ=Asia/Shanghai  -p 8088:8080  --link skywalking:skywalking  -e SW_OAP_ADDRESS=skywalking:12800  apache/skywalking-ui:6.6.0  --security.user.admin.password=admin

出现以下界面后就安装完成了。

        

3:访问管理界验证安装结果

 在浏览器里面输入http://10.230.33.205:8088,出现了如下界面,到此Skywalking的安装就大功告成了。

、Springboot项目接入Skywalking

1:编写Dockerfile:

#--指定基础镜像
#FROM openjdk:8-jdk-alpine

FROM apache/skywalking-base:6.6.0-es7

#--指定工作目录
WORKDIR /home

COPY ./springboot-docker-1.0.1-SNAPSHOT.jar /home

#10.230.33.205:11800

# 给我们要传的参数一个初始值
ENV PARAMS = ""

CMD java -javaagent:/skywalking/agent/skywalking-agent.jar -Dskywalking.collector.backend_service=$PARAMS -Dskywalking.agent.service_name=docker-demo -jar /home/springboot-docker-1.0.1-SNAPSHOT.jar

2: 打包Mave项目得到 springboot-docker-1.0.1-SNAPSHOT.jar

3: 将Dockerfile和jar分别上传至固定的同一个目录下,如图:

4 构建docker镜像,该过程详细可以参考我上一个文章:

 docker build -t docker_dome:V1.0.1 .

 5启动这个demo容器

docker run -d --name "docker_test_1" --privileged=true --restart=always  -e TZ=Asia/Shanghai --link skywalking:skywalking -e PARAMS="skywalking:11800"   -p 8083:8863 docker_dome:V1.0.1

6查看结果

由于skywalking的懒加载机制.需要请求一下服务接口.以便数据上报.

查看skywalking监控结果

 大功告成!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐