SkyWalking是一个开源的分布式系统跟踪解决方案,它提供了分布式系统的性能监控、调用链追踪、度量分析和服务网格等功能。SkyWalking能够帮助开发人员快速定位分布式系统的性能问题,提高系统的可靠性和可扩展性。
SkyWalking支持多种语言和框架,包括Java、.NET、Node.js、Go、PHP、Python、Ruby等。它可以与多种开源的分布式系统集成,如Apache Dubbo、Spring Cloud、gRPC、Kubernetes等。
SkyWalking的核心功能包括:
- 分布式调用链追踪:记录分布式系统的请求流程,包括各个服务之间的调用关系、请求参数、响应结果等信息。
- 度量分析:收集系统的性能指标,如请求响应时间、吞吐量、错误率等,帮助开发人员分析和优化系统性能。
- 服务网格:支持服务网格的监控和管理,包括流量管理、服务发现、负载均衡等功能。
SkyWalking的优点包括:
- 开源免费:SkyWalking是一个开源项目,完全免费,可以自由使用和修改。 2. 多语言支持:SkyWalking支持多种语言和框架,可以轻松集成到不同的分布式系统中。
- 易于使用:SkyWalking提供了友好的Web界面和API,方便开发人员查看和分析系统性能数据。
- 高可扩展性:SkyWalking支持分布式部署,可以轻松扩展到数千个节点。
总结SkyWalking就是一个强大的分布式系统跟踪解决方案,可以帮助开发人员快速定位和解决分布式系统的性能问题,提高系统的可靠性和可扩展性。
部署的es是7.8版本所以skywalking需要下载适配的版本
https://archive.apache.org/dist/skywalking/下载网址
wget https://archive.apache.org/dist/skywalking/8.2.0/apache-skywalking-apm-es7-8.2.0.tar.gz
解压tar xvf apache-skywalking-apm-es7-8.2.0.tar.gz
agent目录将来要拷贝到各服务所在机器上用作探针
bin目录是服务启动脚本
config目录是配置文件
oap-libs目录是oap服务运行所需的jar包
webapp目录是web服务运行所需的jar包
1.首先上传安装jdk
tar xzf jdk-8u121-linux-x64.tar.gz -C /usr/local/ 解压jdk的包
cd /usr/local/ 切换至解压目录
mv jdk1.8.0_121/ java 解压出来的目录改名为java
echo '
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
' >>/etc/profile 配置环境变量
source /etc/profile 刷新配置
java -version 查看jdk版本是否安装完成
SkyWalking服务默认使用H2存储,不具有持久存储的特性,所以需要将存储组件修改为elasticsearch。
参数 | 说明 |
selector | 存储选择器。本文设置为elasticsearch7。 |
nameSpace | 命名空间。Elasticsearch实例中,所有索引的命名会使用此参数值作为前缀。 |
clusterNodes | 指定Elasticsearch实例的访问地址。由于实例与SkyWalking不在同一专有网络VPC(Virtual Private Cloud)下,因此要使用公网访问地址,获取方式请参见查看实例的基本信息。 |
user | Elasticsearch实例的访问用户名,默认为elastic。 |
password | 对应用户的密码。elastic用户的密码在创建实例时指定,如果忘记可重置。重置密码的注意事项和操作步骤,请参见重置实例访问密码。 |
在 config/application.yml 中配置es地址
将默认的H2存储库改为elasticsearch7
vim application.yml
storage:
selector: ${SW_STORAGE:elasticsearch7}
为了使用ElasticSearch 7,注释/删除“storage/ ElasticSearch”部分,并找到相应的配置部分(“storage/elasticsearch7”), 取消注释以启用它。
然后修改对应的elasticsearch7:相关配置
SkyWalking web访问端口默认8080 修改默认端口在
vim webapp/webapp.yml 按需修改
配置完启动SkyWalking
在apache-skywalking-apm-bin-es7目录下执行
./bin/startup.sh
查看启动没有可以访问web或者过滤一下端口和进程都行
ps -ef |grep skywalking
访问 192.168.11.143:8888
然后可以到es节点查看一下索引信息,可以看到生成很多以(添加命名空间后) skywalking-index开头的
curl -XGET 127.0.0.1:9200/_cat/indices
这样就配置成功了。
skywalking数据清理机制配置
vim apache-skywalking-apm-bin-es7/config/application.yml
修改recordDataTTL: 和metricsDataTTL: 为想要保存的天数即可
注意!!!nameSpace: 命名空间不为空可能影响DataTTL清理机制
enableDataKeeperExecutor: 数据清理机制的开关,默认开启。
dataKeeperExecutePeriod: 数据清理定时器间隔时间,默认5,单位分钟。
recordDataTTL: 明细记录的有效期,默认3,单位天。
metricsDataTTL: 数据有效期,默认7,单位天。