本文指导你排查 Azure 托管 Grafana 的错误,并提供解决这些错误的建议解决方案。
在 Azure 门户中创建 Azure 托管 Grafana 工作区时,用户在“基本信息”选项卡中收到警报:你可能没有足够的访问权限,无法在下面的订阅或资源组中启用所有功能,有关详细信息,请参阅下一个“权限”选项卡。
在“权限”选项卡中,显示了另一个警报:你必须是订阅“所有者”或“用户访问管理员”才能使用此功能。已禁用角色分配控件。
触发这些警报是因为用户不是订阅管理员或所有者,在用户创建工作区时会发生以下情况:
- 用户不会获得新 Azure Grafana 工作区的“Grafana 管理员”角色
- 此 Azure Grafana 工作区的系统分配的托管标识不会获得“监视读者”角色。
继续创建 Azure 托管 Grafana 工作区。 你应该知道,在订阅管理员向你分配 Grafana 管理员、Grafana 编辑者或 Grafana 查看者角色之前,你将无法使用 Azure 托管 Grafana 工作区。
用户可以在“基本信息”选项卡中选择其他订阅。他们必须是管理员或所有者。 横幅将消失。
当用户从 Azure 门户创建 Azure 托管 Grafana 工作区时,会显示错误。
如果你在填写表单以创建 Azure 托管 Grafana 工作区时遇到错误,可能是为 Grafana 工作区指定了无效的名称。
输入符合以下条件的名称:
- 在整个 Azure 区域中是独一无二的。 它不能由其他用户使用。
- 长度为 23 个字符或更少
- 以字母开头。 其余部分只能是字母数字字符或连字符,并且名称必须以字母数字字符结尾。
状态消息指出该区域不受支持,并提供受支持的 Azure 区域列表。 再次尝试部署新的 Azure 托管 Grafana 工作区。 首次尝试创建 Azure 托管 Grafana 工作区时,Azure 门户会推荐不可用的 Azure 区域。 在你第二次尝试时,不会显示这些区域。
状态消息指出不允许更新角色分配。 用户不是订阅所有者。 如果资源部署成功但角色分配失败,请联系对您订阅具有所有者或管理员访问权限的人,并请求他们执行以下操作:
- 将订阅级别的“监视读者”角色分配给 Azure 托管 Grafana 工作区的托管标识
- 为此新的 Azure 托管 Grafana 工作区分配 Grafana 管理员角色
如果状态消息提到存在冲突,则某人可能同时创建了另一个名称相同的工作区,或者之前的名称检查失败,导致之后发生冲突。 删除此工作区并创建具有不同名称的其他工作区。
用户已成功创建 Azure 托管 Grafana 工作区,但在打开终结点 URL 时无法访问 Grafana UI。
如果在获取某个页面时出现错误消息,例如“无法访问此页面”,这说明此页面响应时间过长,请按照以下流程操作:
在 Azure 平台中,打开工作区并转到“概述”页。 确保“预配状态”为“已成功”,并且“基本信息”部分中的所有其他字段均已填充。 如果一切正常,请继续按照以下流程操作。 否则,请删除并重新创建工作区。
如果您看到多个浏览器重定向,并随后转到如上所示的通用浏览器错误页,这表示后端发生了故障。
如果有防火墙阻止了出站流量,请允许访问你的工作区、以 grafana.azure.com 结尾的 URL 和 Microsoft Entra ID。
如果收到显示以下消息的错误页面:“未分配角色”:
如果发生以下情况,则可能出现此问题:
你无权为自己添加 Grafana 管理员角色。 有关详细信息,请参阅创建工作区时显示访问权限警报。
你使用了 CLI、ARM 模板或其他方法来创建 Azure 门户之外的工作区。 只有 Azure 门户会自动将你添加为 Grafana 管理员。在所有其他情况下,你必须手动为自己添加 Grafana 管理员角色。
- 在 Azure 托管 Grafana 工作区中,选择“访问控制(IAM)”>“添加角色分配”以添加此角色分配。 您必须具有订阅或 Azure 托管 Grafana 资源的管理员或所有者访问角色,才能进行此角色分配。 如果你没有足够的访问权限,请寻求管理员的帮助。
- 你的帐户是一个外国帐户:Azure 托管 Grafana 工作区未在主租户中注册。
- 如果最近解决了此问题,并且已分配了足够的 Grafana 角色,则可能需要等待一段时间才能使 Cookie 过期并刷新。 此过程通常需要 5 分钟。如有疑问,可以删除所有 Cookie 或启动专用浏览器会话,以强制使用包含新角色信息的全新 Cookie。
在用户被添加到 Grafana 内置 RBAC 角色(例如 Grafana 查看者)后,他们不会立即显示在 Grafana UI 的“用户”菜单中。 此行为是设计使然。 Grafana RBAC 角色存储在 Microsoft Entra ID 中。 出于性能原因,Azure 托管 Grafana 不会自动将分配给内置角色的用户同步到所有工作区。 RBAC 分配中没有更改通知,如果定期查询 Microsoft Entra ID 来获取当前分配,会给 Microsoft Entra 服务增加额外的负载。
这个问题本身没有解决方法。 仅当用户登录 Azure 托管 Grafana 工作区后,用户及其分配的角色才会在 Grafana UI 中的“管理”“用户和访问”>“用户”中列出。>
一个或多个 Azure 托管 Grafana 仪表板不显示任何数据。
上下文:Grafana 仪表板设置为定期提取新数据。 如果仪表板为了加载基础查询而刷新得过于频繁,则面板将卡住,无法加载和显示数据。
- 检查仪表板配置为刷新数据的频率。
- 仪表板中,点击“仪表板设置”。
- 在常规设置中,将仪表板“自动刷新”的频率设置为不快于加载查询所需的时间。
- 当查询检索数据所用的时间过长时, Grafana 将自动使某些依赖调用(例如耗时超过 30 秒)超时。 检查查询结束时是否没有出现异常减速。
用户无法连接到数据源,或者数据源无法提取数据。
若要排查此问题,请执行以下操作:
- 检查数据源服务器的网络设置。 不应有防火墙阻止 Grafana 访问它。
- 检查数据源是否未尝试连接到专用 IP 地址。 Azure 托管 Grafana 目前不支持连接到专用网络。
每个 Azure 托管 Grafana 工作区都预先配置了 Azure Monitor 数据源。 尝试使用预先配置的仪表板时,用户发现 Azure Monitor 数据源无法提取数据。
打开 Azure 托管 Grafana 终结点并选择“仪表板”“浏览”来查找预配的仪表板。> 然后选择一个仪表板,例如Azure Monitor>Azure 应用监控 - Application Insights。
确保顶部附近的下拉菜单填充了订阅、资源组和资源名称。 在下面的屏幕截图示例中,“资源”下拉菜单设置为 null。 在本例中,请选择一个资源名称。 可能需要选择其他资源组,该资源组包含为控制面板设计的资源类型。 在此示例中,需要选取具有 Application Insights 资源的资源组。
在 Azure 托管 Grafana UI 中,从左侧菜单中选择配置>数据源,然后选择Azure Monitor。
如果数据源配置为使用托管标识:
选择“加载订阅”按钮进行快速测试。 如果“默认订阅”已填充你的订阅,则 Azure 托管 Grafana 可以访问此订阅中的 Azure Monitor。 如果没有,那么存在权限问题。
转到“设置”>“标识(预览版)”,检查工作区中是否启用了系统分配或用户分配的托管标识。 转到设置 Azure 托管 Grafana 身份验证和权限,了解如何启用和配置托管标识。
选择订阅后,选择“保存和测试”。 如果看到“找不到 Log Analytics工作区”,则可能需要将读者角色分配给 Log Analytics 工作区中的托管标识。 打开 Log Analytics 工作区,转到“设置”>“访问控制 (IAM)”,“添加”>“添加角色分配”。
如果数据源使用应用注册身份验证:
在 Grafana 终结点中,转到“配置”>“数据源”>“Azure Monitor”,检查“目录(租户) ID”和“应用程序(客户端) ID”的信息是否正确。
检查服务主体是否已将“监视读者”角色分配给 Azure 托管 Grafana 工作区。 如果没有,请在 Azure 门户中打开订阅,然后转到“访问控制 (IAM)”>“添加”>“指派角色”。
如有必要,请重新应用客户端密码。
Azure 数据资源管理器数据源无法提取数据。
打开 Azure 托管 Grafana 终结点并选择“仪表板”“浏览”来查找预配的仪表板。> 然后选择仪表板,例如Azure Monitor>Azure 数据资源管理器群集资源见解。
确保顶部附近的下拉菜单填充了数据源、订阅、资源组、命名空间、资源和工作区名称。 在下面的屏幕截图示例中,我们选择了不包含任何数据资源管理器群集的资源组。 在本例中,请选择包含数据资源管理器群集的其他资源组。
检查 Azure 数据资源管理器数据源,并了解如何设置身份验证。 目前只能通过 Microsoft Entra ID 为 Azure 数据资源管理器设置身份验证。
在 Grafana 终结点中,转到“配置”>“数据源”>“Azure 数据资源管理器”
检查所列出的关于“Azure 云”、“群集 URL”、“目录(租户) ID”、“应用程序(客户端) ID”和“客户端密码”的信息是否正确。 如有必要,请创建新密钥以添加为客户端密码。
在页面顶部,你可以找到引导你授予必要权限的说明,以允许此 Microsoft Entra 应用读取 Azure Data Explorer 数据库。
确保 Azure 数据资源管理器实例不具有阻止访问 Azure 托管 Grafana 的防火墙。 Azure 数据资源管理器数据库需要向公共 Internet 公开。
从库或 JSON 文件导入仪表板时,用户收到错误。 显示一条错误消息:仪表板已被其他人更改。
大多数情况下,发生此错误是因为用户尝试导入的仪表板具有与另一个仪表板相同的名称或唯一标识符 (UID)。
若要检查 Azure 托管 Grafana 工作区是否已有同名的仪表板,请执行以下操作:
在 Grafana 终结点中,从左侧的导航菜单中选择“仪表板”,然后选择“浏览”。
查看仪表板名称。
重命名旧或新仪表板。
还可以通过编辑 JSON 文件中名为 uid 的字段,在导入 JSON 仪表板之前编辑其 UID。
禁用系统分配的托管标识后,使用托管标识配置的数据源仍然可以从 Azure 服务访问数据。
使用托管标识配置的数据源可能仍能够在长达 24 小时内从 Azure 服务访问数据。 在 Azure 托管 Grafana 的托管标识中更新角色分配时,由于托管标识的限制,此更改可能需要长达 24 小时才能生效。