基于Docker实现Skywalking安装

3,421 阅读2分钟

基于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,效果如下:

image-20220105005132970

如果此时出现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,效果如下:

image-20220105071605171