【分布式追踪与监控】链路监控介绍及SkyWalking+Elasticsearch下载安装

链路监控

本文章目的:如何在微服务系统中使用链路监控

1、什么是链路监控

对微服务系统调用链监控就是链路监控

1.1 什么是链路

在分布式系统中,完成一个功能 ,需要涉及到许多服务协作,连接这些服务的请求组合起来就是链路,

例如:就好比一台自行车,我想让自行车跑起来,必须使用链条,那么这个链条就是链路。
在这里插入图片描述

1.2 什么是链路监控

就是用来记录服务之间的请求过程,就是链路监控

2、为什么要使用链路监控

见图,微服务不使用链路监控
在这里插入图片描述

1、微服务系统正常运行,时间正常情况下,不需要使用监控中心

2、在微服务调用过程中比较耗时情况

​ 2.1 如何知道是什么地方导致耗时,无法排查是哪一个节点出现了问题

3、在微服务调用过程中,涉及到哪些微服务情况

​ 3.1 无法知道微服务的调用过程。

在这两个问题的情况下,所以我们需要使用知道微服务之间的调用过程和每一个微服务掉调用过程所需要的时间。

根据场景中出现的问题,来引出链路监控

那么如何解决这两种问题呢,所以出现了链路监控
在这里插入图片描述

链路监控框架

Cat :大众点评开发,基于java的实时应用监控平台,包括实时应用监控,业务是监控

Zipkin :java 开发Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单 :代码嵌入性强,基于中间件实现,

Pinpoint:java开发 Pinpoint是韩国人开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入

SkyWalking:java 开发 SkyWalking是本土开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。全链路追踪,配置极其简单。没有任何代码入侵。

Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东的Hydra、新浪的Watchman,美团点评的CAT,skywalking等。

根据优点和缺点(也是框架内部的一些配置和对比)进行比较得出结论

1、两方面考虑 结合框架特点,结合业务场景特点

所以我们选择SkyWalking

微服务系统中如何使用SkyWalking

条件

1、JDK1.8

2、SkyAPM.Agent.AspNetCore

3、Mysql/ES

SkyWalking概念

Skywalking Agent

​ SkyWalking客户端,用来发送链路数据到Collecter

SkyWalking Collecter

​ 对于链路数据进行分析,处理,然后存储到storage

Skywalking Storage

​ 对于分析的链路结果数据进行存储

SkyWalking UI

​ 展示链路数据,方便监控

SkyWalking集成架构原理图

见图进行展示
在这里插入图片描述

如何使用SkyWalking

条件

1、JDK1.8

2、Elasticsearch 6.6.0

3、SkyWalking

4、SkyAPM-dotnet

5、api网关

步骤

1、JDK 1.8操作

​ 1.1 jdk1.8下载

​ 已经进行下载

2、Elasticsearch 6.6.0操作

​ 2.1 Elasticsearch 6.6.0下载

​ 下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-6-0

​ 2.2 Elasticsearch 6.6.0配置

​ 解压后,在elasticsearch-6.6.0/config目录下,在elasticsearch.yml内配置

network.host: 0.0.0.0
增加
thread_pool.bulk.queue_size: 1000

​ 2.3 Elasticsearch 6.6.0启动

​ 解压后,在elasticsearch-6.6.0/bin目录下,双击启动

	elasticsearch.bat

​ 2.4 Elasticsearch 6.6.0访问

输入访问地址:http://localhost:9200,显示页面,安装成功

3、 SkyWalking操作

​ 3.1 SkyWalking 下载

​ 下载地址:http://skywalking.apache.org/downloads/

​ 3.2 SkyWalking 配置

​ 解压后,在apache-skywalking-apm-bin/config目录下,在application.yml内配置

elasticsearch:
    nameSpace: ${SW_NAMESPACE:""}
    clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
    protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
    trustStorePath: ${SW_SW_STORAGE_ES_SSL_JKS_PATH:"../es_keystore.jks"}
    trustStorePass: ${SW_SW_STORAGE_ES_SSL_JKS_PASS:""}
    user: ${SW_ES_USER:""}
    password: ${SW_ES_PASSWORD:""}
    indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:2}
    indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:0}
    # Those data TTL settings will override the same settings in core module.
    recordDataTTL: ${SW_STORAGE_ES_RECORD_DATA_TTL:7} # Unit is day
    otherMetricsDataTTL: ${SW_STORAGE_ES_OTHER_METRIC_DATA_TTL:45} # Unit is day
    monthMetricsDataTTL: ${SW_STORAGE_ES_MONTH_METRIC_DATA_TTL:18} # Unit is month
    # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
    bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000} # Execute the bulk every 1000 requests
    flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10} # flush the bulk every 10 seconds whatever the number of requests
    concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2} # the number of concurrent requests
    resultWindowMaxSize: ${SW_STORAGE_ES_QUERY_MAX_WINDOW_SIZE:10000}
    metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
    segmentQueryMaxSize: ${SW_STORAGE_ES_QUERY_SEGMENT_SIZE:200}

​ 注释配置

#  h2:
#    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}
#    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}
#    user: ${SW_STORAGE_H2_USER:sa}
#    metadataQueryMaxSize: ${SW_STORAGE_H2_QUERY_MAX_SIZE:5000}

​ 3.3 SkyWalking-webapp配置

​ 切换到apache-skywalking-apm-bin/webapp目录,在webapp.yml配置

server:
  port: 8081	

​ 3.4 SkyWalking 启动

​ 解压后,在apache-skywalking-apm-bin/bin目录下,双击启动

	startup.bat

​ 3.4 SkyWalking

输入地址进行访问:http://localhost:8081,响应结果,安装成功

4、将不同语言的APM进行接入操作
.NET Core APM接入参考

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老陈聊架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值