马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
一、修改docker挂载的设置文件
- nano /root/otelcol-config.yaml
- ==========================================
- receivers:
- otlp:
- protocols:
- grpc:
- endpoint: 0.0.0.0:4317
- http:
- endpoint: 0.0.0.0:4318
- exporters:
- debug:
- verbosity: detailed
- otlp/jaeger: # Jaeger supports OTLP directly
- endpoint: 192.168.31.161:4317
- tls:
- insecure: true
- service:
- pipelines:
- traces:
- receivers: [otlp]
- exporters: [otlp/jaeger]
- metrics:
- receivers: [otlp]
- exporters: [debug]
- logs:
- receivers: [otlp]
- exporters: [debug]
- ==========================================
复制代码 上面设置中要特别注意:insecure: true 关闭Grpc Https验证。
下面我们准备两个项目:demoA(5000)和demoB(5001),在demoA发起http调用demoB

demoA:Program.cs
- using OpenTelemetry.Exporter;
- using OpenTelemetry.Logs;
- using OpenTelemetry.Metrics;
- using OpenTelemetry.Resources;
- using OpenTelemetry.Trace;
- var builder = WebApplication.CreateBuilder(args);
- #region OpenTelemetry
- var serviceName = "demoA";
- var serviceVersion = "1.0.0";
- builder.Services.AddOpenTelemetry()
- .ConfigureResource(resource => resource.AddService(
- serviceName: serviceName,
- serviceVersion: serviceVersion))
- .WithTracing(tracing => tracing
- .AddSource(serviceName)
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/traces");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }))
- .WithMetrics(metrics => metrics
- .AddMeter(serviceName)
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/metrics");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }));
- builder.Logging.AddOpenTelemetry(options => options
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
- serviceName: serviceName,
- serviceVersion: serviceVersion))
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/logs");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }));
- #endregion
- // Add services to the container.
- builder.Services.AddHttpClient();
- builder.Services.AddControllers();
- // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
- builder.Services.AddEndpointsApiExplorer();
- builder.Services.AddSwaggerGen();
- var app = builder.Build();
- // Configure the HTTP request pipeline.
- if (app.Environment.IsDevelopment())
- {
- app.UseSwagger();
- app.UseSwaggerUI();
- }
- app.UseAuthorization();
- app.MapControllers();
- app.Run();
复制代码 demoB:Program.cs
- using OpenTelemetry.Exporter;
- using OpenTelemetry.Logs;
- using OpenTelemetry.Metrics;
- using OpenTelemetry.Resources;
- using OpenTelemetry.Trace;
- var builder = WebApplication.CreateBuilder(args);
- #region OpenTelemetry
- var serviceName = "demoB";
- var serviceVersion = "1.0.0";
- builder.Services.AddOpenTelemetry()
- .ConfigureResource(resource => resource.AddService(
- serviceName: serviceName,
- serviceVersion: serviceVersion))
- .WithTracing(tracing => tracing
- .AddSource(serviceName)
- .AddAspNetCoreInstrumentation()
- .AddHttpClientInstrumentation()
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/traces");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }))
- .WithMetrics(metrics => metrics
- .AddMeter(serviceName)
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/metrics");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }));
- builder.Logging.AddOpenTelemetry(options => options
- .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
- serviceName: serviceName,
- serviceVersion: serviceVersion))
- .AddOtlpExporter(options =>
- {
- options.Endpoint = new Uri("http://192.168.31.160:4318/v1/logs");
- options.Protocol = OtlpExportProtocol.HttpProtobuf;
- }));
- #endregion
- // Add services to the container.
- builder.Services.AddControllers();
- // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
- builder.Services.AddEndpointsApiExplorer();
- builder.Services.AddSwaggerGen();
- var app = builder.Build();
- // Configure the HTTP request pipeline.
- if (app.Environment.IsDevelopment())
- {
- app.UseSwagger();
- app.UseSwaggerUI();
- }
- app.UseAuthorization();
- app.MapControllers();
- app.Run();
复制代码 运行:

检察链路:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |