官网地址
apache官网
官网地址:
http://skywalking.apache.org/
中文官网
http://skywalking.apache.org/zh/
下载地址:
https://skywalking.apache.org/zh/downloads/
github官网
https://github.com/1 apache/skywalking
准备工作
服务器规划
生成至少三台虚拟机,这里的规划的是企业级的skywalking单节点部署。
下载源码包
https://archive.apache.org/dist/skywalking/6.6.0/apache-skywalking-apm-6.6.0.tar.gz
清华大学镜像网站:
https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/8.1.0/apacheskywalking-apm-8.1.0.tar.gz
skywalking安装
我们自己学习的时候可以考虑采用2这种方式安装就可以了,官方有推荐采用方式3的安装,我们在生产环境推荐的方式主要是3和4的方式去安装,windows环境主要是在我们的机器配置不允许的情况下才考虑使用的。
- centos7+H2内存数据库方式
- docker+ES7数据库方式
- docker-compose+ES7方式
- K8S+helm+ES7方式
- windows+mysql5方式
centos7+H2安装
这里我们的服务器要先装好java的环境,至于maven的环境,git的环境,docker的环境这些都不是必须的。
安装JDK8
oap
解压压缩包
tar zxf apache-skywalking-apm-6.6.0.tar.gz
mv apache-skywalking-apm-bin/ skywalking
cd bin/
执行启动命令
./startup.sh
耐心等待skywalking启动:
http://192.168.198.154:8080/
目录介绍
整体目录
agent:javaagent探针模块,用于动态的修改jvm字节码的技术机制。
bin:Collector和Web模块的启动脚本。
config:Collector模块的配置。
webapp:Web模块的jar包和配置。
oap-libs:skywalking依赖的jar包配置。
agent目录介绍
cd agent
1.config目录:配置文件,可以在agent.config文件里面配置agent.service_name项,这个是监控我们项目所起的服务名称,不是我们业务代码里面的那些服务的名称。
2.plugins目录:组件的所有插件。
3.optional-plugins目录:可选插件,部分插件在使用上会影响整体的性能或者由于版权问题放置于
可选插件包中,不会直接加载,如果需要使用,将可选插件中的jar包拷贝到plugins包下。
4.bootstrap-plugins目录:启动依赖的插件,比如JDK的一些包就是放在这个目录下的。
docker安装
安装前置条件
文件创建数
修改Linux系统的限制配置,将文件创建数修改为65536个 :
- 修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65535个。但是ES至少需要65536的文件创建数的权限。
- 修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。
vi /etc/security/limits.conf
#新增如下内容在limits.conf文件中
es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096
系统控制权限
修改系统控制权限,ElasticSearch需要开辟一个65536字节以上空间的虚拟内存。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存。
vi /etc/sysctl.conf
添加参数:新增如下内容在sysctl.conf文件中,当前用户拥有的内存权限大小
vm.max_map_count=262144
重启生效:让系统控制权限配置生效
sysctl -p
6.x版本
安装elasticsearch版本7.5.1,oap版本为6.6.0,UI版本为6.6.0。
安装elasticsearch
docker官网
https://hub.docker.1 com/_/elasticsearch
基础镜像
docker pull elasticsearch:7.5.1
安装elasticsearch
docker run -itd --name=es7 \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" elasticsearch:7.5.1
检查启动情况
等待30秒左右,查看docker日志,如果有出现
"publish_address {172.17.0.2:9300}, bound_addresses {0.0.0.0:9300}"
说明启动成功了。
创建持久化目录,并重启启动elasticsearch
mkdir -p /data/elasticsearch
docker cp es7:/usr/share/elasticsearch/data /data/elasticsearch/
docker cp es7:/usr/share/elasticsearch/logs /data/elasticsearch/
docker stop es7
docker rm es7
持久化安装elasticsearch
docker run -d --name=es7 \
--restart=always \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
elasticsearch:7.5.1
测试elasticsearch
google浏览器访问elasticsearch
http://192.168.198.141:9200/
安装oap
官网地址
https://hub.docker.com/r/apache/skywalking-1 oap-server
基础镜像
docker pull apache/skywalking-oap-server:6.6.0-es7
安装oap
注意:
- 等待elasticsearch完全启动之后,再启动oap
- SW_STORAGE参数没有区分elasticsearch的版本。
说明:这里指定elasticsearch 来存储数据
docker run --name oap --restart always -d \
-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
安装UI
docker官网
https://hub.docker.com/r/1 apache/skywalking-ui
基础镜像
docker pull apache/skywalking-ui:6.6.0
安装UI
注意:这里映射的端口为8088,防止端口冲突。
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:6.6.0
启动UI
在window系统中使用google浏览器访问skywalking-ui界面
http://192.168.198.141:8088/