skywalking 链路式跟踪
skywalking 是一个可观测分析平台(OAP) 和 应用性能管理系统(APM)
提供分布式链路追踪, 服务网格 遥测分析, 度量(metric) 聚合和可视化一体化解决方案.
skywalking 几大特点:
- 多语言自动探针, java ,net core 和 node.js
- 多种监控手段, 语言探针和 service mesh
- 轻量高效, 不要额外搭建大数据平台
- 模块化架构, UI 存储, 集群管理多种机制可选
- 支持告警
- 优秀的可视化效果
Skywalking 提供Tracing和Metrics 数据的获取和聚合
Tracing :上报分布式链路追踪的数据, 调用链进行上报
Metric : 可累加的一些数据, 例如接口上报了多少次,平均的耗时时间, 是一些统计行的数据
整体架构包含了三个部分:
1. 探针 负责进行数据的收集, 包含了tracing和metrics数据, agent会被安装到服务所在的服务器上, 以方便数据的获取. 2. 可观测性平台OAP, 接收探针发送的数据, 并在内存中使用分析引擎(Analysis core) 进行数据的整合运算, 然后将数据存储到对应的存储介质上, 3. skywalking 提供单独UI进行数据的查看, 此时UI会调用OAP提供的接口,获取对应的然后进行展示.
skywaling 主要概念介绍:
1. 服务(service) 2. 端点(enndpoint) 3. 实例 (instance)
环境搭建:
https://github.com/apache/skywalking/tree/master/docs
agent中使用
agent探针可以让我们再不修改代码的情况下, 对java应用上使用到组件进行动态监控, 获取运行数据发送到OAP上进行存储和统计. agent探针在java中使用 java agent技术实现的, 不需要更改代码 , java agent会通过虚拟机(VM)接口来在运行期更改代码.
wget http://mirror.bit.edu.cn/apache/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.1-linux-x86_64.tar.gz
java -javaagent:agent/skywalking-agent.jar -Dserver.port=8082 -jar hdrrestserver.jar