基于Docker实现Skywalking安装
1 安装分析
安装Skywalking可以采用H2存储数据或者ElasticSearch存储,我们这里采用ElasticSearch存储,采用OAP处理数据,并基于Skywalking UI展示数据,所以安装的服务有多个:
- ElasticSearch7
- 安装Skywalking-OAP
- 安装Skywalking UI
2 ElasticSearch7安装
Skywalking数据存储方式有2种,分别为H2(内存)和elasticsearch,如果数据量比较大,建议使用后者,工作中也建议使用后者。
安装ElasticSearch可以安装ElasticSearch6或者ElasticSearch7,但我们安装的Skywalking版本为8.6,版本相对来说比较高,建议采用ElasticSearch7。
基于Docker命令安装ElasticSearch,代码如下:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -d elasticsearch:7.12.1
如果学习过我们的ElasticSearch文章,就知道ElasticSearch安装了,并且也已经安装了的话就不需要再次安装。
安装好后,访问http://192.168.211.130:9200,效果如下:
如果此时出现ElasticSearch无法正常使用,此时可以调整下服务配置参数,让服务配置参数达到ElasticSearch要求。
elasticsearch占用系统资源比较大,我们需要修改下系统资源配置,这样才能很好的运行elasticsearch,修改虚拟机配置,vi /etc/security/limits.conf ,追加内容:
* soft nofile 65536
* hard nofile 65536
修改vi /etc/sysctl.conf,追加内容 :
vm.max_map_count=655360
让配置立即生效:
/sbin/sysctl -p
3 Skywalking OAP安装
采用Docker安装Skywalking-OAP需要注意版本选择,我们这里选择8.6.0-es7版本,主要因为我们的ElasticSearch版本是7.x,安装命令如下:
docker run \
--name skywalking-oap \
--restart always \
-p 11800:11800 \
-p 12800:12800 -d \
--privileged=true \
-e TZ=Asia/Shanghai \
-e SW_STORAGE=elasticsearch7 \
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.211.130:9200 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-oap-server:8.6.0-es7
命令参数说明:
-e SW_STORAGE=elasticsearch7:存储服务采用ElasticSearch7
-e SW_STORAGE_ES_CLUSTER_NODES=192.168.211.130:9200:存储服务路径(IP+Port)
4 Skywalking UI安装
Skywalking UI是对Skywalking收集到的数据进行分析展示的控制台服务,所以需要指定Skywalking OAP服务地址,使用Docker安装命令如下:
docker run \
--name skywalking-ui \
--restart always \
-p 8081:8080 -d \
--privileged=true \
--link skywalking-oap:skywalking-oap \
-e TZ=Asia/Shanghai \
-e SW_OAP_ADDRESS=192.168.211.130:12800 \
-v /etc/localtime:/etc/localtime:ro \
apache/skywalking-ui:8.6.0
命令参数说明:
-p 8081:8080:Skywalking UI映射端口为8081
-e SW_OAP_ADDRESS=192.168.211.130:12800:指定Skywalking OAP服务地址
安装完成后,等待一会儿,让各个服务都启动起来,再访问http://192.168.211.130:8081,效果如下: