opentelemetry-collector 设置jaeger

打印 上一主题 下一主题

主题 981|帖子 981|积分 2943

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
一、修改docker挂载的设置文件
  1. nano /root/otelcol-config.yaml
  2. ==========================================
  3. receivers:
  4.   otlp:
  5.     protocols:
  6.       grpc:
  7.         endpoint: 0.0.0.0:4317
  8.       http:
  9.         endpoint: 0.0.0.0:4318
  10. exporters:
  11.   debug:
  12.     verbosity: detailed
  13.   otlp/jaeger: # Jaeger supports OTLP directly
  14.     endpoint: 192.168.31.161:4317
  15.     tls:
  16.       insecure: true  
  17. service:
  18.   pipelines:
  19.     traces:
  20.       receivers: [otlp]
  21.       exporters: [otlp/jaeger]
  22.     metrics:
  23.       receivers: [otlp]
  24.       exporters: [debug]
  25.     logs:
  26.       receivers: [otlp]
  27.       exporters: [debug]
  28. ==========================================
复制代码
上面设置中要特别注意:insecure: true  关闭Grpc Https验证。
下面我们准备两个项目:demoA(5000)和demoB(5001),在demoA发起http调用demoB

demoA:Program.cs
  1. using OpenTelemetry.Exporter;
  2. using OpenTelemetry.Logs;
  3. using OpenTelemetry.Metrics;
  4. using OpenTelemetry.Resources;
  5. using OpenTelemetry.Trace;
  6. var builder = WebApplication.CreateBuilder(args);
  7. #region OpenTelemetry
  8. var serviceName = "demoA";
  9. var serviceVersion = "1.0.0";
  10. builder.Services.AddOpenTelemetry()
  11.     .ConfigureResource(resource => resource.AddService(
  12.         serviceName: serviceName,
  13.         serviceVersion: serviceVersion))
  14.     .WithTracing(tracing => tracing
  15.         .AddSource(serviceName)
  16.         .AddAspNetCoreInstrumentation()
  17.         .AddHttpClientInstrumentation()
  18.         .AddOtlpExporter(options =>
  19.         {
  20.             options.Endpoint = new Uri("http://192.168.31.160:4318/v1/traces");
  21.             options.Protocol = OtlpExportProtocol.HttpProtobuf;
  22.         }))
  23.     .WithMetrics(metrics => metrics
  24.         .AddMeter(serviceName)
  25.         .AddOtlpExporter(options =>
  26.         {
  27.             options.Endpoint = new Uri("http://192.168.31.160:4318/v1/metrics");
  28.             options.Protocol = OtlpExportProtocol.HttpProtobuf;
  29.         }));
  30. builder.Logging.AddOpenTelemetry(options => options
  31.     .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
  32.         serviceName: serviceName,
  33.         serviceVersion: serviceVersion))
  34.     .AddOtlpExporter(options =>
  35.     {
  36.         options.Endpoint = new Uri("http://192.168.31.160:4318/v1/logs");
  37.         options.Protocol = OtlpExportProtocol.HttpProtobuf;
  38.     }));
  39. #endregion
  40. // Add services to the container.
  41. builder.Services.AddHttpClient();
  42. builder.Services.AddControllers();
  43. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  44. builder.Services.AddEndpointsApiExplorer();
  45. builder.Services.AddSwaggerGen();
  46. var app = builder.Build();
  47. // Configure the HTTP request pipeline.
  48. if (app.Environment.IsDevelopment())
  49. {
  50.     app.UseSwagger();
  51.     app.UseSwaggerUI();
  52. }
  53. app.UseAuthorization();
  54. app.MapControllers();
  55. app.Run();
复制代码
demoB:Program.cs
  1. using OpenTelemetry.Exporter;
  2. using OpenTelemetry.Logs;
  3. using OpenTelemetry.Metrics;
  4. using OpenTelemetry.Resources;
  5. using OpenTelemetry.Trace;
  6. var builder = WebApplication.CreateBuilder(args);
  7. #region OpenTelemetry
  8. var serviceName = "demoB";
  9. var serviceVersion = "1.0.0";
  10. builder.Services.AddOpenTelemetry()
  11.     .ConfigureResource(resource => resource.AddService(
  12.         serviceName: serviceName,
  13.         serviceVersion: serviceVersion))
  14.     .WithTracing(tracing => tracing
  15.         .AddSource(serviceName)
  16.         .AddAspNetCoreInstrumentation()
  17.         .AddHttpClientInstrumentation()
  18.         .AddOtlpExporter(options =>
  19.         {
  20.             options.Endpoint = new Uri("http://192.168.31.160:4318/v1/traces");
  21.             options.Protocol = OtlpExportProtocol.HttpProtobuf;
  22.         }))
  23.     .WithMetrics(metrics => metrics
  24.         .AddMeter(serviceName)
  25.         .AddOtlpExporter(options =>
  26.         {
  27.             options.Endpoint = new Uri("http://192.168.31.160:4318/v1/metrics");
  28.             options.Protocol = OtlpExportProtocol.HttpProtobuf;
  29.         }));
  30. builder.Logging.AddOpenTelemetry(options => options
  31.     .SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(
  32.         serviceName: serviceName,
  33.         serviceVersion: serviceVersion))
  34.     .AddOtlpExporter(options =>
  35.     {
  36.         options.Endpoint = new Uri("http://192.168.31.160:4318/v1/logs");
  37.         options.Protocol = OtlpExportProtocol.HttpProtobuf;
  38.     }));
  39. #endregion
  40. // Add services to the container.
  41. builder.Services.AddControllers();
  42. // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
  43. builder.Services.AddEndpointsApiExplorer();
  44. builder.Services.AddSwaggerGen();
  45. var app = builder.Build();
  46. // Configure the HTTP request pipeline.
  47. if (app.Environment.IsDevelopment())
  48. {
  49.     app.UseSwagger();
  50.     app.UseSwaggerUI();
  51. }
  52. app.UseAuthorization();
  53. app.MapControllers();
  54. app.Run();
复制代码
运行:

检察链路:



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

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

渣渣兔

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表