环境说明
centos7 docker最新版本
注意云机器安装docker时需要开启内核转发。

需求
新入职的公司,新项目想了解服务之间的调用,以及性能。所以选择无侵入式的SkyWalking,不需要开发配合埋点。

搭建过程
首先安装docker

docker安装es7

启动es

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

这里由于机器内存比较小,做了jvm的内存限制!内存小的可以加上ES_JAVA_OPTS="-Xms256m -Xmx256m"的配置

持久化配置

mkdir -p /data/elasticsearch
docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
docker rm -f es7
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

安装oap

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

注意SW_STORAGE配置时需要配置elasticsearch7不然启动为默认配置es6版本导致无法启动
报错内容如下

[Entrypoint] Apache SkyWalking Docker Image
Current image doesn't Elasticsearch 6

然后安装ui

docker run -d --name skywalking-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-p 8088:8080 \
--link oap:oap \
-e SW_OAP_ADDRESS=oap:12800 \
apache/skywalking-ui:8.7.0

docker ps 查看各服务是否都正常启动。

skywalking-agent部署
下载

wget https://archive.apache.org/dist/skywalking/8.7.0/apache-skywalking-apm-es7-8.7.0.tar.gz
tar xf apache-skywalking-apm-es7-8.7.0.tar.gz
cp agent/* /data/skywalking-agent/ -r   #解压的agent拷贝到习惯的目录

准备工作做完后使用如下命令启动即可

java -javaagent:/data/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=应用或者服务名 -Dskywalking.collector.backend_service=skywalking服务端地址:11800 -jar 你的程序包.jar > /dev/null &

请求几次接口后效果如下
skywalking.jpg

Last modification:October 9, 2021
如果觉得我的文章对你有用,请随意赞赏