【微服务部署】07-调用链追踪

文章目录

集成SkyWalking实现调用链追踪

1. SkyWalking架构图

Receiver是SkyWalking的入口,支持gRPC和HTTP协议。

SkyWalking内部有分析和查询两个部分

存储方面SkyWalking支持Elasticsearch和MySql,H2等数据库

2. 代码集成SkyWalking

  • 包引用:SkyAPM.Agent.AspNetCore/SkyAPM.Transport.Grpc/SkyAPM.Transport.Grpc.Protocol
  • 应用程序根目录放置skyapm.json文件
  • 程序环境变量中添加如下代码,

"ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "SkyAPM.Agent.AspNetCore"

  • 部署文件添加环境变量,服务地址

skywalking_hostingStartup=SkyAPM.Agent.AspNetCore

skywalking_servers=172.16.190.168:11800

  • deployment.yaml中定义环境变量,读取上述环境标量的值

skyapm.json

复制代码
{
  "SkyWalking": {
    "ServiceName": "ordering-api",
    "Namespace": "",
    "HeaderVersions": [
      "sw6"
    ],
    "Sampling": {
      "SamplePer3Secs": -1,
      "Percentage": -1.0
    },
    "Logging": {
      "Level": "Information",
      "FilePath": "logs\\skyapm-{Date}.log"
    },
    "Transport": {
      "Interval": 3000,
      "ProtocolVersion": "v6",
      "QueueSize": 30000,
      "BatchSize": 3000,
      "gRPC": {
        "Servers": "localhost:11800",
        "Timeout": 10000,
        "ConnectTimeout": 10000,
        "ReportTimeout": 600000
      }
    }
  }
}

默认情况下SkyWalking使用的是本地内存数据库,重启会丢失数据,线上环境建议使用Elasticsearch存储

相关推荐
头茬韭菜6 小时前
OpenManus 深度分析与文档系列计划
架构·openmanus
夏天拐跑了西瓜6 小时前
Spring Cloud 微服务实战(八):Hystrix熔断降级——从服务雪崩到断路器模式
spring cloud·hystrix·微服务
lucky_syq7 小时前
小模型推理能力天花板:是Transformer架构锁死,还是参数规模不够?换架构能否实现推理飞跃?
深度学习·架构·transformer
阿拉斯攀登8 小时前
RocketMQ事务消息核心原理:解决售货柜下单、扣库存、支付数据一致性
架构
阿拉斯攀登8 小时前
无人售货柜设备消息体系设计:心跳上报、故障告警、状态同步
架构
阿拉斯攀登8 小时前
无人售货机订单业务MQ架构:创建订单、支付回调、出货完成、订单归档
架构
微三云 - 廖会灵 (私域系统开发)8 小时前
抖店 OPC(Operational Process Control)自动化运营系统:架构、痛点与服务商商业体系分析
运维·架构·自动化
jianqiang.xue8 小时前
收官:从v0.1到“研发新常态“,一套嵌入式智能体的落地与边界
stm32·单片机·物联网·架构·esp32
阿拉斯攀登9 小时前
SpringBoot整合RocketMQ:生产者、消费者快速搭建
架构
vHelios9 小时前
【电商项目】短信测试遇到的问题与解决方案:InaccessibleObjectException报错、单元测试通过但未接收到验证码
java·微服务