如何在 Blazor 8 中使用独立 Aspire 仪表板?

问题描述 投票:0回答:1

在此视频中:https://youtu.be/BnjHArsYGLM?si=hzogiatb4-323S&t=463 @SamSpencer 和 @NoaFolk 谈论 OpenTelemetry 和 .NET8。

7:43 左右,Noa 谈论独立的 Aspire 仪表板以及如何在无需完整 Aspire 项目设置的情况下使用它。

遗憾的是他们没有共享工作仓库。

我使用 .NET 8 的新模板创建了一个新的 Blazor WebApp(该模板创建两个项目,一个服务器端和一个客户端),并添加了 OpenTelemetry。我使用 ConsoleExporter,我可以看到它正在按照我想要的方式进行日志记录。我什至添加了一些指标。

但我无法让仪表板工作。还有其他人能做到这一点吗?

这是我的 Program.cs,在我的服务器端项目中:

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddSingleton<CustomMeters>();

builder.Services.AddOpenTelemetry()
    .WithMetrics(metrics => metrics
            .AddMeter("Microsoft.AspNetCore.Hosting")
            .AddMeter("Microsoft.AspNetCore.Server.Kestrel")
            .AddMeter("Microsoft.AspNetCore.Http.Connections")
            .AddMeter("System.NET.Http")
            .AddHttpClientInstrumentation()
            .AddAspNetCoreInstrumentation()
            .AddOtlpExporter())              // <== This should create the dashboard
    .WithTracing(tracing => tracing
            .SetSampler(new AlwaysOnSampler())
            .AddHttpClientInstrumentation()
            .AddAspNetCoreInstrumentation()
    );

// Clear default logging providers used by WebApplication host.
builder.Logging.ClearProviders();

builder.Logging.AddOpenTelemetry(options =>
{
    options.AddConsoleExporter();
    options.AddOtlpExporter(otlpOptions =>
        otlpOptions.Endpoint = new Uri(builder.Configuration.GetValue("Otlp:Endpoint", defaultValue: "http://localhost:4317")!));
});

// Add services to the container.
builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents()
    .AddInteractiveWebAssemblyComponents();

var app = builder.Build();
[..]
blazor .net-8.0 dotnet-aspire
1个回答
0
投票

答案就在评论里。 请参阅 https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/standalone 了解可工作的独立仪表板。 神奇的酱汁是:

docker run --rm -it -p 18888:18888 -p 4317:18889 -d --name aspire-dashboard mcr.microsoft.com/dotnet/aspire-dashboard:8.1.0

然后在 Blazor 服务器中将 ENV VAR 设置为:

OTEL_EXPORTER_OTLP_ENDPOINT=http://localhos
© www.soinside.com 2019 - 2024. All rights reserved.