![](https://img-blog.csdnimg.cn/img_convert/0aacff9a6ce02731cb8d9bea8f7b946d.png)
SkyWalking是一款开源的应用性能监控系统,对比阿里云ARMS,可以对应用进行全方位监控,帮助研发人员快速定位出错接口、慢接口、重现调用参数、发现系统瓶颈,从而大幅提升线上问题诊断的效率,本文向大家介绍了Skywalking的相关部署及使用方法,能够帮助大家快速熟悉并接入Skywalking监控平台。
【1】Skywalking概述
概述
SkyWalking是分布式的应用性能管理APM(Application Performance Monitoring)工具,也被称为分布式追踪系统。
特点
SkyWalking具有以下特性:
全自动探针监控,不需要修改应用程序代码。
手动探针监控,提供了支持OpenTracing标准的SDK。覆盖范围扩大到OpenTracing-Java支持的组件。
自动监控和手动监控可以同时使用,使用手动监控弥补自动监控不支持的组件,甚至私有化组件。
纯Java后端分析程序,提供RESTful服务,可为其他语言探针提供分析能力。
高性能纯流式分析。
【2】Skywalking架构
![](https://img-blog.csdnimg.cn/img_convert/f97aaab702c9b01788942ece835a501c.png)
SkyWalking的核心在于数据分析和度量结果的存储平台部分,通过HTTP或gRPC方式向SkyWalking Collector提交分析和度量数据。SkyWalking Collector对数据进行分析和聚合,存储到Elasticsearch、H2、MySQL、TiDB等其一即可,最后通过SkyWalking UI的可视化界面查看分析结果。Skywalking支持从多个来源和多种格式收集数据,支持多种语言的Skywalking Agent 、Zipkin v1/v2 、Istio勘测、Envoy度量等数据格式。
【3】Skywalking部署
1. 基于单机部署
步骤一:下载并安装SkyWalking
在Linux服务器中,下载SkyWalking。
当前选择8.5.0版本。由于当前使用的是Elasticsearch 6.8.18版本,因此选择Binary Distribution for ElasticSearch 6二进制包。下载命令如下。
wget https://archive.apache.org/dist/skywalking/8.5.0/apache-skywalking-apm-8.5.0.tar.gz
解压。
tar -zxvf apache-skywalking-apm-8.5.0.tar.gz
查看解压后的文件。
ll apache-skywalking-apm-bin/
返回结果如下。
步骤二:配置SkyWalking与Elasticsearch连通
在config目录下,打开application.yml文件。
mv apache-skywalking-apm-bin skywalking
cd skywalking/config/
vi application.yml
定位到storage部分,将默认的H2存储库改为elasticsearch,并按照以下说明配置。
storage:
selector: ${SW_STORAGE:elasticsearch}
elasticsearch:
nameSpace: ${SW_NAMESPACE:"skywalking-index"}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:10.128.119.4:9200,10.128.119.5:9200,10.128.119.6:9200}
protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
user: ${SW_ES_USER:"elastic"}
password: ${SW_ES_PASSWORD:"19e.com.cn"}
trustStorePath: ${SW_STORAGE_ES_SSL_JKS_PATH:""}
trustStorePass: ${SW_STORAGE_ES_SSL_JKS_PASS:""}
secretsManagementFile: ${SW_ES_SECRETS_MANAGEMENT_FILE:""} # Secrets management file in the properties format includes the username, password, which are managed by 3rd party tool.
dayStep: ${SW_STORAGE_DAY_STEP:1} # Represent the number of days in the one minute/hour/day index.
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1} # Shard number of new indexes
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1} # Replicas number of new indexes
说明 SkyWalking服务默认使用H2存储,不具有持久存储的特性,所以需要将存储组件修改为elasticsearch。
注意 配置中仅指定用户名和密码即可,请注释trustStorePath