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


    介绍

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

    UI组件

    什么是UI组件?

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

    UI组件的配置

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

    # skywalking ui配置
    server:
      port: 8080  # UI组件的监听端口
    
    storage:
      elasticsearch:   # 存储使用的后端数据库(此处以Elasticsearch为例)
        nameSpace: skywalking-oap  # 存储的命名空间
        clusterNodes: localhost:9200  # Elasticsearch集群节点地址
    
    logging:
      level: debug  # 日志级别
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

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

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

    配置UI组件示例

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

    # skywalking-ui-config.yaml
    
    server:
      port: 8080
    
    storage:
      elasticsearch:
        nameSpace: skywalking-oap
        clusterNodes: localhost:9200
    
    logging:
      level: debug
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

    ./bin/startup.sh -c skywalking-ui-config.yaml
    
    • 1

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

    使用SkyWalking UI

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

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

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

    Storage组件

    什么是Storage组件?

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

    Storage组件的配置

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

    # skywalking storage配置
    storage:
      type: elasticsearch  # 存储类型,此处为Elasticsearch
      elasticsearch:
        clusterNodes: localhost:9200  # Elasticsearch集群节点地址
        nameSpace: skywalking-oap  # 存储的命名空间
        indexShardsNumber: 2  # 索引分片数
        indexReplicasNumber: 1  # 索引副本数
    
    logging:
      level: debug  # 日志级别
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

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

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

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

    配置Storage组件示例

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

    # skywalking-storage-config.yaml
    
    storage:
      type: elasticsearch
      elasticsearch:
        clusterNodes: localhost:9200
        nameSpace: skywalking-oap
        indexShardsNumber: 2
        indexReplicasNumber: 1
    
    logging:
      level: debug
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

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

    ./bin/startup.sh -c skywalking-storage-config.yaml
    
    • 1

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

    结语

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

  • 相关阅读:
    Nginx: Rewrite功能配置/Nginx反向代理/Nginx的安全控制SSL
    基于语音信号识别性别(Matlab代码实现)
    国庆周《Linux学习第三课》
    hdfs读流程
    MySQL之从单机到集群
    【JavaEE初阶】多线程 _ 基础篇 _ 线程安全问题(上篇)
    【Django】开发日报_1.1_Day:模板语法
    【QT系列教程】之一安装配置
    vue中渲染器原理
    [SWPUCTF 2021 新生赛]crypto2
  • 原文地址:https://blog.csdn.net/yangsimo/article/details/132948155