东莞市盛裕绒艺玩具有限公司

东莞市盛裕绒艺玩具有限公司

letou188客服

15319717466
联系方式
全国服务热线: 15319717466

咨询热线:13585563176
联系人:李英鹏
地址:广州市番禺区清河东路319号

Steeltoe之Distributed Tracing篇

来源:letou188客服   发布时间:2019-12-03   点击量:443

Steeltoe里的分布式追踪功能与Spring Cloud Sleuth一样,支持在日志中记录追踪数据,或者上传到远端的服务,比如Zipkin。

Logging

在Steeltoe中使用日志时需要引入其特有的日志包Steeltoe.Extensions.Logging.DynamicLogger

之后还需在应用程序启动时加入日志提供器。

WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().ConfigureLogging((builderContext, loggingBuilder) =>{ loggingBuilder.AddConfiguration(builderContext.Configuration.GetSection("Logging")); // Add Steeltoe Dynamic Logging provider loggingBuilder.AddDynamicConsole();});

接下来,引入追踪包Steeltoe.Management.TracingCore

然后在Startup类中加入追踪服务。

public void ConfigureServices(IServiceCollection services){ services.AddDistributedTracing(Configuration); services.AddMvc();}

最后在Action方法里添加日志锚点。

[Route("api/[controller]")][ApiController]public class ValuesController : ControllerBase{ private readonly ILogger _logger; public ValuesController(ILogger<ValuesController> logger) { _logger = logger; } // GET api/values [HttpGet] public ActionResult<IEnumerable<string>> Get() { _logger.LogWarning("Hello log"); return new string[] { "value1", "value2" }; }}

并在appsettings.json文件确认如下配置:

"Logging": { "LogLevel": { "Default": "Warning" }}

这样启动程序后,可以在输出窗口内看到两条日志,这是因为Steeltoe的日志提供器是对ASP.NET Core自身日志器的进一步封装,其在原始数据基础上增加了如Spring Cloud Sleuth中一样的额外信息。

Exporting

如果想要把追踪数据发送到Zipkin服务中,还需额外引入新的包Steeltoe.Management.ExporterCore

并在Startup类中增加新的服务。

public void ConfigureServices(IServiceCollection services){ services.AddDistributedTracing(Configuration); services.AddZipkinExporter(Configuration); services.AddMvc();}public void Configure(IApplicationBuilder app, IHostingEnvironment env){ app.UseMvc(); app.UseTracingExporter();}

appsettings.json文件里加上上文中Zipkin的服务地址。

"management": { "tracing": { "alwaysSample": true, "egressIgnorePattern": "/api/v2/spans|/v2/apps/.*/permissions|/eureka/.*|/oauth/.*", "exporter": { "zipkin": { "endpoint": "http://localhost:10000/api/v2/spans", "validateCertificates": false } } }}

再次启动程序,首先可以看到exportable字段的值已从false变为了true。

然后,再到Zipkin服务中查看,追踪数据确实已经传入到其中。

相关产品

COPYRIGHTS©2017 letou188客服 ALL RIGHTS RESERVED 备案号:443