首页  

Skywalking简介     所属分类 skywalking 浏览量 274
Skywalking整体分为4个部分
探针采集、数据传输和逻辑处理、数据存储、数据展示


Skywalking-Agent  探针 
Skywalking-OAP 数据分析与存储  Observability Analysis Platform ,负责接受agent上报的数据、提供数据分析的接口等
Skywalking-UI 数据展示



java应用 agent探针 字节码增强 各种plugin 
grpc 传输采集信息 到 Skywalking-OAP  数据分析 数据处理 告警处理 
数据存储 mysql es h2 等 
Skywalking-UI 数据展示


SkyWalking服务端接收数据后,利用各种插件来进行数据的分析和逻辑处理。
比如:JVM相关插件,主要用于处理上报上来的JVM信息,数据库插件用来分析访问数据库的信息。
然后在将数据存入到数据存储层。


探针是一种动态代理技术,在类加载时,生成增强过的代理类的字节码,增强了数据拦截和采集上报的功能。
探针在项目启动时通过字节码技术(比如JavaAgent、ByteBuddy)进行类加载和替换,生成新的增强过的Class文件,对性能的影响是一次性的。
因为在类加载时进行转换,增强了部分功能,所以会增加应用启动时间,同时也会增加内存占用量和线程数量。
但是对性能影响不大,Skywalking 官方介绍在5% ~ 10%之间


java -javaagent:/path/skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar app.jar


SkyWalking 中的三个概念

服务(Service) 
表示对请求提供相同行为的一系列或一组工作负载。
使用 Agent 或 SDK 的时候,可以定义服务的名字。
不定义的话,SkyWalking 使用平台(譬如 Istio)上定义的名字
SpringBoot应用的服务名为 demo-application ,环境变量 SW_AGENT_NAME 定义

服务实例(Service Instance) 
上述的一组工作负载中的每一个工作负载称为一个实例。
就像 k8s 中的 pods 一样, 服务实例未必就是操作系统上的一个进程。
但在使用 Agent 的时候, 一个服务实例实际就是操作系统上的一个真实进程。
SpringBoot 应用的服务为 {agent_name}-pid:{pid}@{hostname},由 Agent 自动生成 


端点(Endpoint) 
对于特定服务所接收的请求路径, 如 HTTP 的 URI 路径 和 gRPC服务的 类名 + 方法签名
SpringBoot 应用的一个端点, API 接口 /demo/echo



log: 日志,Skywalking中需要进行特殊的配置才能显示日志信息 
trace: 链路追踪,能够反映输出接口的调用链,比如这个接口调用其他的接口,调用了哪个数据库等等,详细信息请参考OpenTrace官方文档,此文档定义了链路追踪规范
metrics: 度量信息,Skywalking中的所有的图表展示的数据信息统称为metric


grpc端口 agent数据报送 11800
http端口 12800  ,给ui 提供 graphql接口
ui端口 8080
LogQL API 端口 3100
PromQL API 端口  9090



https://archive.apache.org/dist/skywalking/java-agent/8.12.0/ https://archive.apache.org/dist/skywalking/9.0.0/ 使用默认配置,默认使用h2存储数据 apache-skywalking-apm-bin/config/application.yml storage: selector: ${SW_STORAGE:h2} gRPCPort: ${SW_CORE_GRPC_PORT:11800} restPort: ${SW_CORE_REST_PORT:12800} apache-skywalking-apm-bin/bin/ ./startup.sh SkyWalking OAP started successfully! SkyWalking Web Application started successfully! web-ui http://127.0.0.1:8080/ apache-skywalking-apm-bin/logs/skywalking-oap-server.log org.apache.skywalking.oap.server.library.server.grpc.GRPCServer - 108 [main] INFO [] - Server started, host 0.0.0.0 listening on 11800 webapp 端口设置 webapp/webapp.yml server: port: 8080 discovery: client: simple: instances: oap-service: - uri: http://127.0.0.1:12800 jps 14915 OAPServerStartUp 14922 skywalking-webapp.jar

上一篇     下一篇
springboot异步处理 @Async 注解

JDK 和 openJDK 区别

Flink CDC 3.0 简介

H2 web console

杭州市内游玩交通

Kube-Install 一键离线安装多K8S集群