简介
SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache孵化器。SkyWalking项目的核心目标是针对微服务、Cloud Native、容器化架构提供应用性能监控和分布式调用链追踪功能。
整体架构如下图示:
整体主要分为三个部分:
1.skywalking-collector:链路数据归集器,数据可以保存在H2或ElasticSearch
2.skywalking-web:web的可视化管理后台,可以查看归集的数据
3.skywalking-agent:探针,用来收集和推送数据到归集器
=========================================================================
下载skywalking地址
git仓库:https://github.com/apache/skywalking:下载压缩包。
apache官方: http://skywalking.apache.org/downloads/
这里我下载目前最新版本6.4.0
部署UI and Collector
单机模式collector不支持集群部署,它使用本地H2数据库。主要用于:预览、功能测试、演示和低压力系统。
如果在生产或者真实环境中(非本地demo) 部署SkyWalking,至少应该切换到Elasticsearch作为存储.
- 解压下载的文件
- windows环境中选择zip包.运行 bin/startup.sh,windows环境运行 bin/startup.bat
- 在浏览器输入 http://localhost:8080,显示如下:
使用Elastic Search代替H2存储
即使在单机模式下,collector也可以配置ElasticSearch作为运行存储介质, 若想使用,去掉 application.yml配置文件中的storage 相关配置节的注释,并修改配置,默认的配置是collector和 Elasticsearch 运行在同一台机器上,并不开启集群模式。
部署Elasticsearch
修改elasticsearch.yml文件
设置 cluster.name: CollectorDBCluster。此名称需要和collector配置文件一致。
设置 node.name: anyname, 可以设置为任意名字,如Elasticsearch为集群模式,则每个节点名称需要不同。
增加如下配置
#ES监听的ip地址
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000
启动Elasticsearch
在项目中开启Agent
在idea中的 edit configurations 中 的 vm options添加
-javaagent:F:\software\apache-skywalking-apm-6.4.0\apache-skywalking-apm-bin\agent\skywalking-agent.jar -Dskywalking.agent.service_name=XXX -Dskywalking.collector.backend_service=localhost:11800
其中:
-Dskywalking.agent.service_name:用于重写 agent/config/agent.config 配置文件中的服务名
-Dskywalking.collector.backend_service:用于重写 agent/config/agent.config 配置文件中的服务地址
参考:https://github.com/apache/skywalking/blob/5.x/docs/cn/Deploy-backend-in-standalone-mode-CN.md