分析和呈现 Prometheus 数据的最常用方法是使用 Grafana 仪表板。 本文介绍如何将 Prometheus 的 Azure Monitor 托管服务 配置为不同版本的 Grafana 的数据源,包括 Azure 托管 Grafana、在 Azure VM 上运行的自承载 Grafana,以及 Azure 外部运行的 Grafana 实例。
重要
使用 Grafana 的 Azure Monitor 仪表板 现在以公共预览版提供。 此版本的 Grafana 托管在 Azure 中,无需配置才能连接到 Prometheus 的 Azure Monitor 托管服务。 本文介绍如何连接到 Azure Monitor 工作区,以在需要配置的其他版本的 Grafana 中包含 Prometheus 指标。
Azure Monitor 工作区查询终结点
适用于 Prometheus 的 Azure Monitor 托管服务将数据存储在 Azure Monitor 工作区中。 Grafana 的每个版本都使用此工作区的查询终结点来访问它。 要找到查询终结点,请在 Azure 门户中打开 Azure Monitor 工作区的“概览”页。
Azure 托管 Grafana 实例会自动配置具有监视 数据读取者 角色的托管标识,以允许标识读取订阅的任何监视数据。 标识用于向 Azure Monitor 对 Grafana 进行身份验证。
在 Grafana 中创建 Prometheus 数据源
使用以下步骤将 Prometheus 配置为数据源:
在 Azure 门户中打开 Azure 托管 Grafana 工作区,然后选择终结点以查看 Grafana 工作区。
选择 “连接>数据源 ”,然后选择 “添加数据源”。
搜索并选择 Prometheus。
将 Azure Monitor 工作区中的查询终结点粘贴到“Prometheus 服务器 URL”字段中。
在 “身份验证”下,选择 “Azure 身份验证”。
在 Azure 身份验证下,从“身份验证”下拉列表中选择“托管标识”。
滚动到页面底部,然后选择“保存并测试”。
使用以下步骤在 Azure VM 上配置自管理 Grafana,以使用 Azure 托管的 Prometheus 数据。 对于此配置,必须为 VM 启用系统分配的托管标识。
在 Azure 门户中打开 VM 的 “标识 ”页,并将 “状态 ”设置为 “打开”。
选择“保存”。
选择“Azure 角色分配”以查看订阅中的现有访问权限。
如果订阅或资源组未列出 “监视数据读取者 ”角色,请选择“ + 添加角色分配”。
在 “范围 ”下拉列表中,选择 “订阅 ”或 “资源组”。 选择“订阅”可允许访问订阅中的所有 Azure Monitor 工作区。 选择“资源组”仅允许访问所选资源组中的 Azure Monitor 工作区。
选择 Azure Monitor 工作区所在的特定订阅或资源组。
在 “角色 ”下拉列表中,选择“ 监视数据读取者 ”,然后选择“ 保存”。
9.x 及更高版本的 Grafana 支持 Azure 身份验证,但默认情况下未启用。 若要启用 Azure 身份验证,请更新 Grafana 配置并重启 Grafana 实例。 若要查找 grafana.ini 文件,请查看 Grafana Labs 中的“配置 Grafana”文档。
使用以下步骤启用 Azure 身份验证:
- 在你的虚拟机上找到并打开
grafana.ini文件。
- 在配置文件的
[auth] 节下,将 azure_auth_enabled 设置更改为 true。
- 在配置文件的
[azure] 节下,将 managed_identity_enabled 设置更改为 true
- 重启 Grafana 实例。
在 Grafana 中创建 Prometheus 数据源
使用以下步骤将 Prometheus 配置为数据源:
在浏览器中打开 Grafana,然后选择 “连接>数据源”。
选择“添加数据源”。
搜索并选择 Prometheus。
将 Azure Monitor 工作区中的查询终结点粘贴到“Prometheus 服务器 URL”字段中。
在 “身份验证”下,选择 “Azure 身份验证”。
在 Azure 身份验证下,从“身份验证”下拉列表中选择“托管标识”。
滚动到页面底部,然后选择“保存并测试”。
如果 Grafana 实例未托管在 Azure 中,请使用 Microsoft Entra ID 连接到 Azure Monitor 工作区。
使用以下步骤设置 Microsoft Entra ID 身份验证:
使用 Microsoft Entra ID 注册应用
在 Azure 门户中打开 “Active Directory 概述 ”页,然后选择 “应用注册”。
在 “注册应用程序 ”页上,输入应用程序的名称,然后选择“ 注册”。
请注意 应用程序(客户端)ID 值和 目录(租户)ID 值。 它们将用于 Grafana 身份验证设置。
在应用的概述页上,选择“证书和机密”。
在“客户端密码”选项卡上,选择“新建客户端密码”。
输入说明。
从下拉列表中选择到期期限,然后选择“ 添加”。
Note
创建一个机密续订过程,并在机密过期之前更新 Grafana 数据源设置。 机密过期后,Grafana 将无法从 Azure Monitor 工作区查询数据。
复制并保存客户端机密值。
Note
只能在创建后立即查看客户端机密值。 在离开页面之前保存机密。
允许应用访问你的工作区
在 Azure 门户中打开 Azure Monitor 工作区,然后选择访问控制(IAM)。
选择添加>添加角色分配。
在 “添加角色分配 ”页上,搜索 “监视”。
选择“ 监视数据读取器”,然后选择“ 成员 ”选项卡。
选择“选择成员”。 搜索在向 Microsoft Entra ID 注册一个应用部分中注册的应用,并选择该应用。
选择审核 + 分配。
你创建了应用注册,并为其分配了对 Azure Monitor 工作区中查询数据的访问权限。 下一步是在 Grafana 中设置 Prometheus 数据源。
Grafana 现在支持通过 Prometheus 数据源 连接到由 Azure Monitor 管理的 Prometheus。 对于自托管 Grafana 实例,需要更改配置才能在 Grafana 中使用 Azure 身份验证选项。 对于 Azure 不管理的 Grafana 实例,请进行以下更改。
9.x 及更高版本的 Grafana 支持 Azure 身份验证,但默认情况下未启用。 若要启用 Azure 身份验证,请更新 Grafana 配置并重启 Grafana 实例。 若要查找 grafana.ini 文件,请查看 Grafana Labs 中的“配置 Grafana”文档。
- 在你的虚拟机上找到并打开
grafana.ini文件。
- 确定 Grafana 版本。
- 对于 Grafana 9.0,在
[feature_toggles] 部分中,将 prometheus_azure_auth 设置为 true.
- 对于 Grafana 9.1 及更高版本,在
[auth] 部分中,将 azure_auth_enabled 设置设置为 true。
- 重启 Grafana 实例。
在 Grafana 中创建 Prometheus 数据源
在浏览器中打开 Grafana。
选择 “连接>数据源 ”,然后选择“ 添加数据源”。
搜索并选择 Prometheus。
将 Azure Monitor 工作区中的查询终结点粘贴到“URL”字段中。
在 “身份验证”下,选择 “Azure 身份验证”。对于早期 Grafana 版本,在 “身份验证”下打开 Azure 身份验证。
在 Azure 身份验证下,从“身份验证”下拉列表中选择“应用注册”。
输入 直接(租户)ID 值、 应用程序(客户端)ID 值,以及创建应用注册时生成的 客户端机密 值。
滚动到页面底部,然后选择“保存并测试”。
相关内容