二.Skywalking介绍 Skywalking:是一个APM系统,包含监控,追踪,并拥有故障诊断能力的 分布式系统
2.1 SkyWalking基本概念 Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品,它同时吸收了Zipkin /Pinpoint /CAT 的设计思路。特点是:支持多种插件,UI功能较强,支持非侵入式埋点。目前使用厂商最多,版本更新较快。
数据存储支持:Elasticsearch、MySQL、H2、TiDB。默认是H2,而且是存到内存。实际我们一般将其存到ES。
主页:http://skywalking.apache.org/ 下载:https://skywalking.apache.org/downloads/ github:https://github.com/apache/skywalking 文档:https://github.com/apache/skywalking/tree/master/docs 配置:https://github.com/apache/skywalking/tree/master/docs/en/setup/backend
2.2 APM基本概念 APM全称Application Performance Management应用性能管理,目的是通过各种探针采集数据,收集关键指标,同时搭配数据呈现以实现对应用程序性能管理和故障管理的系统化解决方案.
Zabbix、Premetheus、open-falcon等监控系统主要关注服务器硬件指标与系统服务运行状态等,而APM系统则更重视程序内部执行过程指标和服务之间链路调用情况的监控,APM更有利于深入代码找到请求响应“慢”的根本问题,与Zabbix之类的监控是互补关系 目前市面上开源的APM系统主要有CAT、Zipkin、Pinpoint、SkyWalking,大都是参考Google的 Dapper实现的.
2.3 链路追踪工具对比 链路追踪工具一般要有如下功能:
心跳检测(确定应用是否还在运行) 记录请求的执行流程、执行时间 资源监控(CPU、内存、带宽、磁盘) 告警功能(监控执行时间、成功率等通过邮件、钉钉、短信、微信等进行通知) 可视化页面