你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

切换为在 Azure Monitor 中使用托管 Prometheus 可视化效果

Container Insights 当前使用 Log Analytics 中的数据为 Azure 门户中的可视化效果提供支持。 但是,随着托管 Prometheus 的发布,这种新的指标集合格式更便宜、更高效。 Container Insights 现在提供仅使用托管 Prometheus 数据进行可视化的功能。 本文将帮助你设置和使用受托管的 Prometheus 作为主要可视化工具。

注意

此功能目前以公共预览版形式提供,用于已启用 Arc 的 Kubernetes 群集,以及在中国和美国政府区域中的部署。 某些可视化效果可能有所不同。

有关其他信息,请阅读 Microsoft Azure 预览版补充使用条款

先决条件

若要使用 Prometheus 查看 Container Insights 数据,请确保完成以下步骤。

  • 配置了托管 Prometheus 配置的 Azure Kubernetes 服务 (AKS) 或已启用 Azure Arc 的 Kubernetes 群集
  • 用户对关联的 Prometheus 数据收集规则和 Reader具有 权限或更高权限
  • 广告拦截已禁用或设置为允许 monitor.azure.com 流量
  • 对于 Windows 群集,启用 Windows 指标收集

访问基于 Prometheus 的 Container Insights

由于 Azure Monitor 支持各种级别的自定义,你的群集当前可能具有基于日志的 Container Insights、托管 Prometheus 或其他组合。

注意

适用于 Container Insights 的托管 Prometheus 可视化效果使用记录规则来提高图表性能,详细了解配置了哪些规则

  1. 打开 Azure 门户并导航到所需的群集。

  2. 从菜单中选择 MonitorInsights 菜单项,显示包含要加入到监视的选项的基本监视体验。

取消监视群集的屏幕截图。

  1. 在工具栏中选择 Monitor Settings 按钮以打开监控配置面板,或单击下方的任何 Enable metrics 链接。 请注意,默认情况下,Logs and Events 下拉列表在 Advanced Settings 下处于选中状态。

  2. 若要完成设置,请单击 Configure 按钮。

  3. 加入部署完成后,你应能够看到将 Prometheus 用作数据源的 Insights 体验,工具栏下拉列表会显示 Managed Prometheus visualizations (Recommended)

具有基于 Prometheus 的 Container Insights 的 AKS 群集的屏幕截图。

可选步骤

虽然上述步骤已足够,但为了获得完整的可视化体验,可以完成一些可选步骤。

节点和 Pod 标签集合

默认情况下,节点和 Pod 的标签不可用,但可以通过重新启用加载项进行收集。 节点标签是按节点池筛选数据所必需的。

AKS 群集

  1. 如果当前部署了托管的 Prometheus 插件,则必须先禁用它
az aks update --disable-azure-monitor-metrics -n <clusterName> -g <resourceGroup>
  1. 然后,使用标志 --ksm-metric-labels-allow-list 重新启用该加载项
az aks update -n <clusterName> -g <resourceGroup> --enable-azure-monitor-metrics --ksm-metric-labels-allow-list "nodes=[*], pods=[*]" --azure-monitor-workspace-resource-id <amw-id>

已启用 Arc 的群集

  1. 如果当前部署了托管的 Prometheus 插件,则必须先禁用它
az k8s-extension delete --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group-name> --cluster-type connectedClusters
  1. 然后,使用以下配置设置重新启用加载项
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist="nodes=[*], pods=[*]"

禁用 Log Analytics 数据收集

如果你当前使用的是基于日志的 Container Insights 体验,则可以选择停止将指标引入 Log Analytics 以节省费用。 确认 Prometheus 支持的 Container Insights 体验足以满足你的目的后,完成停止向 Log Analytics 进行指标引入的步骤。

  1. 按照有关如何配置容器见解数据收集规则的说明导航到群集的监视设置

  2. 从“日志预设”下拉列表中,选择“日志和事件”并保存进行配置。

注意

禁用 Log Analytics 指标时,还会禁用工具栏中的可视化效果下拉列表。 还原为使用 Monitor Settings 边栏选项卡中的某个标准成本预设来重新启用 Log Analytics 可视化效果。

已知限制和问题

这些是已知限制,目前不受支持

  • 环境变量详细信息
  • 按单个服务筛选数据
  • “群集”选项卡上的实时数据查看
  • 工作簿报告数据
  • 节点内存工作集和 RSS 指标
  • 基于 Container Insights DCR 设置的多群集视图中的部分或无数据可用
  • 服务名不可用

故障排除

使用基于 Prometheus 的 Container Insights 体验时,可能会遇到以下错误。

图表卡在加载状态

如果 Azure Monitor 工作区的网络流量被阻止,则会出现此问题。 其根本原因通常与网络策略(如广告拦截软件)相关。 若要解决此问题,请禁用广告拦截或将 monitor.azure.com 流量加入允许列表并重新加载页面。

无法访问数据收集规则

如果用户无权查看群集关联的 Prometheus 数据收集规则,或者数据收集规则可能已被删除,则会发生此错误。 若要解决此错误,请使用工具栏中的 Monitor Settings 按钮授予对 Prometheus 数据收集规则的访问权限,或重新配置托管 Prometheus。

无法访问 Azure Monitor 工作区

如果用户无权查看群集关联的 Azure Monitor 工作区或 Azure Monitor 工作区可能已被删除,则会出现此错误。 若要解决此错误,请授予对 Azure Monitor 工作区的访问权限,或通过删除并重新部署加载项来重新配置托管 Prometheus。

无法检索数据

查询大量数据时,通常会发生此错误,可以通过将时间范围缩短为较短的窗口或筛选较少的对象来解决。

数据配置错误

当记录规则可能已被修改或删除时,会发生此错误。 使用 Reconfigure 按钮修补记录规则,然后重试。

访问被拒绝

当用户的门户令牌过期或无权查看群集关联的 Azure Monitor 工作区时,会发生这种情况。 通常可以通过刷新浏览器会话或再次登录来解决此问题。

发生未知错误

如果此错误消息仍然存在,请联系支持人员以开启工单。