Skywalking简介
所属分类 skywalking
浏览量 269
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集群