全链路跟踪系统Skywalking最简安装
简述
Skywalking是一个分布式追踪与监控,由国内开源爱好者吴晟开源,目前已是Apache顶级项目。
官网
https://github.com/apache/skywalking
官方效果展
搭建 skywalking 体验环境
ElasticSearch (https://hub.docker.com/_/elasticsearch):
-
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.9.3
-
docker run -d --name elasticsearch --rm -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.9.3
skywalking (https://hub.docker.com/r/apache/skywalking-oap-server)
-
docker pull apache/skywalking-oap-server
-
docker run --name skywalking-oap-server -d --rm -p 11800:11800 -p 12800:12800 --link elasticsearch:elasticsearch -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server
如果使用的是 ES6,则设置 SW_STORAGE 的值为:elasticsearch,参考来源:https://github.com/apache/skywalking/blob/master/docs/en/setup/backend/backend-storage.md。
注意,这里的 11800 端口为上报端口,即调用 NewGRPCReporter 时指定的端口。
skywalking-ui (https://hub.docker.com/r/apache/skywalking-ui)
-
docker pull apache/skywalking-ui
-
docker run --name skywalking-ui -d --rm -p 8080:8080 --link skywalking-oap-server:skywalking-oap-server -e SW_OAP_ADDRESS=skywalking-oap-server:12800 apache/skywalking-ui
注意,这里的 8080 端口为可视化页面端口。
GO接口
https://github.com/SkyAPM/go2sky
基本概念
- Span
跨度。
-
EntrySpan
-
被调端(被请求的服务端),从下游提取上下文信息。
-
ExitSpan
调用端(发起请求客户端),将上下文信息注入到请求中。
其它同类APM产品
Application Performance Monitoring | URL | 好友性 |
---|---|---|
Pinpoint | https://github.com/pinpoint-apm/pinpoint | 可视化界面较好 |
Skywalking | https://github.com/apache/skywalking | 中文可视化界面 |
Zipkin | https://github.com/openzipkin/zipkin | 可视化页面简陋 |
Jaeger | https://github.com/jaegertracing/jaeger | 可视化界面较好 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义