簡述
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 | 可視化界面較好 |