对工具可用性要求不高,工具挂掉不会影响系统
步骤:
- 搭建一个 Elasticsearch 服务(默认端口9200)。
- 下载 SkyWalking 软件包。
- 搭建一个 SkyWalking OAP 服务(默认端口12800、11800)。
- 搭建一个 SkyWalking UI 服务(默认端口18080)。
- 启动系统服务,并配置 SkyWalking Agent。
elasticsearch-7.2.0搭建
参考:elasticsearch-7.2.0单机版搭建
下载 SkyWalking 软件包
下载SkyWalking官方包,下载地址: http://skywalking.apache.org/downloads/ (也可以到该地址下载:https://download.csdn.net/download/tcy1429920627/12692703),我们下载操作系统对应的发布版。这里,我们选择apache-skywalking-apm-es7-8.0.0.tar.gz版本想使用 Elasticsearch 7.X 版本作为存储。
上传下载的压缩包到linux服务器,解压文件
wget https://archive.apache.org/dist/skywalking/8.5.0/apache-skywalking-apm-es7-8.5.0.tar.gz
tar -zxvf apache-skywalking-apm-es7-8.0.0.tar.gz
cd apache-skywalking-apm-es7-8.0.0
SkyWalking OAP 搭建
- 修改 OAP 配置文件 config/application.yml
vim config/application.yml
# 配置文件中默认选择的是H2数据源,切换成elasticsearch7,把elasticsearch7配置成自己安装的信息
# 重点修改 storage 配置项,通过 storage.selector 配置项来设置具体使用的存储器。
# storage.elasticsearch 配置项,设置使用 Elasticsearch6.X 版本作为存储器。
# 可以主要修改nameSpace、clusterNodes两个配置即可,设置使用的Elasticsearch的集群和命名空间。
# storage.elasticsearch7配置项,设置使用Elasticsearch7.X 版本作为存储器。
storage:
selector: ${SW_STORAGE:elasticsearch7}
- 启动OAP ,oap默认端口为11800
$ bin/oapService.sh
- 查看日志
tail -f logs/skywalking-oap-server.log
#停用oap
ps -ef|grep oap
kill -9 123630
SkyWalking OAP started successfully!
SkyWalking UI 搭建
- 由于SkyWalking UI的默认地址是8080,与很多中间件有冲突,可以修改一下
vi webapp/webapp.yml
# 修改webapp/webapp.yml
server:
port: 18080
- 启动 SkyWalking UI 服务
$ bin/webappService.sh
SkyWalking Web Application started successfully!
全部配置:
kubectl get deployments.apps -n hips-dev `kubectl get deployments.apps -n hips-dev | grep hippius | awk '{print$1}'` -o yaml > hippius_deploy1.yaml
删除:
添加JAVA_OPTS:
-Xms1024m -Xmx2048m -javaagent:/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.namespace=hippius-dev -Dskywalking.agent.service_name=hippius-dev:device -Dskywalking.collector.backend_service=192.168.16.144:11800
添加挂载:path为实际文件目录
volumes:
- emptyDir: {}
name: data
- name: skywalking-agent
hostPath:
path: /usr/local/src/apache-skywalking-apm-bin-es7/agent
- 挂载到容器
- mountPath: /skywalking-agent
name: skywalking-agent
- 运行配置:
kubectl apply -f hippius_deploy_device.yaml -n hips-dev -
进入容器查看:
-
查看效果
SkyWalking Agent
- 修改探针默认配置 agent/config/agent.config
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.0.4:11800}
agent.sample_n_per_3_secs=${SW_AGENT_SAMPLE:1}
采样率修改
agent.sample_n_per_3_secs配置说明:
在访问量较少时,链路全量收集不会对系统带来太大负担,能够完整的观测到系统的运行状况。但是在访问量较大时,全量的链路收集,对链路收集的客户端(agent探针)、服务端(SkyWalking OAP)、存储器(例如说 Elastcsearch)都会带来较大的性能开销,甚至会影响应用的正常运行。在访问量级较大的情况下,往往会选择抽样采样,只收集部分链路信息。SkyWalking Agent 在 agent/config/agent.config 配置文件中,定义了 agent.sample_n_per_3_secs 配置项,设置每 3 秒可收集的链路数据的数量。