Skywalking部署常见问题以及注意事项
Intro
SkyWalking 创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:
- 分布式追踪和上下文传输
- 应用、实例、服务性能指标分析
- 根源分析
- 应用拓扑分析
- 应用和服务依赖分析
- 慢服务检测
- 性能优化
主要特性
- 多语言探针或类库
- 多种后端存储: 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 的配置一致,clusterNodes
host修改为能访问的到的host或ip - 修改系统的时区,和客户端的Agent的时区保持一致
常见问题
- 启动之后访问 ui portal, 没有修改默认端口号,就应该是 http://localhost:8080, 用户名密码是 admin/admin,如果没有报错则证明部署应该没问题,如果有问题,可以查看skywalking打印的日志,之前部署的时候有遇到报错是因为开始使用了 elasticsearch 的6.x 版本
- 启动带agent 的客户端,进行一些访问操作,此时 ui 界面里应该会有数据了,如果出现有 service 但是没有 app,如下图所示,就是时区的问题了,需要agent和skywalking时区一致