Skywalking部署常见问题以及注意事项
Intro
SkyWalking 创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
- 分布式追踪和上下文传输 
- 应用、实例、服务性能指标分析 
- 根源分析 
- 应用拓扑分析 
- 应用和服务依赖分析 
- 慢服务检测 
- 性能优化 
主要特性
- 多语言探针或类库 - .NET Core 
- Node.js 
 - Java自动探针,追踪和监控程序时,不需要修改源码。 
- 社区提供的其他多语言探针 
 
- 多种后端存储: ElasticSearch, H2 
- 支持OpenTracing - Java自动探针支持和OpenTracing API协同工作 
 
- 轻量级、完善功能的后端聚合和分析 
- 现代化Web UI 
- 日志集成 
- 应用、实例和服务的告警 

最近用 Skywalking 的时候遇到一些问题,记录一下,首先部署之前建议看一下官方文档,有一些注意事项是要注意的,不然部署了之后还是没办法正常用。我部署的时候使用的是 Skywalking 5.0.0-GA 版本,6.0 版本可能不一定适用。
部署前注意事项
elasticsearch 配置
- elasticsearch 版本的选择,建议5.6,skywalking 暂不支持 6.x 版本的 elasticsearch 
- elasticsearch 配置 clusterName 以及 - network.host为- 0.0.0.0
官方文档说明
skywalking 配置
- skywalking 的配置文件 application.yml 中的端口号要保证没有被占用,如果有被占用,修改端口号 
- 修改配置文件中的 Elasticsearch 的 - clusterName和- clusterNodes,- clusterName要与上面 elasticsearch 的配置一致,- clusterNodeshost修改为能访问的到的host或ip
- 修改系统的时区,和客户端的Agent的时区保持一致 
常见问题
- 启动之后访问 ui portal, 没有修改默认端口号,就应该是 http://localhost:8080, 用户名密码是 admin/admin,如果没有报错则证明部署应该没问题,如果有问题,可以查看skywalking打印的日志,之前部署的时候有遇到报错是因为开始使用了 elasticsearch 的6.x 版本 
- 启动带agent 的客户端,进行一些访问操作,此时 ui 界面里应该会有数据了,如果出现有 service 但是没有 app,如下图所示,就是时区的问题了,需要agent和skywalking时区一致  
