在 Grafana 中可视化 Azure 数据资源管理器中的数据
Grafana 是一个分析平台,可用于查询和可视化数据,然后根据可视化结果创建和共享仪表板。 Grafana 提供一个 Azure 数据资源管理器插件,通过该插件可连接到 Azure 数据资源管理器并可视化数据。 该插件同时适用于 Azure 托管 Grafana 和自承载 Grafana。
本文针对 Azure 托管 Grafana 和自承载 Grafana 介绍了如何将群集配置为 Grafana 的数据源以及如何在 Grafana 中将数据可视化。 StormEvents 示例数据集包含美国国家环境信息中心中与天气相关的数据。
先决条件
若要将 Azure 数据资源管理器配置为数据源,请遵循 Grafana 环境的相关步骤。
将托管标识添加到“查看者”角色
默认情况下,托管 Grafana 为每个新工作区创建系统分配的托管标识。 可以使用它访问 Azure 数据资源管理器群集。
在 Azure 门户中,转到 Azure 数据资源管理器群集。
在“概述”部分中,选择包含 StormEvents 样本数据的数据库。
选择“权限”>“添加”>“查看者”。
在搜索框中,输入托管 Grafana 工作区名称。
在搜索结果中,选择与工作区名称匹配的结果,然后选择“选择”。
将 Azure 数据资源管理器设置为 Grafana 数据源
托管 Grafana 工作区附带预安装的 Azure 数据资源管理器插件。
在 Azure 门户中,转到托管 Grafana 工作区。
在“概述”下,选择“终结点”链接以打开 Grafana UI。
在 Grafana 的左侧菜单中,选择齿轮图标。 然后,选择“数据源”。
选择“Azure 数据资源管理器数据源”。
在“连接详细信息”中,输入 Azure 数据资源管理器群集 URL。
选择“保存并测试”。
创建服务主体
可在 Azure 门户中或使用 Azure CLI 命令行创建服务主体。 创建服务主体后,你将获取后续步骤中使用的四个连接属性的值。
Azure 门户
按照 Azure 门户文档中的说明进行操作。 使用此特定信息:
在将应用程序分配给角色部分,将“读取者”的角色类型分配给 Azure 数据资源管理器群集 。
在获取用于登录的值部分中,复制步骤中涵盖的三个属性的值:目录 ID(租户 ID)、应用程序 ID 和密码。
在 Azure 门户中,选择“订阅”。 然后复制在其中创建服务主体的订阅的 ID。
Azure CLI
使用以下命令创建服务主体。 设置适用范围和角色类型 reader
。
az ad sp create-for-rbac --name "https://{UrlToYourDashboard}:{PortNumber}" --role "reader" \
--scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
有关详细信息,请参阅使用 Azure CLI 创建 Azure 服务主体。
该命令返回如以下示例所示的结果集。 复制 appId
、password
和 tenant
属性的值。
{
"appId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"displayName": "{UrlToYourDashboard}:{PortNumber}",
"name": "https://{UrlToYourDashboard}:{PortNumber}",
"password": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"tenant": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
获取订阅的列表:
az account list --output table
复制相应的订阅 ID。
将服务主体添加到“查看者”角色
现在已有服务主体,可将其添加到 Azure 数据资源管理器数据库中的“查看者”角色。 可在 Azure 门户中的“权限”下执行此任务,也可以使用管理命令在“查询”下执行此任务 。
Azure 门户:权限
在 Azure 门户中,转到 Azure 数据资源管理器群集。
在“概述”部分中,选择包含 StormEvents 样本数据的数据库。
选择“权限”>“添加”。
在“添加数据库权限”下,选择“查看者”角色,然后选择“选择主体”。
搜索已创建的服务主体。 选择该主体,然后选择“选择”。
选择“保存”。
管理命令:查询
在 Azure 门户中,转到 Azure 数据资源管理器群集,然后选择“查询”。
在查询窗口中运行以下命令。 使用 Azure 门户或 Azure CLI 中的应用程序 ID 和租户 ID。
.add database {TestDatabase} viewers ('aadapp={ApplicationID};{TenantID}')
该命令返回结果集。 在以下示例中,第一行为数据库中的现有用户。 第二行为刚刚添加的服务主体。
指定属性并测试连接
将服务主体分配给“查看者”角色后,现可在 Grafana 实例中指定属性,并测试与 Azure 数据资源管理器的连接。
在 Grafana 的左侧菜单中,选择齿轮图标。 然后,选择“数据源”。
选择“添加数据源”。
在“数据源/新建”页面上,输入数据源的名称,然后选择类型“Azure 数据资源管理器数据源”。
在“设置”>“连接详细信息”中,输入群集的名称,名称采用 https://{ClusterName}.{Region}.kusto.chinacloudapi.cn
的形式。 输入 Azure 门户或 Azure CLI 中的其他值。 使用以下映射信息作为指南。
Grafana UI |
Azure 门户 |
Azure CLI |
订阅 ID |
SUBSCRIPTION ID |
SubscriptionId |
Tenant Id |
目录 ID |
tenant |
客户端 ID |
应用程序 ID |
appId |
客户端密码 |
密码 |
password |
|
|
|
选择“保存并测试”。
如果测试成功,请转到下一部分。 如果遇到任何问题,请检查在 Grafana 中指定的值并查看前面的步骤。
优化查询
可以使用两个功能进行查询优化:
若要执行优化,请在“数据源”>“设置”>“查询优化”中,执行所需的更改。
当一个仪表板或视觉对象被一个或多个用户多次呈现时,Grafana 在默认情况下会向 Azure 数据资源管理器发送至少一个查询。 启用查询结果缓存,以提高仪表板呈现性能并减少 Azure 数据资源管理器上的负载。
在指定的时间范围内,Azure 数据资源管理器将使用结果缓存来检索以前的结果,并且不会运行不必要的查询。 当多个用户使用同一仪表板时,使用此功能可以显著减少资源负载并提高性能。
要启用结果缓存呈现,请在“查询优化”窗格上执行以下操作:
- 关闭“使用动态缓存”。
- 在“缓存最大有效期”中,输入要使用缓存结果的分钟数。
启用弱一致性
群集配置为具有强一致性。 此默认配置可保证查询结果与群集中的所有更改保持一致。
启用弱一致性后,查询结果可能会在群集更改后滞后 1 到 2 分钟。 但是,弱一致性可能会增加视觉呈现时间。 如果即时一致性不是最重要的,并且性能不佳,则可启用弱一致性来提高性能。 有关详细信息,请参阅查询一致性。
要启用弱一致性,请在“查询优化”窗格上选择“数据一致性”>“弱”。
可视化数据
你已完成将 Azure 数据资源管理器配置为 Grafana 的数据源。 现在是时候可视化数据了。
以下基本示例会使用查询生成器模式和查询编辑器原始模式。 建议查看为 Azure 数据资源管理器编写查询,以获取针对数据集运行的其他查询的示例。
在 Grafana 的左侧菜单中,选择加号图标。 然后选择“仪表板”。
在“添加”选项卡下选择“图形”。
在“图形”窗格上,选择“面板标题”>“编辑”。
在面板底部,选择“数据源”,然后选择所配置的数据源。
查询生成器模式
使用查询生成器模式定义查询。
在数据源下,选择“数据库”,然后从下拉列表中选择数据库。
选择“来自”,然后从下拉列表中选择表。
该表已定义,请筛选数据:
- 在“位置(筛选器)”右侧选择 + 以选择表中的一个或多个列。
- 对于每个筛选器,使用适用的操作符定义值。 此选择类似于在 Kusto 查询语言中使用 where 运算符。
选择要在表中显示的值:
在“值列”右侧选择 +,以选择将显示在窗格中的值列。
对于每个值列,设置聚合类型。
可以设置一个或多个值列。 此选择等同于使用 summarize 运算符。
在“分组依据(汇总)”右侧选择 +,以选择用于将值排列到组中的一个或多个列。 此选择等效于 summarize
运算符中的组表达式。
选择“运行查询”。
提示
在查询生成器中完成设置时,将创建一个 Kusto 查询语言查询。 此查询显示使用图形查询编辑器构造的逻辑。
选择“编辑 KQL”切换到原始模式。 使用 Kusto 查询语言的灵活性和强大功能编辑查询。
原始模式
使用原始模式编辑查询。
在查询窗格中,粘贴以下查询,然后选择“运行”。 查询会按天为示例数据集统计事件计数。
StormEvents
| summarize event_count=count() by bin(StartTime, 1d)
该图表未显示任何结果,因为(默认情况下)其显示范围为过去六小时的数据。 在顶部菜单上,选择“过去 6 小时”。
指定涵盖 2007 年的自定义范围,即 StormEvents 示例数据集中包含的年份。 然后,选择应用。
现在,图表显示了 2007 年的数据,按日统计。
在顶部菜单上,选择保存图标:。
要切换到查询生成器模式,请选择“切换到生成器”。 Grafana 会将查询转换为查询生成器中的可用逻辑。 查询生成器逻辑有限,因此你对查询所做的手动更改可能会丢失。
创建警报
在主仪表板中,选择“警报”>“通知通道”,以创建新的通知通道。
在“新建通知通道”下输入名称和类型,然后选择“保存”。
在仪表板上,从下拉列表中选择“编辑”。
选择警铃图标以打开“警报”窗格。 选择“创建警报”,然后完成警报的属性。
选择“保存仪表板”图标以保存所做的更改。
相关内容