一、介绍
1、简介
SkyWalking 是一个 开源的 APM(Application Performance Monitoring,应用性能监控)和分布式追踪系统,主要用于监控、追踪、分析分布式系统中的调用链路、性能指标和日志。
它由 Apache 基金会托管,特别适合微服务、云原生和容器化架构的应用。
2、核心功能
-
调用链追踪(Tracing)
自动收集服务间调用链路数据,帮助你知道请求是如何从一个服务流向另一个服务的。 -
性能监控(Metrics)
提供 CPU、内存、QPS、响应时间、错误率等多维度监控指标。 -
服务拓扑图
自动生成服务间调用关系图,直观展示微服务依赖。 -
日志与链路关联
将日志与调用链整合,方便快速定位问题。 -
告警
支持规则配置,当指标异常时发出告警。
3. 典型使用场景
-
微服务排障:快速找出性能瓶颈和异常调用链。
-
性能分析:分析接口耗时、数据库慢查询等。
-
依赖分析:可视化查看服务之间的依赖关系。
-
生产监控:配合告警及时发现问题。
二、原理
SkyWalking 通过 Agent + OAP Server + UI 三部分协作:
1、Agent(探针)
以插件方式植入到应用(Java、.NET、Node.js 等),自动拦截 HTTP、RPC、数据库等调用,采集链路数据。
2、OAP Server(后端)
接收 Agent 发送的数据,进行存储、聚合、分析。
3、UI(前端可视化界面)
展示调用链、指标图表、告警信息等。
三、下载安装
1、bin下载安装
https://downloads.apache.org/skywalking/10.2.0/apache-skywalking-apm-9.4.0.tar.gz
解压后,目录结构大致是
2、agent获取
上面下载的不包含agent,手动创建个agent目录,然后手动下载
https://repo1.maven.org/maven2/org/apache/skywalking/apm-agent-core/9.4.0/apm-agent-core-9.4.0.jar 放进去,再手动创建\agent\config\agent.config配置文件,内容为:
collector.backend_service
要指向你本地或远程 OAP Server 的 HTTP 端口(默认 11800)。
# 服务名称,对应你的应用名
agent.service_name=your-app-name# 后端 OAP 服务地址,多个用逗号分隔
collector.backend_service=127.0.0.1:11800# 日志等级,开发调试可用 DEBUG
logging.level=INFO
3、启动插件
(1)启动 OAP Server(后台服务)
SkyWalking 的核心是 OAP Server,它负责接收应用程序上报的监控数据。
# Linux / macOS
./bin/oapService.sh# Windows (cmd)
bin\oapService.bat
默认端口:12800
(gRPC) 和 11800
(HTTP)
日志会输出在控制台,你可以看到 OAP server started
的提示。
(2)启动 Web UI
UI 是前端界面,通过浏览器访问。
# Linux / macOS
./bin/webappService.sh# Windows (cmd)
bin\webappService.bat
访问 http://localhost:8080/