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用于存储和索引监控数据。希望本文对你有所帮助,如果你有任何问题或疑问,请随时提问。

相关推荐
javaDocker6 小时前
业务架构、数据架构、应用架构和技术架构
架构
JosieBook8 小时前
【架构】主流企业架构Zachman、ToGAF、FEA、DoDAF介绍
架构
szc17678 小时前
docker 相关命令
java·docker·jenkins
.生产的驴9 小时前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
丁总学Java9 小时前
ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
arm开发·架构
ZOMI酱11 小时前
【AI系统】GPU 架构与 CUDA 关系
人工智能·架构
牙牙70514 小时前
Centos7安装Jenkins脚本一键部署
java·servlet·jenkins
灼烧的疯狂15 小时前
K8S + Jenkins 做CICD
容器·kubernetes·jenkins
java1234_小锋15 小时前
Elasticsearch中的节点(比如共20个),其中的10个选了一个master,另外10个选了另一个master,怎么办?
大数据·elasticsearch·jenkins