在 Redash 中可视化 Azure 数据资源管理器的数据

Redash 可以连接和查询数据源,并可以生成仪表板来可视化数据并将其与同事共享。 本文介绍如何将 Azure 数据资源管理器设置为 Redash 的数据源,然后将数据可视化。

先决条件

配置数据源

执行以下步骤将 Azure 数据资源管理器配置为仪表板工具的数据源。 我们将在本节中更详细地介绍这些步骤:

  1. 创建 Azure Active Directory (Azure AD) 服务主体。 仪表板工具使用服务主体访问 Azure 数据资源管理器服务。

  2. 将 Azure AD 服务主体添加到 Azure 数据资源管理器数据库中的“查看者”角色 。

  3. 根据 Azure AD 服务主体中的信息指定仪表板工具连接属性,然后测试连接。

创建服务主体

可在 Azure 门户中或使用 Azure CLI 命令行创建服务主体。 无论使用哪种方法,创建后都会获得四个连接属性的值,将在后面的步骤中用到这些值。

Azure 门户

  1. 要创建服务主体,请按照 Azure 门户文档中的说明进行操作。

    1. 将应用程序分配给角色部分,将“读取者”的角色类型分配给 Azure 数据资源管理器群集 。

    2. 获取用于登录的值部分中,复制步骤中的三个属性值:目录 ID(租户 ID)、应用程序 ID 和密码 。

  2. 在 Azure 门户中,选择“订阅”,然后复制在其中创建服务主体的订阅的 ID 。

    Subscription ID - portal.

Azure CLI

  1. 创建服务主体。 设置适用范围和角色类型 reader

    az ad sp create-for-rbac --name "https://{UrlToYourDashboard}:{PortNumber}" --role "reader" \
                             --scopes /subscriptions/{SubID}/resourceGroups/{ResourceGroupName}
    

    有关详细信息,请参阅使用 Azure CLI 创建 Azure 服务主体

  2. 该命令返回如下结果集。 复制三个属性值:appID、密码和租户 。

    {
      "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"
    }
    
  3. 获取订阅的列表。

    az account list --output table
    

    复制相应的订阅 ID。

    Subscription ID - CLI.

将服务主体添加到查看者角色

现在已有服务主体,可将其添加到 Azure 数据资源管理器数据库中的“查看者”角色 。 可在 Azure 门户中的“权限”下执行此任务,也可以使用管理命令在“查询”下执行此任务 。

Azure 门户 - 权限

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集。

  2. 在“概述”部分中,选择包含 StormEvents 样本数据的数据库 。

    Select database.

  3. 选择“权限”,然后选择“添加” 。

    Database permissions.

  4. 在“添加数据库权限”下,选择“查看者”角色,然后选择“选择主体” 。

    Add database permissions.

  5. 搜索已创建的服务主体。 选择主体,然后单击“选择” 。

    Screenshot of the Azure portal New Principals pane. The Select button and two fields with indecipherable service principal properties are highlighted.

  6. 选择“保存” 。

    Screenshot of the Add Database Permissions pane in the Azure portal. The Save button is highlighted.

管理命令 - 查询

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集,然后选择“查询” 。

    Screenshot of an Azure Data Explorer cluster in the Azure portal. The Query item is highlighted.

  2. 在查询窗口中运行以下命令。 使用 Azure 门户或 CLI 中的应用程序 ID 和租户 ID。

    .add database {TestDatabase} viewers ('aadapp={ApplicationID};{TenantID}')
    

    该命令返回如下结果集。 在此示例中,第一行用于数据库中的现有用户,第二行用于刚刚添加的服务主体。

    Result set.

在 Redash 中创建 Azure 数据资源管理器连接器

  1. 登录到 Redash。 选择“开始”以创建帐户。

  2. 在“让我们开始吧”中选择“连接数据源”。

    Connect a data source.

  3. 在“创建新数据源”窗口中,依次选择“Azure 数据资源管理器(Kusto)”、“创建”。

    Select Azure Data Explorer data source.

  4. 在“Azure 数据资源管理器(Kusto)”窗口中填写以下表单,然后选择“创建”。

    Azure Data Explorer (Kusto) settings window.

  5. 在“设置”窗口中选择“保存”,然后选择“测试连接”以测试“Azure 数据资源管理器(Kusto)”数据源的连接。

在 Redash 中创建查询

  1. 在 Redash 的左上方,选择“创建”>“查询”。 单击“新建查询”并重命名查询。

    Create query.

  2. 在顶部的编辑窗格中键入查询,然后依次选择“保存”、“执行”。 选择“发布”以发布查询供将来使用。

    Save and execute query.

    在左窗格中,可以在下拉菜单中看到数据源连接名称(在我们的流中为“Github 连接器”),并可以看到所选数据库中的表。

  3. 在底部的中间窗格中查看查询结果。 选择“新建可视化效果”按钮创建用于查询的可视化效果。

    New visualization.

  4. 在可视化效果屏幕中选择“可视化效果类型”,以及“X 列”和“Y 列”等相关字段。 保存可视化效果。

    Configure and save visualization.

使用参数创建查询

  1. 选择“创建”>“查询”以创建新查询。 使用 {{}} 大括号将一个参数添加到查询中。 选择“{{}}”打开“添加参数”窗口。 还可以选择“设置”图标来修改现有参数的属性,并打开“<参数名称>”窗口。

    insert parameter.

  2. 为参数命名。 从下拉菜单中选择“类型: 基于查询的下拉列表” 。 选择“确定”

    query based dropdown list.

    注意

    该查询使用多个值,因此必须包含以下语法:| where Type in ((split('{{Type}}', ',')))。 有关详细信息,请参阅 in 运算符。 这会导致 Redash 应用中出现多个查询参数选项

在 Redash 中创建仪表板

  1. 若要创建仪表板,请选择“创建”>“仪表板”。 或者,选择现有仪表板:“仪表板”> 从列表中选择仪表板。

    Create dashboard.

  2. 在“新建仪表板”窗口中为仪表板命名,然后选择“保存”。 在“<仪表板名称>”窗口中,选择“添加小组件”以创建新的小组件。

  3. 在“添加小组件”窗口中选择查询名称,然后选择“选择可视化效果”和“参数”。 选择“添加到仪表板”

    Choose visualizations and add to dashboard.

  4. 选择“完成编辑”以完成仪表板的创建。

  5. 在仪表板编辑模式下,选择“使用仪表板级别筛选器”以使用前面定义的“类型”参数。

    Complete dashboard creation.

后续步骤