[TOC] ## 一、所需的第三方软件 * 需要服务器`8080`、`11800`、`12800`这3个端口未被占用 * JDK6+(被监控的应用程序运行在jdk6及以上版本) * JDK8+(SkyWalking collector和WebUI部署在jdk8及以上版本) * Elasticsearch 5.x(集群模式或不使用) * Zookeeper 3.4.10 * 被监控应用的宿主服务器系统时间(包含时区)与collectors,UIs部署的宿主服务器时间设置正确且相同 ## 二、下载发布版 [http://skywalking.apache.org/downloads/](http://skywalking.apache.org/downloads/) ## 三、部署 Zookeeper Zookeeper用于collector协作,仅在需要多个collector实例时才需要. 在每个collector实例的`application.yml`中添加Zookeeper集群配置 ~~~yaml cluster: # zk用于管理collector集群协作. zookeeper: # 多个zk连接地址用逗号分隔. hostPort: localhost:2181 sessionTimeout: 100000 ~~~ ## 四、修改配置 1、配置 collector: 修改`config`目录下的`application.yml`文件 下面是关于collector连接配置的5种类型方式 1. `naming`:agent使用HTTP协议连接collectors 2. `agent_gRPC`:agent使用gRPC协议连接collectors 3. `remote`:Collector使用gRPC协议连接collector 4. `ui`:使用HTTP协议连接collector,(大多数情况不需要修改) 5. `agent_jetty`:agent使用HTTP协议连接collectors(可选连接) > 只需修改storage的配置,其他默认就可以了 ~~~ # 配置Elasticsearch 集群连接信息 storage: elasticsearch: clusterName: CollectorDBCluster clusterTransportSniffer: true clusterNodes: localhost:9300 indexShardsNumber: 2 indexReplicasNumber: 0 highPerformanceMode: true # 设置统计指标数据的失效时间,当指标数据失效时系统将数据自动删除. traceDataTTL: 90 # 单位为分 minuteMetricDataTTL: 45 # 单位为分 hourMetricDataTTL: 36 # 单位为小时 dayMetricDataTTL: 45 # 单位为天 monthMetricDataTTL: 18 # 单位为月 ~~~ 2、配置 UI: 配置项保存在`webapp/webapp.yml`中. 参考下面描述,更改`collector.ribbon.listOfServers`并且与`naming.jetty`参数值对应. | Config | Description | | --- | --- | | `server.port` | 默认监听8080端口 | | `collector.ribbon.listOfServers` | collector的访问服务名称(与`config/application.yml`中`naming.jetty`配置保持相同) 且若是多个 collector 服务名称用','分隔 | | `collector.path` | Collector 查询uri地址. 默认是/graphql | | `collector.ribbon.ReadTimeout` | 查询超时时间,默认是10秒 | | `security.user.*` | 登录用户名/密码. 默认是 admin/admin | ## 五、启动 启动命令在`bin`目录下,需要启动oap和webapp,执行以下命令 ~~~ sh startup.sh ~~~ >1. 使用`bin/startup.sh`同时启动collector和UI,若不使用1启动,需要单独启动,参考2,3 >2. 单独启动collector,运行`bin/collectorService.sh` >3. 单独启动UI,运行`bin/webappService.sh` ## 六、访问 [http://127.0.0.1:8080/](http://127.0.0.1:8080/) admin/admin