SkyWalking快速上手(三)——架构剖析2

文章目录

介绍

接上篇文章:SkyWalking快速上手(二)------架构剖析1

SkyWalking是一个开源的分布式系统追踪、监控和诊断工具,它能够帮助开发人员和运维人员实时监控和诊断分布式系统的性能问题。本文将深入剖析SkyWalking的架构,并介绍其核心组件中UI和Storage组件的及其功能。

UI组件

什么是UI组件?

在SkyWalking分布式系统监控工具中,UI组件是用于展示和查询监控数据的用户界面。它提供了一个直观且易于使用的界面,帮助用户实时了解分布式系统的性能、健康状况以及请求链路的追踪情况。

UI组件的配置

以下是一个示例的UI组件的配置文件:

yaml 复制代码
# skywalking ui配置
server:
  port: 8080  # UI组件的监听端口

storage:
  elasticsearch:   # 存储使用的后端数据库(此处以Elasticsearch为例)
    nameSpace: skywalking-oap  # 存储的命名空间
    clusterNodes: localhost:9200  # Elasticsearch集群节点地址

logging:
  level: debug  # 日志级别

在上述配置文件中,我们可以看到UI组件的一些重要配置项:

  • server.port:指定UI组件的监听端口,默认为8080。
  • storage.elasticsearch.nameSpace:设置存储的命名空间,用于在Elasticsearch中区分不同的SkyWalking数据。
  • storage.elasticsearch.clusterNodes:配置连接Elasticsearch集群的节点地址。

除此之外,配置文件中还有其他可选的配置项,如日志级别logging.level。

配置UI组件示例

以下是一个配置UI组件的示例:

shell 复制代码
# skywalking-ui-config.yaml

server:
  port: 8080

storage:
  elasticsearch:
    nameSpace: skywalking-oap
    clusterNodes: localhost:9200

logging:
  level: debug

将上述配置保存为名为skywalking-ui-config.yaml的文件。然后,在启动UI组件时,指定配置文件路径:

shell 复制代码
./bin/startup.sh -c skywalking-ui-config.yaml

这样就完成了UI组件的配置,并可以通过以上所示的配置文件进行自定义修改。

使用SkyWalking UI

通过浏览器访问http://localhost:8080,即可打开SkyWalking UI界面。在UI界面上,您可以进行以下操作:

  1. 查看应用程序的性能指标和健康状况。
  2. 追踪请求链路并查看请求的详细信息。
  3. 展示服务拓扑图,以便于理解各个服务之间的依赖关系。
  4. 设置告警规则,以便及时发现和解决问题。
  5. 导出监控数据并生成报表。

通过SkyWalking UI组件,您可以更加直观地了解分布式系统的运行情况,优化性能,定位问题,并提供更好的用户体验。

Storage组件

什么是Storage组件?

在SkyWalking分布式系统监控工具中,Storage组件是用于存储监控数据的关键角色。它扮演着一个中间层的角色,负责接收来自Collector组件的追踪数据,并将其存储在后端的存储介质中,以供后续的查询和分析使用。

Storage组件的配置

以下是一个示例的Storage组件的配置文件:

yaml 复制代码
# skywalking storage配置
storage:
  type: elasticsearch  # 存储类型,此处为Elasticsearch
  elasticsearch:
    clusterNodes: localhost:9200  # Elasticsearch集群节点地址
    nameSpace: skywalking-oap  # 存储的命名空间
    indexShardsNumber: 2  # 索引分片数
    indexReplicasNumber: 1  # 索引副本数

logging:
  level: debug  # 日志级别

在上述配置文件中,我们可以看到Storage组件的一些重要配置项:

  • storage.type:指定存储的类型,此处为Elasticsearch。
  • storage.elasticsearch.clusterNodes:配置连接Elasticsearch集群的节点地址。
  • storage.elasticsearch.nameSpace:设置存储的命名空间,用于在Elasticsearch中区分不同的SkyWalking数据。
  • storage.elasticsearch.indexShardsNumber:指定索引的分片数。
  • storage.elasticsearch.indexReplicasNumber:指定索引的副本数。

除此之外,配置文件中还有其他可选的配置项,如日志级别logging.level。

配置Storage组件示例

以下是一个配置Storage组件的示例:

shell 复制代码
# skywalking-storage-config.yaml

storage:
  type: elasticsearch
  elasticsearch:
    clusterNodes: localhost:9200
    nameSpace: skywalking-oap
    indexShardsNumber: 2
    indexReplicasNumber: 1

logging:
  level: debug

将上述配置保存为名为skywalking-storage-config.yaml的文件。然后,在启动Storage组件时,指定配置文件路径:

shell 复制代码
./bin/startup.sh -c skywalking-storage-config.yaml

这样就完成了Storage组件的配置,并可以通过以上所示的配置文件进行自定义修改。

结语

通过本文的介绍,你对SkyWalking的架构有了更深入的了解。UI提供了一个用户界面进行数据展示和配置管理,Storage用于存储和索引监控数据。希望本文对你有所帮助,如果你有任何问题或疑问,请随时提问。

相关推荐
Layer15 分钟前
即时通讯系统的关键设计
后端·架构
java、iOS、Vue17 分钟前
Maven antrun vs Jenkins 脚本组装 deb的优缺点、适用场景
java·jenkins·maven
I Am a robert girl2 小时前
从科学代码库到智能体训练场:ScienceIDE 的架构拆解与工程启示
架构·强化学习·代码仓库·科学计算·监督微调·智能体训练·可编程环境
天远Date Lab3 小时前
零信任架构实战:基于天远名下车辆车牌查询A构建自动化社区车位摇号核验网关
运维·人工智能·架构·自动化
代码方舟3 小时前
零信任架构实战:基于天远名下车辆车牌查询A构建自动化机动车辆资产清查网关
大数据·人工智能·架构·自动化
nvd113 小时前
剖析 LangChain4j 的声明式 Agent 架构:从动态代理到大模型函数回调的底层真相
架构
张彦峰ZYF3 小时前
从智能体到生产系统:企业 Agent 规模化的治理、记忆、知识与安全
人工智能·安全·架构·operatingsystem·agent platform·agentcontrol·agent mesh
Dawson Zhu4 小时前
Multi-Agent架构与适用边界:何时应该使用Multi-Agent架构
人工智能·语言模型·架构·aigc·agi
梦帮科技4 小时前
【3.0修订版】跨链桥架构与资产守恒:BSCBridge、BSCMirrorBridge 与 Lock-and-Mint 模型
架构·去中心化·区块链·智能合约·共识算法·信任链
她的男孩4 小时前
分片上传的大文件人人可下载:文件模块 isPrivate 在合并时被抹成 false,另有 4 个静默坑
java·后端·架构