• 微服务-基于Skywaling链路追踪(6)


    一.为什么用Skywalking?
    随着微服务业务复杂度的增加,接口间通信和校验会变的复杂,为了便于找到和调试,引入链路追踪监控和分析各接口明细的运行情况。
     
    常用的链路追踪组件有以下3种,进行了对比:
     
     
    选用Skywalking的原因是其基于Java Agent探针技术,通过字节码注入的方式实现调用拦截和数据收集,可以做到真正的代码无侵入,只需要在启动服务器的时候添加一些参数,就可以完成探针的部署是非侵入的埋点方式,且存储支持ES,符合项目实际的场景。
     
    Skywalking架构图如下:
     
    二.SkyWalking在Net Core的安装和使用
    (1)前期准备:JDK安装
    JDK安装完成后,添加 环境变量中的系统变量 JAVA_HOME ,JRE_HOME
     
    cmd查看版本 java -version
    (2)Skywalking下载和启动
    (2-1)Windows版本
    下载Skywalking,下载地址如下:https://archive.apache.org/dist/skywalking/
     
    找到安装包 apache-skywalking-apm-8.4.0,双击"startupbat",如下图所示
     
     
    (2-2)Centos版本
    1.准备
    命令:
    docker pull
    apache/skywalking-oap-server:6.6.0-es7
    apache/skywalking-ui:6.6.0
    命令:
     
    2.安装
    安装oap
    docker run --name oap --restart always -d 
    -e TZ=Asia/Shanghai 
    -p 12800:12800 
    -p 11800:11800 
    --link es7:es7 
    -e SW_STORAGE=elasticsearch 
    -e SW_STORAGE_ES_CLUSTER_NODES=es7:9200 
    apache/skywalking-oap-server:6.6.0-es7
    安装UI
    docker run -d --name skywalking-ui 
    -e TZ=Asia/Shanghai 
    -p 8080:8080 
    --link oap:oap 
    -e SW_OAP_ADDRESS=oap:12800 
    apache/skywalking-ui:6.6.0
    完成后访问8080端口:
    (3)与.Net Core集成
    (3-1)dotnet tool install -g SkyAPM.DotNet.CLI
    (3-2)修改 launchSettings.json
      配置文件中增加属性:"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"

     (3-3)安装Nuget包 SkyAPM.Agent.AspNetCore

    (3-4)在应用程序根目录下使用以下命令生成skyapm.json的配置文件
    dotnet skyapm config [service name] [server]:11800
     其中:
    [service name]替换为服务的名称
    [server]替换为Skywalking安装的服务器ip
     
    dotnet skyapm config SkyApm_API:11800     11800是SkyApm的默认端口
     
    在项目文件中,多了文件 skyapm.json
    (3-5)启动进程
    打开Skywalking的UI界面,点击“追踪”,看到接口的持续时间和跨度信息
    点击“拓扑图”, 可看到接口间的调用关系
     

     以上仅用于学习和总结!

    附:
    项目源码:链接:https://pan.baidu.com/s/1uCHfXnGPXNH6OA8vLbdXBQ  提取码:v6p6

    apache-skywalking-apm-8.4.0:链接:https://pan.baidu.com/s/100JrSfD5-6KfeQ2CDILT3w       提取码:fmb0

     
     
     
    参考地址:
  • 相关阅读:
    mysql执行顺序及习题
    多表查询
    PyQt5-03-信号与槽
    PyQt5-01-安装及简单例子
    252.anaconda升级版本
    251.anaconda下载资源包慢
    250.anaconda+vscode
    61.基础语法-函数式编程
    60.基础语法-异常的处理
    59.语法基础-包
  • 原文地址:https://www.cnblogs.com/ywkcode/p/14640599.html
Copyright © 2020-2023  润新知