在 Redash 中可视化 Azure 数据资源管理器的数据Visualize data from Azure Data Explorer in Redash

Redash 可以连接和查询数据源,并可以生成仪表板来可视化数据并将其与同事共享。Redash connects and queries your data sources, builds dashboards to visualize data and share them with peers. 本文介绍如何将 Azure 数据资源管理器设置为 Redash 的数据源,然后将数据可视化。In this article, you learn how to set up Azure Data Explorer as a data source for Redash, and then visualize data.

先决条件Prerequisites

  1. 创建群集和数据库Create cluster and database.
  2. 根据将示例数据引入 Azure 数据资源管理器中所述引入数据。Ingest data as explained in ingest sample data into Azure Data Explorer. 有关更多引入选项,请参阅引入概述For more ingestion options, see ingestion overview.

配置数据源Configure the data source

执行以下步骤将 Azure 数据资源管理器配置为仪表板工具的数据源。You perform the following steps to configure Azure Data Explorer as a data source for your dashboard tool. 我们将在本节中更详细地介绍这些步骤:We'll cover these steps in more detail in this section:

  1. 创建 Azure Active Directory (Azure AD) 服务主体。Create an Azure Active Directory (Azure AD) service principal. 仪表板工具使用服务主体访问 Azure 数据资源管理器服务。The service principal is used by your dashboard tool to access the Azure Data Explorer service.

  2. 将 Azure AD 服务主体添加到 Azure 数据资源管理器数据库中的“查看者”角色 。Add the Azure AD service principal to the viewers role in the Azure Data Explorer database.

  3. 根据 Azure AD 服务主体中的信息指定仪表板工具连接属性,然后测试连接。Specify your dashboard tool connection properties based on information from the Azure AD service principal, then test the connection.

创建服务主体Create a service principal

可在 Azure 门户中或使用 Azure CLI 命令行创建服务主体。You can create the service principal in the Azure portal or using the Azure CLI command-line experience. 无论使用哪种方法,创建后都会获得四个连接属性的值,将在后面的步骤中用到这些值。Regardless of which method you use, after creation you get values for four connection properties that you'll use in later steps.

Azure 门户Azure portal

  1. 要创建服务主体,请按照 Azure 门户文档中的说明进行操作。To create the service principal, follow the instructions in the Azure portal documentation.

    1. 将应用程序分配给角色部分,将“读取者”的角色类型分配给 Azure 数据资源管理器群集 。In the Assign the application to a role section, assign a role type of Reader to your Azure Data Explorer cluster.

    2. 获取用于登录的值部分中,复制步骤中的三个属性值:目录 ID(租户 ID)、应用程序 ID 和密码 。In the Get values for signing in section, copy the three property values covered in the steps: Directory ID (tenant ID), Application ID, and Password.

  2. 在 Azure 门户中,选择“订阅”,然后复制在其中创建服务主体的订阅的 ID 。In the Azure portal, select Subscriptions then copy the ID for the subscription in which you created the service principal.

    订阅 ID - 门户

Azure CLIAzure CLI

  1. 创建服务主体。Create a service principal. 设置适用范围和角色类型 readerSet an appropriate scope and a role type of reader.

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

    有关详细信息,请参阅使用 Azure CLI 创建 Azure 服务主体For more information, see Create an Azure service principal with Azure CLI.

  2. 该命令返回如下结果集。The command returns a result set like the following. 复制三个属性值:appID、密码和租户 。Copy the three property values: appID, password, and 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"
    }
    
  3. 获取订阅的列表。Get a list of your subscriptions.

    az account list --output table
    

    复制相应的订阅 ID。Copy the appropriate subscription ID.

    订阅 ID - CLI

将服务主体添加到查看者角色Add the service principal to the viewers role

现在已有服务主体,可将其添加到 Azure 数据资源管理器数据库中的“查看者”角色 。Now that you have a service principal, you add it to the viewers role in the Azure Data Explorer database. 可在 Azure 门户中的“权限”下执行此任务,也可以使用管理命令在“查询”下执行此任务 。You can perform this task under Permissions in the Azure portal, or under Query by using a management command.

Azure 门户 - 权限Azure portal - Permissions

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集。In the Azure portal, go to your Azure Data Explorer cluster.

  2. 在“概述”部分中,选择包含 StormEvents 样本数据的数据库 。In the Overview section, select the database with the StormEvents sample data.

    选择数据库

  3. 选择“权限”,然后选择“添加” 。Select Permissions then Add.

    数据库权限

  4. 在“添加数据库权限”下,选择“查看者”角色,然后选择“选择主体” 。Under Add database permissions, select the Viewer role then Select principals.

    添加数据库权限

  5. 搜索已创建的服务主体。Search for the service principal you created. 选择主体,然后单击“选择” 。Select the principal, then Select.

    在 Azure 门户中管理权限

  6. 选择“保存” 。Select Save.

    在 Azure 门户中管理权限

管理命令 - 查询Management command - Query

  1. 在 Azure 门户中,转到 Azure 数据资源管理器群集,然后选择“查询” 。In the Azure portal, go to your Azure Data Explorer cluster, and select Query.

    查询

  2. 在查询窗口中运行以下命令。Run the following command in the query window. 使用 Azure 门户或 CLI 中的应用程序 ID 和租户 ID。Use the application ID and tenant ID from the Azure portal or CLI.

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

    该命令返回如下结果集。The command returns a result set like the following. 在此示例中,第一行用于数据库中的现有用户,第二行用于刚刚添加的服务主体。In this example, the first row is for an existing user in the database, and the second row is for the service principal that was just added.

    结果集

在 Redash 中创建 Azure 数据资源管理器连接器Create Azure Data Explorer Connector in Redash

  1. 登录到 RedashSign in to Redash. 选择“开始”以创建帐户。 Select Get Started to create an account.

  2. 在“让我们开始吧”中选择“连接数据源”。 Under Let's get started, Select Connect a Data Source.

    连接数据源

  3. 在“创建新数据源”窗口中,依次选择“Azure 数据资源管理器(Kusto)”、“创建”。 In Create a New Data Source window, select Azure Data Explorer (Kusto), then select Create.

    选择 Azure 数据资源管理器数据源

  4. 在“Azure 数据资源管理器(Kusto)”窗口中填写以下表单,然后选择“创建”。 In Azure Data Explorer (Kusto) window, complete the following form and select Create.

    “Azure 数据资源管理器(Kusto)”设置窗口

  5. 在“设置”窗口中选择“保存”,然后选择“测试连接”以测试“Azure 数据资源管理器(Kusto)”数据源的连接。 In Settings window, select Save and Test Connection to test your Azure Data Explorer (Kusto) data source connection.

在 Redash 中创建查询Create queries in Redash

  1. 在 Redash 的左上方,选择“创建” > “查询”。 On top left of Redash, select Create > Query. 单击“新建查询”并重命名查询。 Click on New Query and rename the query.

    创建查询

  2. 在顶部的编辑窗格中键入查询,然后依次选择“保存”、“执行”。 Type your query in the top editing pane and select Save and Execute. 选择“发布”以发布查询供将来使用。 Select Publish to publish query for future use.

    保存并执行查询

    在左窗格中,可以在下拉菜单中看到数据源连接名称(在我们的流中为“Github 连接器”),并可以看到所选数据库中的表。 In the left pane, you can see the data source connection name (Github connector in our flow) in the drop-down menu, and the tables in the selected database.

  3. 在底部的中间窗格中查看查询结果。View the query results in the bottom central pane. 选择“新建可视化效果”按钮创建用于查询的可视化效果。 Create a visualization to go with the query by selecting the New Visualization button.

    新建可视化效果

  4. 在可视化效果屏幕中选择“可视化效果类型”,以及“X 列”和“Y 列”等相关字段。 In the visualization screen, select the Visualization Type and the relevant fields such as X Column and Y Column. 保存可视化效果。Save the visualization.

    配置并保存可视化效果

使用参数创建查询Create a query using a parameter

  1. 选择“创建” > “查询”以创建新查询。 Create > Query to create a new query. 使用 {{}} 大括号将一个参数添加到查询中。Add a parameter to it using {{}} curly brackets. 选择“{{}}”打开“添加参数”窗口。 Select {{}} to open Add Parameter window. 还可以选择“设置”图标来修改现有参数的属性,并打开“<参数名称>”窗口。 You can also select the settings icon to modify the attributes of an existing parameter and open the <parameter_name> window.

    插入参数

  2. 为参数命名。Name your parameter. 从下拉菜单中选择“类型”: “基于查询的下拉列表”。 Select Type: Query Based Dropdown List from dropdown menu. 选择“确定” Select OK

    基于查询的下拉列表

    备注

    该查询使用多个值,因此必须包含以下语法:| where Type in ((split('{{Type}}', ',')))The query uses multiple values, therefore you must include the following syntax | where Type in ((split('{{Type}}', ','))). 有关详细信息,请参阅 in 运算符For more information, see in operator. 这会导致 Redash 应用中出现多个查询参数选项This results in multiple query parameter options in redash app

在 Redash 中创建仪表板Create a dashboard in Redash

  1. 若要创建仪表板,请选择“创建” > “仪表板”。 To create your dashboard, Create > Dashboard. 或者,选择“仪表板”并从列表中选择现有的仪表板。 Alternatively, select existing dashboard, Dashboards > select a dashboard from the list.

    创建仪表板

  2. 在“新建仪表板”窗口中为仪表板命名,然后选择“保存”。 In New Dashboard window, name your dashboard and select Save. 在“<仪表板名称>”窗口中,选择“添加小组件”以创建新的小组件。 In <Dashboard_name> window, select Add Widget to create a new widget.

  3. 在“添加小组件”窗口中选择查询名称,然后选择“选择可视化效果”和“参数”。 In Add Widget window, select query name, Choose Visualization, and Parameters. 选择“添加到仪表板” Select Add to Dashboard

    选择可视化效果并添加到仪表板

  4. 选择“完成编辑”以完成仪表板的创建。 Select Done Editing to complete dashboard creation.

  5. 在仪表板编辑模式下,选择“使用仪表板级别筛选器”以使用前面定义的“类型”参数。 In the dashboard edit mode, select Use Dashboard Level Filters to use the Type parameter previously defined.

    完成仪表板创建

后续步骤Next steps