skywalking
skywalking
- 介绍
对于一个大型的几十个、几百个微服务构成的微服务架构系统,通常会遇到下面一些问题,比如:
- 如何串联整个调用链路、快速定位问题?
- 如何明确各个微服务之间的依赖关系?
- 如何进行各个微服务接口的性能分析?
- 如何跟踪整个业务流程的通用处理程序?
skywalking环境搭建部署
- 整体架构
在centos7.0上部署skywalking oapservice服务端
下载:https://skywalking.apache.org/downloads/
- 解压后进入/bin文件夹
启动的时候到/bin下启动startup.sh,启动startup.sh的同时,会自动启动oapService.sh和webappService.sh
- 目录机构
- 启动start.sh
最好修改一下web启动的端口号
修改为8068
- 启动
- 测试
访问:http://192.168.184.15:8068/
搭建skywalking客户端(通过微服务去绑定skywalking的agent)
skywalking中的三个概念
- 服务
- 服务实例
- 端点
Cent-os7中skywalking-接入多个微服务
Skywalking跨多个微服务跟踪,只需要每个微服务启动时添加javaagent参数即可。
- windows环境(了解即可)
bug修复
skywalking默认不跟踪gateway,需要手动将gateway插件放到启动差距目录中
CentOs-7.0环境接入微服务
准备一个springboot程序,打包成可执行jar包,写一个shell脚本,在启动项目的shell脚本上,通过-javaagent参数进行配置skywalking Agent 来跟踪微服务
- starup.sh脚本
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=api-gateway #Agent名字,一般使用'spring.application.name
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.11800 #配置Collector地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置链路的最大Span数量,默认为 300。
export JAVA_AGENT=-javaagent:/app/springcloud/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar #skywaking agent地址
java -jar $JAVA_AGENT -jar global_gateway-1.0-SNAPSHOT.jar #jar启动
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=order-service #Agent名字,一般使用'spring.application.name
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.11800 #配置Collector地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置链路的最大Span数量,默认为 300。
export JAVA_AGENT=-javaagent:/app/springcloud/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar #skywaking agent地址
java -jar $JAVA_AGENT-jar order-1.0-SNAPSHOT.jar #jar启动
#!/bin/sh
# SkyWalking Agent配置
export SW_AGENT_NAME=stock-service #Agent名字,一般使用'spring.application.name
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.11800 #配置Collector地址。
export SW_AGENT_SPAN_LIMIT=2000 #配置链路的最大Span数量,默认为 300。
export JAVA_AGENT=-javaagent:/app/springcloud/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar#skywaking agent地址
java -jar $JAVA_AGENT-jar stock-1.0-SNAPSHOT.jar #jar启动
修改脚本权限为可执行文件: chmod +x *.sh