全链路跟踪系统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 | 可视化界面较好 |