SkyWalking

SkyWalking提供专业的系统能监控追踪功能,将你的系统添加到这款软件就可以远程分析能,可以在软件显示监控组,可以在软件仪表盘界面查看全部数据,支持对服务,服务实例,端点指标分析,支持服务拓扑图分析,支持根本原因分析,在运行时分析代码,让用户可以清晰了解系统运行的各项数据,一旦出现错误就可以立即分析错误造成的原因从而执行修复,新版支持仪表接收器支持MAL,支持influxDB连接响应格式选项。修复使用ON作为influxDB响应格式时的一些错误,修复跟踪查询中未删除的标签,添加Python金字塔插件的组件ID!

SkyWalking软件功能

SkyWalking:一个开源的可观察平台,用于收集,分析,聚合和可视化来自服务和云本机基结构的数据。SkyWalking提供了一种简便的方法来您的分布式系统的清晰视图,即使在整个云中也是如此。它是一种现代APM,专门为基于云的基于容器的分布式系统而设计。

为什么要使用SkyWalking?

SkyWalking提供了用于在许多不同情况下观察和监视分布式系统的解决方案。首先,与传统方法一样,SkyWalking为服务提供自动仪器代理,例如Java,C#,Node.js,Go,PHP和Nginx LUA。(并呼吁提供Python和C ++ SDK贡献)。在多语言,持续部署的环境中,云本机基架构变得越来越强大,但也越来越复杂。SkyWalking的服务网格接收器使SkyWalking能够从Istio / Envoy和Linkerd等服务网格框架接收遥测数据,从而使用户能够了解整个分布式系统。

SkyWalking为服务,服务实例,端点提供可观察功能。服务,实例和端点这两个术语在今天到处都有使用,因此值得在SkyWalking的上下文中定义它们的特定含义:

1、服务。表示一组/一组工作负载,这些工作负载为传入请求提供相同的行为。使用仪器代理或SDK时,可以定义服务名称。SkyWalking也可以使用您在Istio等平台中定义的名称。

2、服务实例。服务组中的每个单独工作负载都称为实例。像pods在Kubernetes中一样,它不必是单个OS进程,但是,如果您使用仪器代理,则实例实际上是一个真正的OS进程。

3、端点。服务中用于传入请求的路径,例如HTTP I路径或gRPC服务类+方法签名。

通过SkyWalking,用户可以了解服务和端点之间的拓扑关系,查看每个服务/服务实例/端点的指标并设置警报规则。

此外,您可以整合

1、其他使用SkyWalking本机代理程序和SDK以及Zipkin,Jaeger和OpenCensus进行的分布式跟踪。

2、其他度量系统,例如Pmetheus,Sleuth(Micmeter)。

SkyWalking软件特色

从逻辑上讲,SkyWalking分为四个部分:探针,平台后端,存储和UI。

1、探针收集数据并重新格式化以符合SkyWalking要求(不同的探针支持不同的来源)。

2、平台后端,支持数据聚合,分析并驱动从探针到UI的流程。该分析包括SkyWalking本机跟踪和度量标准,包括Istio和Envoy遥测在内的第三方,Zipkin跟踪格式等。您甚至可以使用针对本机度量标准的Observability Analysis Language和针对扩展度量标准的Meter 来定制聚合和分析。

3、存储设备通过开放/可插入的界面存储SkyWalking数据。您可以选择现有的实现,例如ElasticSearch,H2或由Sharding-Sphere管理的MySQL集群,也可以实现自己的实现。欢迎为新的存储实现者打补丁!

4、UI是一个高度可定制的基于Web的界面,允许SkyWalking最终用户可视化和管理SkyWalking数据。

SkyWalking使用说明

1、提供软件源码,将其部署到自己的系统就可以在web监控设备能

2、软件监控界面如图所示,设备成功添加就可以直接远程监控

3、可以在软件添加新的项目,可以在软件创建分页面监控设备能

4、可以在软件查看设备拓扑图,将设备添加到软件建立可视化的关系图

5、您可以在软件设置分区,将不同的设备添加到分组设置为拓扑图

6、追踪功能,在软件输入ID就可以对设备的追踪,将显示在软件下方

7、能分析界面,在软件上查看当前设备的工作情况,可以显示任务列表,显示项目开始时间

8、志界面,在软件查看当前的服务项目,在软件查看历史工作记录

SkyWalking软件协议

此处列出了两种类型的协议。

1、探测协议。包括有关代理如何发送收集的度量标准数据和跟踪的描述和定义,以及每个实体的格式。

2、查询协议。后端为SkyWalking自己的UI和其他UI提供查询功能。这些查询基于GraphQL。

探测协议

它们还与探针组有关,以了解这一点,请参阅“概念和设计”文档。这些组是基于语言的本地代理协议,服务网格协议和第三方工具协议。

基于语言的本地代理协议

有两种类型的协议可使语言代理在分布式环境中工作。

1、跨进程传播标头协议和跨进程相关标头协议采用有线数据格式,代理/ SDK通常使用HTTP / MQ / HTTP2标头来携带带有rpc请求的数据。远程代理将在请求处理程序中接收此消息,并将上下文与此特定请求绑定。

2、跟踪数据协议没有可用的数据,代理/ SDK使用此数据将跟踪和度量标准发送到空中行走或其他兼容的后端。

跨进程传播标头协议v3是用于内联上下文传播的新协议,始于8.0.0版本。

跨进程关联标头协议v1是新的在线上下文传播附加和可选协议。请阅读SkyWalking语言代理程序文档以查看是否受支持。该协议定义了使用传输自定义数据的数据格式Css Pcess Ppagation Headers Ptocol。自8.0.0起,SkyWalking javaagent开始支持此功能。

SkyWalking跟踪数据协议v3定义了代理与后端之间的通信方式和格式。

浏览器探针协议

浏览器探针(例如 skywalking-client-js)可以使用此协议发送到后端。此服务由gRPC提供。

SkyWalking浏览器协议定义了skywalking-client-js后端之间的通信方式和格式。

服务网格探测协议

边车或代理中的探测器可以使用此协议将数据发送到backendEnd。gRPC提供的此服务需要以下关键:

1、双方的服务名称或ID。

2、两侧的服务实例名称或ID。

3、端点。HTTP中的I,gRPC中的服务方法完整签名。

4、潜伏。以毫秒为单位。

5、HTTP中的响应代码

6、状态。成功或失败。

7、协议。HTTP,gRPC

8、DetectPoint。在服务网格边车中,client或。在普通的L7代理中,值为pxy。

第三方仪器协议

SkyWalking并未定义第三方仪器协议。它们只是协议/格式,与SkyWalking兼容并且可以从其现有的库中接收。SkyWalking从支持Zipkin v1,v2数据格式开始。

后端基于模块化原理,因此很容易扩展新的接收器以支持新的协议/格式。

查询协议

查询协议遵循GraphQL语法,可提供数据查询功能,这取决于您的分析指标

SkyWalking软件优势

保持可观察。无论目标系统如何部署,SkyWalking都可以提供一种解决方案或集成方式来保持其可观察。基于此,SkyWalking提供了几种运行时表单和探针。

拓扑,度量和跟踪一起。查看和理解分布式系统的第一步应该是从拓扑图。它将整个复杂系统可视化为简单的地图。在这种拓扑下,OSS人员需要更多有关服务,实例,端点和呼叫的指标。跟踪作为详细志存在,以使这些指标有意义。例如,当端点延迟变长时,您希望查看最慢的跟踪以找出原因。因此,您可以看到,它们从全局到细节都是必需的。SkyWalking集成并提供了许多功能,使之成为可能并易于理解。

重量轻。这里需要两部分重量轻。(1)在探讨中,我们仅依赖于网络通信框架,而更喜欢gRPC。这样,探针应尽可能小,以避免库冲突和VM的有效负载,例如JVM中的permsize要求。(2)作为可观察平台,它是项目环境中的第二级和第三级系统。因此,我们使用自己的轻量级框架来构建后端核心。,您无需部署大数据技术平台并进行。SkyWalking在技术堆栈中应该很简单。

可插拔的。SkyWalking核心团队提供了许多默认实现,但这绝对是不够的,并且并不适合所有情况。因此,我们提供了许多可插拔的功能。

可移植。SkyWalking可以在多种环境中运行,包括:(1)使用传统的注册中心,如尤里卡。(2)使用包括服务发现在内的RPC框架,例如Spng Cloud,Apache Dubbo。(3)在现代基架构中使用服务网格。(4)使用云服务。(5)跨云部署。在所有这些情况下,SkyWalking应该运行良好。

互作。可观察是一个大景观,SkyWalking不可能支持所有人,即使是社区也是如此。因此,它支持与其他OSS系统互作,主要是探针,例如Zipkin,Jaeger,OpenTracing,OpenCensus。接受并理解其数据格式可确保SkyWalking对最终用户更加有用。并且不需要用户切换他们的库。

可观察分析平台

OAP(可观察分析平台)是一个新概念,始于SkyWalking6.x。OAP取代了旧的SkyWalking整个后端。该平台的功能如下。

OAP功能

OAP接受来自更多来源的数据,这些来源分为两组:Tracing和Metcs。

追踪。包括SkyWalking本机数据格式。Zipkin v1,v2数据格式和Jaeger数据格式。

指标。SkyWalking与Istio,Envoy,Linkerd等Service Mesh平台集成,以提供从数据面板或控制面板的可观察。而且,SkyWalking本机代理可以在指标模式下运行,从而极大地提高了能。

同时,通过使用提供的任何集成解决方案,例如SkyWalking志插件或工具包,SkyWalking提供可视化集成,以使用跟踪ID和跨度ID将跟踪和志记录绑定在一起。

像往常一样,gRPC和HTTP协议提供的所有服务可以使不受支持的生态系统的集成更加容易。

OAP追踪

OAP中的跟踪有两种处理方式。

SkyWalking 5系列中的传统方式。使用SkyWalking跟踪段和跨度格式格式化跟踪数据,即使是Zipkin数据格式也是如此。OAP分析这些段以获取指标,将指标数据推送到流式聚合中。

考虑将跟踪仅作为某些类型的志记录。只需提供跟踪的保存和可视化功能即可。

此外,SkyWalking接受来自其他项目的跟踪格式,例如Zipkin,Jaeger,OpenCensus。这些格式也可以两种方式处理。

OAP中的指标

OAP中的度量标准是6系列中的全新功能。基于连接节点的指标为分布式系统建立可观察。不需要跟踪数据。

指标数据以流模式聚集在OAP集群内部。

SkyWalking常见问题

服务网格探针

Service Mesh探针使用Service Mesh实现程序中提供的可扩展机制,例如Istio。

什么是服务网格?

以下说明来自Istio文档。

术语“服务网格”通常用于描述组成此类应用程序的微服务网络及其之间的交互。随着服务网格的大小和复杂的增长,它变得越来越难以理解和管理。它的要求可能包括发现,负载平衡,故障恢复,指标和监视,通常还包括更复杂的作要求,例如A / B测试,金丝雀版本,速率限制,访问控制和端到端身份验证。

探针从何处收集数据?

Istio是非常典型的Service Mesh设计和实现者。它定义了广泛使用的控制面板和数据面板。

Service Mesh探针可以选择从“数据面板”收集数据。在Istio中,这意味着从Envoy sidecar(数据面板)收集遥测数据。该探针根据每个请求从客户端和端收集两个遥测实体。

Service Mesh如何使后端工作?

从该探针中,您可以看到这种探针一定没有任何关联,那么为什么SkyWalking平台仍然可以工作?

Service Mesh探针从每个请求收集遥测数据,因此它知道源,目的地,端点,延迟和状态。通过这些,后端可以通过将这些调用组合为行,并通过它们的传入请求将每个节点的度量组合起来,从而告诉整个拓扑图。后端从解析跟踪数据中请求相同的指标数据。因此,正确的表达是: 服务网格度量标准是精确的度量标准,即跟踪解析器生成的内容。他们是一样的。

上一篇 2022-11-28

相关推荐

  • SkyWalking

    SkyWalking是一个可观测分析平台和应用能管理系统,提供分布式追踪、服务网状遥测分析、指标聚合和可视化一体化解决方案,支持Java、.Net Core、PHP、Node、...
    2023-01-20
  • SkyWalking

    SkyWalking提供专业的系统能监控追踪功能,将你的系统添加到这款软件就可以远程分析能,可以在软件显示监控组,可以在软件仪表盘界面查看全部数据,支持对服务,服务实例,端点指...
  • SkyWalking

    SkyWalking是一个可观测分析平台和应用能管理系统,提供分布式追踪、服务网状遥测分析、指标聚合和可视化一体化解决方案,支持Java、.Net Core、PHP、Node、...
    2022-07-05
正在提交中,请稍等片刻...

发表回复

请登录后评论...
登录后才能评论

评论列表 (0条)