1 SkyWalking
1.1 概述

SkyWalking 是什么?
SkyWalking是一款分布式系统的应用程序性能监控工具,专为 微服务 、 云原生 和基于 容器 的 (Kubernetes) 架构而设计。
1.2 功能列表
既然这么强大,那么SkyWalking 有哪些功能呢?
- 跟踪、指标和日志记录:SkyWalking 旨在实现一致的可观察性。在浏览器中监控您的应用程序发生的一切
- 服务网格和 FaaS 准备就绪:内置服务网格和 FaaS 可观察性。从 Istio + Envoy Service Mesh 和 OpenFunction 作为 FaaS 平台收集和分析数据。
- 可插拔存储:SkyWalking 支持广泛的后端存储解决方案,支持(H2、OpenSearch、ElasticSearch 6, 7, 8、MySQL、TiDB、PostgreSQL、BanyanDB)并且它们是可插拔的。
- 多种监控手段:通过语言探针和 Service Mesh 等手段,获得链路、日志、指标等监控数据
- 多个语言探针:Java、.Net Core、PHP、NodeJS、Golang、LUA、Rust、C++ 等
- 轻量级高性能:无需大数据组件,无需大量的硬件资源,且对应用实例的负载消耗极低
- 模块化架构:数据传输、数据存储,注册发现等模块,可替换不同的基础设施实现
- 端到端的监控:SkyWalking 提供本地代理并与全球可观察性工具配合使用以支持所有堆栈监控,前端:Vue、React 等,后端:Java、.Net Core、PHP、NodeJS、Golang、Istio 等
- 告警支持:内置 webhook 支持通过 HTTP、gRPC、Slack 等自动发送事件通知
- 可视化界面:好用的监控后台,可支持自定义配置,或是进一步自定义它或集成您自己的。
1.3 整体架构
SkyWalking 整体架构如何?
SkyWalking 在逻辑上分为四个部分:Probes、Platform backend、Storage 和 UI。

- Agent:在应用中,收集 Trace、Log、Metrics 等监控数据,使用 RPC、RESTful API、Kafka 等 Transport 传输方式,发送给 OAP 服务,包括各种格式的指标、跟踪、日志和事件(SkyWalking、Zipkin、OpenTelemetry、Prometheus、Zabbix 等)
- 平台后端:支持数据聚合、分析和流式处理,涵盖跟踪、指标、日志和事件。作为聚合者角色、接收者角色或两者