Commit ac637813 authored by 马超's avatar 马超

doc: skywalking安装部署文档

parent 44cb7b19
# SkyWalking 安装部署文档
LDP框架是一个基于微服务架构的框架,尽管微服务架构有着各式各样的优点,但同时也带来了不少缺点,其中有一点便是当服务间存在调用时,错误的排查、性能分析等等都变得更加困难。Google在2010年的论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》几乎成为了所有链路追踪实现方案的理论基础。
目前的链路追踪有不少方案,PinPoint、Zipkin、SkyWalking等等,相对于韩国人开发的PinPoint,Twitter的开源方案Zipkin,综合对比下来决定选用目前在apache基金会的SkyWalking来作为服务调用链追踪的平台,理由有以下几点:
1. skywalking支持更多的语言和协议。
2. 支持更多的数据库。
3. 性能损耗更少。
4. apache项目。
5. github star 数 18.2k。
SkyWalking架构图(图片来源 http://skywalking.apache.org)
![SkyWalking](https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/0081Kckwly1gkl533fk5xj31pc0s8h04.jpg)
## 一、SkyWalking 下载及目录结构
SkyWalking安装包下载
```shell
wget https://dlcdn.apache.org/skywalking/8.8.1/apache-skywalking-apm-8.8.1.tar.gz
```
或者
```shell
curl https://dlcdn.apache.org/skywalking/8.8.1/apache-skywalking-apm-8.8.1.tar.gz --output apache-skywalking-apm-8.8.1.tar.gz
```
解压安装包
```shell
tar -zxvf apache-skywalking-apm-8.8.1.tar.gz
```
解压后的目录结构
```shell
├── bin # 启动脚本目录
├── config # 配置文件目录(内容贼多,后面根据需要分析重点配置文件)
├── config-examples # 配置文件样例目录
├── LICENSE
├── licenses # 引用的开源组件协议目录
├── logs # 日志目录
├── NOTICE
├── oap-libs # 依赖包目录
├── README.txt
├── tools
└── webapp
├── skywalking-webapp.jar # ui jar包
└── webapp.yml # ui配置文件
```
## 二、配置文件解释及修改
切换到config目录,最重要的配置文件是`application.yml`
```yml
#集群配置
cluster:
# 默认配置为单机模式
selector: ${SW_CLUSTER:standalone}
# 单机版
standalone:
# zk 注册集群配置,zk 版本保证在3.5以上,oap-libs中也对3.4进行了支持
zookeeper:
nameSpace: ${SW_NAMESPACE:""}
hostPort: ${SW_CLUSTER_ZK_HOST_PORT:localhost:2181}
## Retry Policy 重试策略
# initial amount of time to wait between retries
# 初始化等待时间
baseSleepTimeMs: ${SW_CLUSTER_ZK_SLEEP_TIME:1000}
# max number of times to retry 最大重试次数
maxRetries: ${SW_CLUSTER_ZK_MAX_RETRIES:3}
# Enable ACL 开启访问控制
enableACL: ${SW_ZK_ENABLE_ACL:false} # disable ACL in default
schema: ${SW_ZK_SCHEMA:digest} # only support digest schema
expression: ${SW_ZK_EXPRESSION:skywalking:skywalking}
# k8s部署配置
kubernetes:
namespace: ${SW_CLUSTER_K8S_NAMESPACE:default}
labelSelector: ${SW_CLUSTER_K8S_LABEL:app=collector,release=skywalking}
uidEnvName: ${SW_CLUSTER_K8S_UID:SKYWALKING_COLLECTOR_UID}
# consul 注册集群配置
consul:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
# Consul cluster nodes, example: 10.0.0.1:8500,10.0.0.2:8500,10.0.0.3:8500
hostPort: ${SW_CLUSTER_CONSUL_HOST_PORT:localhost:8500}
aclToken: ${SW_CLUSTER_CONSUL_ACLTOKEN:""}
# etcd 注册集群配置
etcd:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
# etcd cluster nodes, example: 10.0.0.1:2379,10.0.0.2:2379,10.0.0.3:2379
hostPort: ${SW_CLUSTER_ETCD_HOST_PORT:localhost:2379}
# nacos 注册集群配置
nacos:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848}
# Nacos Configuration namespace
namespace: ${SW_CLUSTER_NACOS_NAMESPACE:"public"}
# Nacos auth username
username: ${SW_CLUSTER_NACOS_USERNAME:""}
password: ${SW_CLUSTER_NACOS_PASSWORD:""}
# Nacos auth accessKey
accessKey: ${SW_CLUSTER_NACOS_ACCESSKEY:""}
secretKey: ${SW_CLUSTER_NACOS_SECRETKEY:""}
```
## 三、启动SkyWalking
配置文件修改后,就可以启动SkyWalking了,SkyWalking里面有两个东西需要启动,一个是ui服务,一个是oap(Observability Analysis Platform)分析服务.
```shell
# 切换到bin目录下
cd bin
# 启动oap服务和ui服务
./startup.sh
```
也可以单独启动服务
```shell
# 启动oap服务
./oapService.sh
# 启动ui服务
./webappService.sh
```
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment