我正在使用 OpenTelemetry 通过以下代码将跟踪发送到 Jaeger int .net 6:
services.AddOpenTelemetry()
.ConfigureResource(configureResource)
.WithTracing(b =>
{
b.AddAspNetCoreInstrumentation()
.AddHttpClientInstrumentation()
.AddSqlClientInstrumentation()
.AddOtlpExporter(options => { options.Endpoint = new Uri("http://localhost:4317"); });
});
问题是所有使用ILogger的日志和所有健康检查都发送到Jaeger。 我想忽略他们。
AddAspNetCoreInstrumentation
具有超载的 options。您可以配置 Filter
选项来过滤不需要的请求:
builder.AddAspNetCoreInstrumentation(options =>
{
options.Filter = (httpContext) =>
{
options.Filter = context => !context.Request.Path.Equals("/health");
};
})
要停止发送日志,您需要从
Program.cs
文件中删除 OpenTelemetry 日志记录提供程序。