使用背景
这两年微服务快速发展,基本上万物皆是分布式,因此一个业务场景可能会涉及到比较长的链路调用,而我们没法通过以前那种简单的日志方式来找到一次请求究竟发生了什么,都走了哪些逻辑,往往问题复现、排查都比单体应用的时候复杂痛苦。
头一次听到skywalking还是艿芋那边听来的,随着我们应用使用dubbo,也在dubbo官方看到使用skywalking来收集调用链的信息,因为工作上也会用到,使用不能让人满足,于是打算好好的认识下这个天行者,一探内幕。
skywalking简介
github地址
https://github.com/apache/skywalking
我是直接基于6.X版本学习的,这一系列文章都是基于6.X
设计架构图

我们接下去主要会涉及到UI模块,OAP模块(它可以选择Storage,一般使用ES)和java-agent的使用。
如何安装
- 通过docker-compose技术安装
version: "3.1"
services:
es:
container_name: es
image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.0.1
restart: always
environment:
- discovery.type=single-node
- ES_JAVA_OPTS=-Xms2g -Xmx2g -Duser.timezone=Asia/Shanghai
ports:
- 9200:9200
- 9300:9300
oap:
container_name: oap
image: apache/skywalking-oap-server:6.2.0
depends_on:
- es
links:
- es
restart: always
environment:
- SW_STORAGE=elasticsearch
- SW_STORAGE_ES_CLUSTER_NODES=es:9200
- JAVA_OPTS=-Duser.timezone=Asia/Shanghai
ports:
- 11800:11800
- 12800:12800
ui:
container_name: ui
image: apache/skywalking-ui:6.2.0
depends_on:
- oap
links:
- oap
restart: always
environment:
- SW_OAP_ADDRESS=oap:12800
- JAVA_OPTS=-Duser.timezone=Asia/Shanghai
ports:
- 8080:8080
- 通过docker一个个安装
docker network create -d bridge ironc
docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.8.1 --network=ironc
docker run --name sw-oap -p 11800:11800 -e TZ="Asia/Shanghai" --restart always -d -e SW_STORAGE=elasticsearch -e SW_STORAGE_ES_CLUSTER_NODES=es:9200 --network=ironc apache/skywalking-oap-server
docker run --name sw-ui -p 8080:8080 -e TZ="Asia/Shanghai" --restart always -d -e SW_OAP_ADDRESS=sw-oap:12800 --network=ironc apache/skywalking-ui
通过docker run或者docker-compose up启动好容器之后,打开http://127.0.0.1:8080就可以进入UI界面
UI界面
首页
账号密码 admin/admin

拓扑图

追踪


上面的截图均是agent获取的数据,下一篇会讲如何给我们的应用加上agent
网友评论