.NetCore 使用Zipkin 分布式服务追踪监控服务性能

参考资料

https://zipkin.io/

https://github.com/openzipkin/zipkin/

https://github.com/openzipkin/zipkin4net

搭建环境

CentOS 7.X

Java 8 SDK

zipkin官网有三种安装方式可以参考

Docker

docker run -d -p 9411:9411 openzipkin/zipkin

Java

如果你已经拥有Java8的环境可以如下安装

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

源码安装

git clone https://github.com/openzipkin/zipkin
cd zipkin
./mvnw -DskipTests --also-make -pl zipkin-server clean install
java -jar ./zipkin-server/target/zipkin-server-*exec.jar

安装好之后访问下地址看下Zipkin效果

.NetCore中怎么来使用Zipkin

首先添加如下2个nuget包

为了不使Configure方法太过臃肿,我这里扩展下需要用到的IApplicationBuilder接口

在Configure中注入IApplicationLifetime 、ILoggerFactory两个对象

 

  app.UserZipkinCore(applicationLifetime, loggerFactory);
public static void UserZipkinCore(this IApplicationBuilder app,IApplicationLifetime applicationLifetime,ILoggerFactory loggerFactory)
        {
            applicationLifetime.ApplicationStarted.Register(() =>
            {
                TraceManager.SamplingRate = 1.0f;
                var logger = new TracingLogger(loggerFactory, "zipkin4net");
                var httpsender = new HttpZipkinSender("http://ipaddress:9411", "application/json");
                var tracer = new ZipkinTracer(httpsender, new JSONSpanSerializer());
                TraceManager.RegisterTracer(tracer);
                TraceManager.Start(logger);
            });
            applicationLifetime.ApplicationStopped.Register(() => TraceManager.Stop());
            app.UseTracing("IdentityServer4"); 
        }
SamplingRate:跟踪日志的颗粒度
UseTracing:在Zipkin上新建的服务名称

启动引用程序查看Zipkin中的记录

关于Zipkin的界面功能就不做特别介绍一看都懂

 
 

 

转载于:https://www.cnblogs.com/liyouming/p/9228297.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值