Aspire 仪表板显示有关应用程序和其他资源在环境中运行方式的实时数据。
下图是 Aspire 仪表板生成的跟踪可视化效果的屏幕截图。
仪表板上显示的信息来自两个源:
OpenTelemetry(OTel)是一个开源的可观测框架,用于收集您的应用程序中的 跟踪、 指标和 日志 。
- 踪迹跟踪请求的生命周期 - 请求在应用程序的不同部分之间移动时如何被接收和处理。 此信息对于识别瓶颈和其他问题很有用。
- 指标是基础结构的一般运行状况和性能的实时度量,例如,消耗了多少 CPU 资源,以及应用程序每秒处理的事务数。 此信息有助于了解应用的响应能力或识别性能问题的预警信号。
- 日志记录在运行应用程序期间发生的所有事件和错误。 此信息对于查找发生问题的时间和相关事件很有用。
Kubernetes API 提供有关运行应用程序的基础 Kubernetes Pod 及其日志的信息。
仪表板受到保护以防范未经授权的访问和修改。 若要使用仪表板,用户必须具有“写入”权限或更高权限 - 换句话说,他们必须是环境中的参与者或所有者。
启用仪表板
小窍门
对于Aspire管理的环境,请使用 Aspire CLI配置并部署仪表盘。 如果你在使用门户时遇到问题,可以在容器应用的 GitHub 仓库里创建问题。
可以使用以下步骤在任何现有容器应用上启用 Aspire 仪表板。
转到 Azure 门户。
浏览到容器应用。
在 “概述 ”页中,找到 Aspire 仪表板 标签,然后选择 “启用”。 此操作将打开 Aspire 仪表板的设置页。
在设置页的 Aspire 仪表板 标签旁边,选中 “已启用 ”复选框。 可以忽略此页上的其他设置,因为它们与日志记录相关,而不是 Aspire 仪表板。
在容器应用的 “概述 ”页中,找到 Aspire 仪表板 标签。 “启用”链接已替换为“打开仪表板”链接。 选择此链接。 可能需要重新加载“概述”页才能显示该链接。
还可以通过浏览到容器应用环境并选择 “监视>日志记录”选项来查找 Aspire 仪表板设置。
注释
Aspire 仪表板不支持使用自定义域进行访问。 必须使用Azure 容器应用提供的默认域名,例如:https://<DOTNET_COMPONENT_NAME>.ext.<CLUSTER_NAME>.<REGION>.azurecontainerapps.io
可以使用以下命令在任何现有容器应用环境中启用 Aspire 仪表板。 将 <PLACEHOLDERS> 替换为你的值。
az containerapp env dotnet-component create \
--environment <ENVIRONMENT_NAME> \
--name aspire-dashboard \
--resource-group <RESOURCE_GROUP_NAME>
create 命令会返回可在浏览器中打开的仪表板 URL。
注释
Aspire 仪表板不支持使用自定义域进行访问。 必须使用Azure 容器应用提供的默认域名,例如:https://<DOTNET_COMPONENT_NAME>.ext.<CLUSTER_NAME>.<REGION>.azurecontainerapps.io
Azure 容器应用 环境集成默认包含 Aspire 仪表盘。 要创建并部署带有仪表盘的Aspire应用:
创建一个 Aspire 入门应用,并添加 Azure 容器应用 集成:
aspire new aspire-starter --name AspireApp --output AspireApp cd AspireApp aspire add Aspire.Hosting.Azure.AppContainers在AppHost.cs中,添加一个Azure 容器应用环境:
builder.AddAzureContainerAppEnvironment("aca-env");认证与部署:
az login aspire deploy
aspire deploy 命令会返回可在浏览器中打开的仪表板 URL。 要省略仪表盘,请将 .WithDashboard(false) 链接到环境资源上。
更多信息请参见 Deploy to Azure 容器应用 和 WithDashboard。
注释
Aspire 仪表板不支持使用自定义域进行访问。 必须使用Azure 容器应用提供的默认域名,例如:https://<DOTNET_COMPONENT_NAME>.ext.<CLUSTER_NAME>.<REGION>.azurecontainerapps.io
故障排除
如果在启用仪表板时遇到问题,请参阅以下项:
门户最多可能需要两分钟来激活仪表板。 如果尝试在仪表板准备就绪之前访问,服务器将返回
404或421错误。如果遇到
421“错误定向请求”错误,请关闭浏览器窗口,等待几分钟,然后重试。在访问仪表板时,您可能会收到一条身份验证错误消息,内容是:“无法通过请求的资源对用户进行身份验证”。
出现此问题的原因是安全组权限不会传播到容器应用环境。 若要解决此问题,请确保在容器应用环境中为自己显式授予“参与者”或“所有者”角色。 可以通过以下步骤完成此操作:
-
导航到资源:
- 打开Azure门户并搜索容器应用环境。
-
访问“访问控制 (IAM)”边栏选项卡:
- 单击容器应用环境的“访问控制(IAM)”。。
-
验证现有的角色分配:
- 检查你(或你的帐户)是否分配了任何角色。 请注意,权限当前不会通过安全组传播。
- 如果没有,请按照其余步骤分配角色。
- 显式角色分配:- 单击“添加”>“添加角色分配”。 - 选择角色:“参与者”或“所有者”(对应于你需要的访问级别)。 - 将角色显式分配给用户帐户(例如 youremail@domain.com)。
-
保存并确认:
- 保存更改。 确保该角色在“角色分配”部分下可见。
-
验证仪表板访问权限:
- 尝试访问 Aspire 仪表板进行测试。 如果继续收到错误,请联系我们的团队。
-
导航到资源:
Aspire 仪表板不支持使用自定义域进行访问。 必须使用Azure 容器应用提供的默认域名,例如:
https://<DOTNET_COMPONENT_NAME>.ext.<CLUSTER_NAME>.<REGION>.azurecontainerapps.io