skywalking笔记(一)

211 阅读2分钟

这是我参与11月更文挑战的第11天,活动详情查看:2021最后一次更文挑战

官网

英文文档

中文文档

是什么

分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。

提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

能干啥

  • 多种监控手段。可以通过语言探针和 service mesh 获得监控是数据。
  • 多个语言自动探针。包括 Java,.NET Core 和 Node.JS。
  • 轻量高效。无需大数据平台,和大量的服务器资源。
  • 模块化。UI、存储、集群管理都有多种机制可选。
  • 支持告警。
  • 优秀的可视化解决方案。

架构预览

image.png

  • 上部分 Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器。目前采用grpc或者http传输
  • 下部分 SkyWalking OAP( Observability Analysis Platform) :负责接收 Agent 发送的 Tracing 数据信息,然后进行分析(Analysis Core) ,存储到外部存储器( Storage ),最终提供查询( Query )功能。
  • 右部分 Storage :Tracing 数据存储。目前支持 ES、MySQL、Sharding Sphere、TiDB、H2 多种存储器。而我们目前采用的是 ES ,主要考虑是 SkyWalking 开发团队自己的生产环境采用 ES 为主。
  • 左部分 SkyWalking UI :负责提供控台,查看链路等等。

总的来说就是 Agent 将各个应用中收集的信息 通过 http\grpc 发送到 oap,oap将执行关键数据通过Storage进行持久化,这些信息的展示、搜索都可以通过 UI 体现

安装包

image.png

agent (应用中,收集链路信息)

image.png

  • activations

  • bootstrap-plugins

  • config(配置文件)

    • agent.conf(代理配置)
  • logs

    • skywalking-api.log(收集日志)
  • optional-plugins

  • plugins(各种插件,适用于收集各种不同的链路信息:mysql、redis、mq.....)

  • skywalking-agent.jar(代理java应用)

bin (启动组件shell文件)

image.png

  • webappService.sh(启动 UI 界面-linux)

  • oapService.bat(启动 oap 组件-win)

  • oapService.sh(启动 oap 组件-linux)

  • oapServiceInit.bat

  • oapServiceInit.sh

  • oapServiceNoInit.bat

  • oapServiceNoInit.sh

  • startup.bat(启动 oapService 和 webappService -- win)

  • startup.sh(启动 oapService 和 webappService -- linux)

  • webappService.bat(启动 UI 界面-win)

config(oap、Storage配置文件)

image.png

  • logs(oap日志)

  • oap-libs(oap组件文件jar)

  • tools

  • webapp(UI组件)

    • skywalking-webapp.jar

    • webapp.yml