- 欢迎使用 SkyWalking
- 观测分析语言 Observability Analysis Language, OAL
- 仪表系统
- 设计目标
- 为什么 SkyWalking 体系中没有使用 MQ?
- 探针简介
- 观测分析平台
- 可视化
- 选择接收器
- 服务自动打点代理
- 手动打点 SDK
- 服务网格探针
- SkyWalking Java 代理支持列表
- 设置
- 协议
- 作用域 Scopes 和字段 Fields
- 概念与设计
- Backend 启动
- Backend 存储
- 安装 Java agent
- Open Fetcher
- 概念与设计总览
- 设置开发环境
- 组件库设置
- 插件自动测试框架
- 使用命令行导出
- 操作名称分组规则
- Spring 注解插件
- Oracle 和 Resin 插件
- 支持忽略自定义的 trace
- 支持自定义增强
- 配置覆盖
- 支持传输层安全性协议(TLS)
- 命名空间
- 令牌认证
- 令牌认证
- 兼容 OpenTracing 的 Skywalking tracer
- 安装 log4j
- 安装 log4j2
- logback 插件
- 应用程序工具包跟踪
- 跨线程追踪
- 通过系统属性动态定义 agent 配置文件
- 插件开发指南
- 在 Kubernetes 中部署
- 通过 ALS 观测服务网格
- UI
- 与 Istio 协作
- 配置 Envoy 来向 SkyWalking 发送度量指标
- 快速入门
- V6 升级
- SkyWalking 跨进程传播的头部协议
- OAP server 支持 gPRC SSL 传输
- 贡献指南
- 数据存储扩展
- 启动模式
- 设置的覆盖
- IP 和端口设置
- 初始化模式
- 集群管理
- 服务器端的跟踪采样
- 慢 SQL 语句设置
- 官方 OAL 脚本
- 告警
- 高级部署
- Metrics Exporter
- TTL
- 动态配置
- 无法打点的网关/代理
- 应用性能指数
- 端点分组参数化
- 后台遥测数据
- Apache SkyWalking 代码提交者
- 如何构建项目
- 新度量指标的源和范围扩展
- 后端存储实体扩展
- 线程转储归并机制
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
协议
有以下两种类型的协议.
探针协议
它们也是与探针的组相关的, 为了理解这一点, 请参考概念和设计一文. 这些探针组是基于原生语言代理协议, 服务网格协议以及其他第三方打点协议.
注册协议
包含服务, 服务实例, 网络地址以及端点元数据注册. 注册的目的是:
- 对于服务, 网络地址和端点, 注册之后将会返回注册对象的一个唯一 ID, 通常是一个整数. 探针可以使用这个 ID 来替代字符串文本, 达到数据压缩的功能. 进一步讲, 有些协议只接收 ID.
- 对于服务实例, 注册之后将会为每个新的实例返回一个新的唯一 ID. 每个服务实例必须包含服务 ID.
基于语言的原生代理协议
有以下两种协议可以让基于语言的代理在分布式环境下工作.
- 跨进程传播的头部协议是一种有线数据格式, 代理和 SDK 通常使用 RPC 请求以及 HTTP/MQ/HTTP2 请求头来运载数据. 远程代理将在请求处理器中接收这些数据, 并将上下文绑定到该请求中.
- 追踪数据协议是一种离线数据格式, 代理和 SDK 使用这种数据格式来发送追踪数据和指标数据到 SkyWalking 或其他兼容的后端。
为了兼容性, 请求头有两种格式. 默认是使用 v2.
- 跨进程传播的请求头 v2 是自 6.0.0-beta 版本开始, 针对在线上下文传播的一种新的协议. 它将在以后替代老的 SW3 协议, 目前来说它们二者都是支持的.
- 跨进程传播的请求头 v1 是针对在线传播的协议. 遵循此协议的不同进程的追踪数据段可以被连接起来.
自 SkyWalking v6.0.0-beta 开始, SkyWalking 代理和后端都使用第二版的追踪数据协议(Trace Data Protocol v2), 后端仍然支持 v1 版本的协议.
- SkyWalking 追踪数据协议 v2 定义了代理和后端之间通讯的方式和格式.
- SkyWalking 追踪数据协议 v1. 该协议用于旧的版本中. 目前仍然支持.
服务网格探针协议
Sidecar 中的探针或代理可以使用该协议发送数据到后端. 该服务通过 gRPC 实现, 需要以下关键信息:
- 在服务两侧都需要服务名或 ID
- 在服务两侧都需要服务实例名称或 ID
- 端点. HTTP 中的 URI, gRPC 中的方法完整签名.
- 时延. 以毫秒为单位
- HTTP 中的响应码
- 状态. 成功或失败
- 协议. HTTP, gRPC 等
- 监测点. 在服务网格 sidecar 中,
client
或server
。 在普通的 L7 代理中, 值是proxy
.
第三方打点协议
SkyWalking 并不定义第三方打点协议. 它们只是协议和数据格式, SkyWalking 兼容这些协议和数据格式, 且可以接收它们. SkyWalking 一开始就支持 Zipkin v1, v2 数据格式. 后端遵循模块化原则, 所以要扩展新的接收器以支持新的协议和格式是非常容易的.
查询协议
查询协议遵循 GraphQL 语法, 提供了数据查询能力, 这都取决于你要分析的指标.
实际的查询 GraphQL 脚本可以在
query-protocol
文件夹内找到.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论