第02讲:链路追踪利器,快速上手 SkyWalking

这篇具有很好参考价值的文章主要介绍了第02讲:链路追踪利器,快速上手 SkyWalking。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SkyWalking 环境搭建

在本课时中,我们将安装并体验 SkyWalking 的基本使用,下面是使用到的相关软件包:

  • apache-skywalking-apm-6.2.0.tar.gz

下载地址:https://archive.apache.org/dist/skywalking/6.2.0/

  • elasticsearch-6.6.1.tar.gz

下载地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.1.tar.gz

  • kibana-6.6.1-darwin-x86_64.tar.gz

下载地址:https://artifacts.elastic.co/downloads/kibana/kibana-6.6.1-darwin-x86_64.tar.gz

ElasticSearch 安装

下载完 elasticsearch-6.6.1.tar.gz 包之后,使用如下命令进行解压缩:

tar -zxf elasticsearch-6.6.1.tar.gz

解压完成之后,进入得到的 elasticsearch-6.6.1 目录中,执行如下命令后台启动 ElasticSearch 服务:

./bin/elasticsearch -d

ElasticSearch 启动的相关日志可以通过下面的命令进行查看:

tail -f logs/elasticsearch.log

最后,我们可以请求 localhost:9200 这地址,看到下图输出的这段 JSON 即安装成功:

Kibana 安装

Kibana 是一个开源的分析和可视化平台,主要用于和 Elasticsearch 一起工作,轻松实现 ElasticSearch 的查询和管理。这里使用 ElasticSearch 作为 SkyWalking 的后端存储,在后续调试 SkyWalking 源码时,可能会直接查询 ElasticSearch 中的某些索引,所以这里一并安装 Kibana。

下载完 kibana-6.6.1-darwin-x86_64.tar.gz 安装包之后,我们使用如下命令进行解压:

tar -zxf  kibana-6.6.1-darwin-x86_64.tar.gz

解压完成后进入 kibana-6.6.1-darwin-x86_64 目录,修改 config/kibana.yml 文件:

# 指定上述 ElasticSearch监听的地址,其他配置不变
elasticsearch.hosts: ["http://localhost:9200"]

之后执行如下命令,启动 Kibana 服务:

./bin/kibana

最后我们通过访问 http://localhost:5601/ 地址即可进入 Kibana 界面:

SkyWalking 安装

下载完成 apache-skywalking-apm-6.2.0.tar.gz 包之后,执行如下命令解压缩:

tar -zxf apache-skywalking-apm-6.2.0.tar.gz

解压完成之后进入 apache-skywalking-apm-bin 目录,编辑 config/application.yml 文件,将其中 ElasticSearch 配置项以及其子项的全部注释去掉,将 h2 配置项及其子项全部注释掉,如下图所示,这样 SkyWalking 就从默认的存储 h2 切换成了 ElasticSearch :

接下来执行 ./bin/startup.sh 文件即可启动 SkyWalking OAP 以及 UI 界面,看到的输出如下:

>./bin/startup.sh
SkyWalking OAP started successfully!
SkyWalking Web Application started successfully!

我们可以在 logs/skywalking-oap-server.log 以及 logs/webapp.log 两个日志文件中查看到 SkyWalking OAP 以及 UI 项目的相关日志,这里不再展开。

最后访问 http://127.0.0.1:8080/ 即可看到 SkyWalking 的 Rocketbot UI界面。

Skywalking Agent 目录结构

SkyWalking Agent 使用了 Java  Agent 技术,可以在无需手工埋点的情况下,通过 JVM 接口在运行时将监控代码段插入已有 Java 应用中,实现对 Java 应用的监控。SkyWalking Agent 会将服务运行过程中获得的监控数据通过 gRPC 发送给后端的 OAP 集群进行分析和存储。

SkyWalking 目前提供的 Agent 插件在 apache-skywalking-apm-bin/agent 目录下:

agent
    ├── activations
    │   ├── apm-toolkit-log4j-1.x-activation-6.2.0.jar
    │   ├── ...
    │   └── apm-toolkit-trace-activation-6.2.0.jar
    ├── config # Agent 配置文件
    │   └── agent.config
    ├── logs # 日志文件
    ├── optional-plugins # 可选插件
    │   ├── apm-customize-enhance-plugin-6.2.0.jar
    │   ├── apm-gson-2.x-plugin-6.2.0.jar
    │   └── ... ...
    ├── plugins # 当前生效插件
    │   ├── apm-activemq-5.x-plugin-6.2.0.jar
    │   ├── tomcat-7.x-8.x-plugin-6.2.0.jar
    │   ├── spring-commons-6.2.0.jar
    │   └── ... ...
    └── skywalking-agent.jar

其中,agent.config 文件是 SkyWalking Agent 的唯一配置文件。plugins 目录存储了当前 Agent 生效的插件。optional-plugins 目录存储了一些可选的插件(这些插件可能会影响整个系统的性能或是有版权问题),如果需要使用这些插件,需将相应 jar 包移动到 plugins 目录下。最后的 skywalking-agent.jar 是 Agent 的核心 jar 包,由它负责读取 agent.config 配置文件,加载上述插件 jar 包,运行时收集到 的 Trace 和 Metrics 数据也是由它发送到 OAP 集群的。

skywalking-demo 示例

下面搭建 demo-webapp、demo-provider 两个 Spring-Boot 项目,并且接入 SkyWalking Agent 进行监控,具体结构如下:

demo-webapp 会 Dubbo 远程调用 demo-provider 的接口,而 Dubbo 依赖了 Zookeeper,所以要先安装 Zookeeper。首先下载 zookeeper-3.4.14.tar.gz 包(下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/)。下载完成之后执行如下命令解压缩:

tar -zxf zookeeper-3.4.14.tar.gz

解压完成之后,进入 zookeeper-3.4.14 目录,拷贝 conf/zoo_sample.cfg 文件并重命名为 conf/zoo.cfg,之后执行如下命令启动 Zookeeper:

>./bin/zkServer.sh start
# 下面为输出内容
ZooKeeper JMX enabled by default
Using config: /Users/xxx/zookeeper-3.4.14/bin/../conf/zoo.cfg # 配置文件
Starting zookeeper ... STARTED # 启动成功

下面在 IDEA 中创建 skywalking-demo 项目,并在其中创建 demo-api、demo-webapp、demo-provider 两个 Module,如下图所示:

在 skywalking-demo 下面的 pom.xml 中,将父 pom 指向 spring-boot-starter-parent 并添加 demo-api 作为公共依赖,如下所示:

<project xmlns=...">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
    </parent>
    <groupId>com.xxx</groupId>
    <artifactId>skywalking-demo</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>demo-api</module>
        <module>demo-webapp</module>
        <module>demo-provider</module>
    </modules>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.xxx</groupId>
                <artifactId>demo-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>

在 demo-api 中只定义了 HelloService 接口,它是 Dubbo Provider 和 Dubbo Consumer 依赖的公共接口,如下:

public interface HelloService {
    String say(String name) throws Exception;
}

demo-provider 模块

这里的 demo-provider 扮演了 Dubbo Provider 的角色,在其 pom.xml 文件中引入了 Spring Boot 以及集成 Dubbo 相关的依赖,如下所示:

<dependencies>
    <!-- 引入公共API接口 -->
    <dependency>
        <groupId>com.xxx</groupId>
        <artifactId>demo-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    <!-- 引入spring-boot-starter以及dubbo和curator的依赖 -->
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>0.2.0</version>
    </dependency>
    <!-- Spring Boot相关依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
</dependencies>

demo-provider 模块中的 DefaultHelloService 实现了 HelloService 接口,如下所示:

@Service
@Component
public class DefaultHelloService implements HelloService {

    public String say(String name) throws Exception{
        Thread.sleep(2000);
        return “hello” + name;
    }
}

在 resource/application.yml 配置文件中将 DefaultHelloService 实现注册到 Zookeeper上对外暴露为 Dubbo Provider,具体配置如下:

dubbo:
  application:
    name: demo-provider # Dubbo Provider 的名字
  registry:
    # 注册中心地址,即前面启动的Zookeeper地址
    address: zookeeper://127.0.0.1:2181 
  protocol:
    name: dubbo # 指定通信协议
    port: 20880 # 通信端口,这里指的是与消费者间的通信协议与端口
  provider:
    timeout: 10000 # 配置全局调用服务超时时间,dubbo默认是1s,肯定不够用呀
    retries: 0 # 不进行重试
    delay: -1

在 DemoProviderApplication 中提供 Spring Boot 的启动 main() 方法,如下所示:

@EnableDubbo // 添加对 Dubbo支持的注解
@SpringBootApplication
public class DemoProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoProviderApplication.classargs);
    }
}

为了引入 Skywalking Agent 插件,还需要将 apache-skywalking-apm-bin/agent/config 目录下的 agent.config 配置文件拷贝到 demo-provider 模块的 resource 目录下,并修改其中的 agent.service_name:

# The service name in UI
agent.service_name=${SW_AGENT_NAME:demo-provider}

很明显,agent.config 是一个 KV 结构的配置文件,类似于 properties 文件,value 部分使用 "${}" 包裹,其中使用冒号(":")分为两部分,前半部分是可以覆盖该配置项的系统环境变量名称,后半部分为默认值。例如这里的 agent.service_name 配置项,如果系统环境变量中指定了 SW_AGENT_NAME 值(注意,全是大写),则优先使用环境变量中指定的值,如果环境变量未指定,则使用 demo-provider 这个默认值。

除了系统环境变量的覆盖方式,SkyWalking Agent 还支持另外两种覆盖默认值的方式:

  • JVM 配置覆盖

例如这里的 agent.service_name 配置项,如果在 JVM 启动之前,明确中指定了下面的 JVM 配置:

-Dskywalking.agent.service_name = demo-provider
# "skywalking."是 Skywalking环境变量的默认前缀

则会使用该配置值覆盖 agent.config 配置文件中默认值。

  • 探针配置覆盖

如果将 Java Agent 配置为如下:

-javaagent:/path/skywalking-agent.jar=agent.service_name=demo-provider
# 默认格式是 -javaagent:agent.jar=[option1]=[value1],[option2]=[value2]

则会使用该 Java Agent 配置值覆盖 agent.config 配置文件中 agent.service_name 默认值。

如果四种配置同时出现,则优先级如下:

探针配置 > JVM配置 > 系统环境变量配置 > agent.config文件默认值

编辑好 agent.config 配置文件之后,我们需要在启动 demo-provider 之前通过参数告诉 JVM SkyWalking Agent 配置文件的位置,IDEA 中的配置如下图所示:

最后启动 DemoProviderApplication 这个入口类,可以看到如下输出:

# 查找到 agent.config 配置文件
INFO 2020-02-01 12:12:07:574 main SnifferConfigInitializer :  Config file found in ... agent.config. 
# 查找到 agent目录
DEBUG 2020-02-01 12:12:07:650 main AgentPackagePath :  The beacon class location is jar:file:/Users/xxx/... 
# Dubbo Provider 注册成功
2020-02-01 12:12:16.105  INFO 58600 --- [main] c.a.d.r.zookeeper.ZookeeperRegistry      :  [DUBBO] Register: dubbo://172.17.32.91:20880/com.xxx.service.HelloService
# demo-provider 启动成功
2020-02-01 12:12:16.269  INFO 58600 --- [           main] com.xxx.DemoProviderApplication          : Started DemoProviderApplication in 4.635 seconds (JVM running for 9.005)

demo-webapp 模块

完成 demo-provider 模块的启动之后,我们继续来开发 demo-webapp 模块,其 pom.xml 与 demo-provider 中的 pom.xml 相比,多引入了 spring-boot 对 Web开发的依赖,以及 SkyWalking 提供的 apm-toolkit-trace 依赖用来获取 TraceId:

  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>

<!-- apm-toolkit-trace 这个依赖主要用来获取 TraceId -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>6.2.0</version>
</dependency>

首先,在 HelloWorldController 中提供了两个接口:

  • /hello/{words} 接口:通过 Dubbo 远程调用 demo-provider 暴露的接口。
  • /err 接口:直接抛出 RuntimeException 异常。

HelloWorldController 的具体实现如下:

@RestController
@RequestMapping("/")
public class HelloWorldController {
    @Reference
    private HelloService helloService;

    @GetMapping(“/hello/{words}”)
    public String hello(@PathVariable(“words”) String words) 
            throws Exception
{
        Thread.sleep(1000);
        // TraceContext 工具类定义在 apm-toolkit-trace 依赖包中
        log.info(“traceId:{}”, TraceContext.traceId());
        ActiveSpan.tag(“hello-trace”, words);
        String say = helloService.say(words);
        Thread.sleep(1000);
        return say;
    }

    @GetMapping(“/err”)
    public String err() {
        String traceId =  TraceContext.traceId();
        log.info(“traceId:{}”, traceId);
        ActiveSpan.tag(“error-trace activation”“error”);
        throw new RuntimeException(“err”);
    }

在 resources/application.yml 文件中会配置 demo-webapp 监听的端口、Zookeeper 地址以及 Dubbo Consumer 的名称等等,具体配置如下:

server:
  port: 8000

dubbo:
  application:
    name: demo-webapp # Dubbo Consumer名字
  registry:
    address: zookeeper://127.0.0.1:2181 # 注册中心地址,即 Zookeeper地址

demo-webpp 模块也需要在 resource 目录下添加 agent.config 配置文件,并修改其 agent.service_name 配置项,如下所示:

# The service name in UI
agent.service_name=${SW_AGENT_NAME:demo-webapp}

demo-webpp 模块的入口 main() 方法与 demo-provider 相同,不再赘述。

为了接入 SkyWalking Agent,启动 demo-webapp 项目之前也需要配置相应的 VM options 参数,指定 agent.config 配置文件的地址,如下图所示:

最后,启动 demo-webapp 项目,通过浏览器访问 http://localhost:8000/hello/xxx 地址得到正常相应,访问 http://localhost:8000/err 得到 500 响应,即表示启动成功。

到此为止,SkyWalking Agent 的基本接入方式就介绍完了,在后面分析和改造 SkyWalking 源码时,还可以使用 demo-webapp 和 demo-provider 这两个应用来产生 Trace 和 Metrics 数据。

SkyWalking Rocketbot 使用

搭建完 SkyWalking 环境以及相关示例之后,我们来看如何使用 SkyWalking 提供的 UI 界面—— Skywalking Rocketbot。在前面执行的 ./bin/startup.sh 脚本,除了启动后端 OAP 服务,同时还会启动 Skywalking Rocketbot(位于 webapp 目录下的 skywalking-webapp.jar)。

如下图所示,在 Skywalking Rocketbot 首页顶部(1)处,有四个主 Tab 页,在【仪表盘】这个 Tab 中,(2)处可以选择查询的服务(Service)、端点(Endpoint) 以及服务实例(ServiceInstance)。在(3)处可以选择展示的不同维度,下图展示了 Global 这个全局视图:

其中有五个面板((4)~(8)),分别是:

  • Global Heatmap 面板:热力图,从全局展示了某段时间请求的热度。
  • Global Percent Response 面板 :展示了全局请求响应时间的 P99、P95、P75 等分位数。
  • Global Brief 面板:展示了 SkyWalking 能感知到的 Service、Endpoint 的个数。
  • Global Top Troughput 面板:展示了吞吐量前几名的服务。
  • Global Top Slow Endpoint 面板:展示了耗时前几名的 Endpoint。

除了 SkyWalking Rocketbot 默认提供的这些面板,我们还可以点击(2)处左边的锁型按钮,自定义 Global 面板。另外,我们还可以通过(9)处的时间选择框选择自定义查询的时间段。

将(3)处切换到 Service 面板,可以看到针对 Service 的监控面板,如下图所示:

  • Service (Avg) ResponseTime 面板:展示了指定服务的(平均)耗时。
  • Service (Avg) Throughput 面板:展示了指定服务的(平均)吞吐量。
  • Service (Avg) SLA 面板:展示了指定服务的(平均)SLA(Service Level Agreement,服务等级协议)。
  • Service Percent Response 面板:展示了指定服务响应时间的分位数。
  • Service Slow Endpoint 面板:展示了指定服务中耗时比较长的 Endpoint 信息。
  • Running ServiceInstance 面板:展示了指定服务下的实例信息。

将(3)处切换到 Endpoint 面板,可以看到针对 Endpoint 的监控面板,基本功能与 Service 面板类似,这里不再展开。

将(3)处切换到 Instance 面板,可以看到针对 ServiceInstance 的监控面板,如下图所示:

     
在 ServiceInstance 面板中展示了很多 ServiceInstance 相关的监控信息,例如,JVM 内存使用情况、GC 次数、GC 耗时、CPU 使用率、ServiceInstance SLA 等等信息,这里不再一一展开介绍。

下面我们切换到【拓扑图】这个主 Tab,如下图所示,在(1)处展示当前整个业务服务的拓扑图。点击拓扑图中的任意节点,可在(2)处看到服务相应的状态信息,其中包括响应的平均耗时、SLA 等监控信息。点击拓扑图中任意一条边,可在(3)处看到一条调用链路的监控信息,其中会分别从客户端(上游调用方)和服务端(下游接收方)来观测这条调用链路的状态,其中展示了该条链路的耗时、吞吐量、SLA 等信息:

下面我们切换到【追踪】这个主 Tab来查询 Trace 信息,如下图所示。在(1)、(2)处可以选择 Trace 的查询条件,其中可以指定 Trace 涉及到的 Service、ServiceInstance、Endpoint 以及Trace 的状态继续模糊查询,还可以指定 TraceId 和时间范围进行精确查询。在(3)处展示了 Trace 的简略信息,下图中 "/err" 接口这条 Trace 被显示为红色表示该 Trace 关联的请求出现了异常。在(4)和(5)处展示了 Trace 的具体信息以及所有 Span 信息,我们可以通过(6)处按钮调整 Span 的展示方式:

点击 Trace 中的 Span,就可以将该 Span 的具体信息展示出来,如下下图所示,点击"/err" 接口相关 Trace 中的 Span,即可看到相应的 TRuntimeException 异常信息:

最后,我们将主 Tab 也切换到【告警】,这里展示了 Skywalking 发出来的告警信息,如下图所示,这里也提供了相应的查询条件和关键字搜索框。

总结

本课时搭建 SkyWalking 的运行环境,完成 ElasticSearch、Kibana、Skywalking 等的安装,并搭建了 skywalking-demo 项目作为演示示例,带同学们上手体验了 Skywalking Agent 的接入的流程。

最后介绍了 SkyWalking Rocketbot UI 界面强大的功能,包括 Service、Endpoint、ServiceInstance 等不同级别的监控,展示了整个服务的拓扑图、Trace 查询以及告警信息查询等功能。文章来源地址https://www.toymoban.com/news/detail-409100.html

到了这里,关于第02讲:链路追踪利器,快速上手 SkyWalking的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • skywalking全链路追踪

    skywalking全链路追踪

    在上一篇文章skywalking安装教程中我们介绍了skywalking的作用以及如何将其集成到我们的微服务项目中。本篇文章我们介绍在微服务架构中,如何使用skywalking对一次客户端请求进行全链路追踪。 skywalking的介绍分多篇文章: 微服务项目集成skywalking skywalking全链路追踪 何为全链路

    2024年02月14日
    浏览(10)
  • 分布式链路追踪专栏,分布式链路追踪:Skywalking集群管理设计

    分布式链路追踪专栏,分布式链路追踪:Skywalking集群管理设计

    SkyWalking 是一个开源 APM 系统,包括针对 Cloud Native 体系结构中的分布式系统的监视,跟踪,诊断功能。核心功能如下: 服务、服务实例、端点指标分析; 根本原因分析,在运行时分析代码; 服务拓扑图分析; 服务,服务实例和端点依赖性分析; 检测到慢速服务和端点; 性

    2024年02月01日
    浏览(13)
  • Skywalking全链路追踪【学习笔记】

    Skywalking全链路追踪的服务搭建,使用docker进行安装。 搭建【ES】 搭建【SkyWalking】 访问这里:http://localhost:9898/ 就有界面了 启动配置添加【Agent】 日志配置添加【日志】 完成 (~ ̄▽ ̄)~ 本地测试接口请求 然后登入http://localhost:9898/ 进行查看数据 参考 SkyWalking 教程:https

    2024年02月12日
    浏览(11)
  • 全网最全的Skywalking链路追踪

    全网最全的Skywalking链路追踪

    写在前面 :笔者发现目前关于Skywalking的内容很是零散,没有成型的内容,笔者在项目中使用到Skywalking进行埋点分析,下面分三篇来介绍下Skywalking,分别是Skywalking基本知识,Skywalking基于docke安装,SpringBoot工程集成Skywalking 服务监控需要满足的三要素分别如下: 日志监控 指标

    2023年04月08日
    浏览(11)
  • SkyWalking链路追踪-技术文档首页

    SkyWalking链路追踪-技术文档首页

    SkyWalking链路追踪-融合-spring-boot-cloud-单机环境 之《10 分钟快速搭建spring-boot-cloud整合SkyWalking链路追踪》_一单成的博客-CSDN博客 SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》_一单成的博客-CSDN博客  SkyWalking链路追踪-Collector(收集器)_一单

    2024年02月15日
    浏览(14)
  • 分布式链路追踪之SkyWalking

    分布式链路追踪之SkyWalking

      在微服务架构中,一次请求往往涉及到多个模块,多个中间件,多台机器的相互协作才能完成。这一系列调用请求中,有些是串行的,有些是并行的,那么如何确定这个请求背后调用了哪些应用,哪些模块,哪些节点及调用的先后顺序?如何定位每个模块的性能问题?本

    2023年04月20日
    浏览(13)
  • SkyWalking链路追踪中span全解

    SkyWalking链路追踪中span全解

            在SkyWalking链路追踪中,Span(跨度)是Trace(追踪)的组成部分之一。Span代表一次调用或操作的单个组件,可以是一个方法调用、一个HTTP请求或者其他类型的操作。         每个Span都包含了一些关键的信息,如开始时间、结束时间、耗时、所属的Trace ID、Spa

    2024年02月16日
    浏览(9)
  • 微服务链路追踪SkyWalking学习笔记

    微服务链路追踪SkyWalking学习笔记

    目录 1、skywalking是什么 1.2 链路追踪框架对比 1.3 性能对比 1.4 Skywalking主要功能特性 2、 SkyWalking 环境搭建部署 2.1 下载 SkyWalking   2.2 搭建SkyWalking OAP 服务 2.3 SkyWalking中三个概念 3、 SkyWalking 接入微服务 3.1 linux环境—通过jar包方式接入 3.2 windos环境—在IDEA中使用Sk

    2024年02月14日
    浏览(13)
  • SkyWalking分布式链路追踪学习

    SkyWalking分布式链路追踪学习

    实际生产中,面对几十个、甚至成百上千个的微服务实例,如果一旦某个实例发生宕机,如果不能快速定位、提交预警,对实际生产造成的损失无疑是巨大的。所以,要对微服务进行监控、预警,对微服务的调用链路进行监控,迅速定位问题 SkyWalking下载 SkyWalking官网 elastic

    2024年02月07日
    浏览(32)
  • SkyWalking链路追踪-Collector(收集器)

    SkyWalking的Collector(收集器)是SkyWalking链路追踪的核心组件之一。它负责接收来自各个Agent的追踪数据,并将其存储到数据存储器(如数据库)中。具体来说,Collector提供了一个统一的接口,用于接收和处理从Agent发送过来的数据。 数据接收:Collector提供接口和服务来接收来自

    2024年02月15日
    浏览(8)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包