返回介绍

探针简介

发布于 2023-10-10 23:52:04 字数 1573 浏览 0 评论 0 收藏 0

在 SkyWalking 中, 探针表示集成到目标系统中的代理或 SDK 库, 它负责收集遥测数据, 包括链路追踪和性能指标。根据目标系统的技术栈, 探针可能有差异巨大的方式来达到以上功能. 但从根本上来说都是一样的, 即收集并格式化数据, 并发送到后端。

从高层次上来讲, SkyWalking 探针可分为以下三组:

  • 基于语言的原生代理. 这种类型的代理运行在目标服务的用户空间中, 就像用户代码的一部分一样. 如 SkyWalking Java 代理, 使用 -javaagent 命令行参数在运行期间对代码进行操作, 操作 一词表示修改并注入用户代码. 另一种代理是使用目标库提供的钩子函数或拦截机制. 如你所见, 这些探针是基于特定的语言和库。

  • 服务网格探针. 服务网格探针从服务网格的 Sidecar 和控制面板收集数据. 在以前, 代理只用作整个集群的入口, 但是有了服务网格和 Sidecar 之后, 我们可以基于此进行观测了。

  • 第三方打点类库. SkyWalking 也能够接收其他流行的打点库产生的数据格式. SkyWalking 通过分析数据,将数据格式化成自身的链路和度量数据格式. 该功能最初只能接收 Zipkin 的 span 数据. 更多参考其他追踪系统的接收器

你不必同时使用 基于语言的原生代理服务网格探针 ,因为两者都收集指标数据,否则你的系统就要承受双倍负载, 且分析数量会翻倍.

有如下几种推荐的方式来使用探针:

  1. 只使用 基于语言的原生代理.
  2. 只使用 第三方打点库, 如 Zipkin 打点系统.
  3. 只使用 服务网格探针.
  4. 使用 服务网格探针, 配合 语言原生代理第三方打点库, 来 追踪状态 . (高级用法)

另外,让我们举例说明什么是 追踪状态

默认情况下, 基于语言的原生代理第三方打点库 都会发送分布式追踪数据到后台, 后者分析/聚合这些追踪数据. 追踪状态意味着, 后端把这些追踪数据看作是日志一类的事情, 仅仅将他们保存下来, 并且在追踪和指标之间建立联系, 比如 这个追踪数据属于哪个入口哪个服务?

下一步

  • 学习 SkyWalking 如何支持探针,参考服务自动打点代理, 手动打点 SDK, 服务网格探针以及Zipkin 接收器文档。
  • 理解了探针之后, 阅读后端概览 理解如何分析及持久化数据。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文