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

2023-09-17 17:50:07

介绍

接上篇文章: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  # 日志级别

在上述配置文件中,我们可以看到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

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

./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组件的配置文件:

# 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组件的示例:

# 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组件时,指定配置文件路径:

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

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

结语

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

更多推荐

如何与Linamar Corp 建立EDI连接?

LinamarCorp(以下简称Linamar)是一家全球领先的汽车零部件制造商,总部位于加拿大。随着业务的不断扩展,Linamar需要与其供应商、分销商和合作伙伴之间实现更高效的业务交流和数据共享。为了提高业务流程的自动化水平,降低人工处理成本,并加强与合作伙伴之间的合作,Linamar决定实施EDI项目。Linam

【专业课130分】重邮801上岸经验分享

这个系列会邀请往届学长学姐进行经验分享~经验贴征集:前人栽树,后人乘凉,上岸同学也是看着经验贴一点一点过来的,有偿征集各位同学的经验分享,以此来帮助更多的学弟学妹们!经验不限,形式不限,各科经验均可,没有上岸也可以有失败经验。文章一经采用就会得到稿费,快来投稿吧!!!一、学长经验分享本篇是来自重庆邮电大学801专业课1

如何选择一只股票,待完善。

目录ROE(盈利能力)增长率(成长能力)收现比(营收质量)总资产周转率(经营能力)增长率(成长能力)商誉净资产比(排雷)流动比率(排雷)ROE(盈利能力)什么是ROE?ROE全名叫ReturnofEquity,翻成中文叫“股东回报率”,也叫"净资产收益率"。净资产收益率反映了一个公司的盈利能力,以及企业为股东创造价值的

简单理解事件冒泡和事件捕获

事件冒泡和事件捕获DOM事件流会依次经历3个阶段(事件也会依次触发):(1)捕获阶段:事件从文档的根节点流向目标对象。(2)当前目标阶段:在目标对象上被触发。(3)冒泡阶段:从目标对象回溯到文档的根节点。默认事件是冒泡阶段发生,如果设置了事件,那么会依次触发,内层事件执行完成,才会冒泡触发上一层。1、事件冒泡如图是3个

Vue路由与node.js环境搭建

目录前言一.Vue路由1.什么是spa1.1简介1.2spa的特点1.3spa的优势以及未来的挑战2.路由的使用2.1导入JS依赖2.2定义两个组件2.3定义组件与路径对应关系2.4通过路由关系获取路由对象2.5将对象挂载到vue实例中2.6定义触发路由事件的按钮2.7定义锚点和路由内容2.8测试效果小结二.node.

linux-gic中断分析

linux-gic中断分析这里主要分析linuxkernel中GICv3中断控制器的代码(drivers/irqchip/irq-gic-v3.c)。一、设备树先来看下中断控制器的设备树信息:gic:interrupt-controller@3400000{compatible="arm,gic-v3";#interr

Git分布式版本控制工具

概念Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。开发中的实际场景1.备份2.代码还原3.协同开发4.追溯问题代码的编写人和编写时间版本控制器的方式1.集中式版本控制工具版本库是集中存放在中央服务器的,team里每个人work时

Qt(day1)

思维导图Qt实现第一个web的基础页面#include"mywnd.h"#include"ui_mywnd.h"#include<QLabel>#include<QLineEdit>#include<qpushbutton.h>MyWnd::MyWnd(QWidget*parent):QMainWindow(paren

kafka生产者异步发送、同步发送、回调异步发送,是什么情况?

目录标题一、异步发送二、同步发送三、回调异步发送Kafka是一种分布式流处理平台,它是一种高吞吐量、可扩展、可持久化的消息队列系统,用于处理和存储实时流式数据。Kafka基于发布-订阅模式,采用了分布式、多副本、分区的架构。它允许生产者将数据以消息的形式发送到Kafka集群的一个或多个主题(topic)中,而消费者可以

(五)kafka从入门到精通之topic介绍

1、kafka简介Kafka是一个流行的分布式消息系统,它的核心是一个由多个节点组成的分布式集群。在Kafka中,数据被分割成多个小块,并通过一些复杂的算法在节点之间传递。这些小块被称为KafkaTopic。2、topic知识一个Topic是一组具有相同主题的消息。可以将Topic看作是一个数据仓库,在这个仓库中存储着

【Hash表】判断有没有重复元素-力扣 217

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kuan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术点,如集合,jvm,并发编程redis,kaf

热文推荐