Grafana의 Azure Data Explorer에서 데이터 시각화Visualize data from Azure Data Explorer in Grafana

Grafana는 데이터를 쿼리하고 시각화한 다음, 시각화에 따라 대시보드를 만들고 공유할 수 있도록 해주는 분석 플랫폼입니다.Grafana is an analytics platform that enables you to query and visualize data, then create and share dashboards based on your visualizations. Grafana는 Azure Data Explorer 플러그 인을 제공하여 Azure Data Explorer에서 데이터에 연결하고 데이터를 시각화할 수 있습니다.Grafana provides an Azure Data Explorer plugin, which enables you to connect to and visualize data from Azure Data Explorer. 이 문서에서는 Grafana에 대 한 데이터 원본으로 Azure 데이터 탐색기를 설정 하 고 샘플 클러스터에서 데이터를 시각화 하는 방법을 알아봅니다.In this article, you learn to set up Azure Data Explorer as a data source for Grafana, and then visualize data from a sample cluster.

다음 비디오를 사용 하 여 Grafana의 Azure 데이터 탐색기 플러그 인을 사용 하 고, Grafana에 대 한 데이터 원본으로 Azure 데이터 탐색기를 설정한 다음, 데이터를 시각화 하는 방법을 알아보세요.Use the following video, to learn how to use Grafana's Azure Data Explorer plugin, set up Azure Data Explorer as a data source for Grafana, and then visualize data.

대신 아래의 문서에 설명 된 대로 데이터 원본을 구성 하 고 데이터를 시각화할 수 있습니다.Instead you can configure the data source and visualize data as detailed in the article below.

사전 요구 사항Prerequisites

이 문서를 완료 하려면 다음이 필요 합니다.You need the following to complete this article:

데이터 원본 구성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 Data Explorer 데이터베이스에서 뷰어 역할에 추가합니다.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 CLI 명령줄 환경을 사용하여 또는 Azure Portal에 서비스 주체를 만들 수 있습니다.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 portalAzure portal

  1. 서비스 주체를 만들려면 Azure Portal 설명서의 지침을 따릅니다.To create the service principal, follow the instructions in the Azure portal documentation.

    1. 역할에 애플리케이션 할당 섹션에서 Reader 역할 유형을 Azure Data Explorer 클러스터에 할당합니다.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 Portal에서 구독을 선택한 다음, 서비스 주체를 만든 구독에 대한 ID를 복사합니다.In the Azure portal, select Subscriptions then copy the ID for the subscription in which you created the service principal.

    구독 ID - Portal

Azure CLIAzure CLI

  1. 서비스 주체를 생성합니다.Create a service principal. reader의 해당 범위 및 역할 유형을 설정합니다.Set 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 Data Explorer 데이터베이스에서 뷰어 역할에 추가합니다.Now that you have a service principal, you add it to the viewers role in the Azure Data Explorer database. 관리 명령을 사용하여 Azure Portal의 사용 권한 또는 쿼리에서 이 작업을 수행할 수 있습니다.You can perform this task under Permissions in the Azure portal, or under Query by using a management command.

Azure Portal - 사용 권한Azure portal - Permissions

  1. Azure Portal에서 Azure Data Explorer 클러스터로 이동합니다.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 Portal 새 보안 주체 창의 스크린샷 선택 단추와 판독할 수 없는 서비스 사용자 속성의 두 필드가 강조 표시 됩니다.

  6. 저장을 선택합니다.Select Save.

    Azure Portal 새 보안 주체 창의 스크린샷 선택 단추와 판독할 수 없는 서비스 사용자 속성의 두 필드가 강조 표시 됩니다.

관리 명령 - 쿼리Management command - Query

  1. Azure Portal에서 Azure Data Explorer 클러스터로 이동한 다음, 쿼리를 선택합니다.In the Azure portal, go to your Azure Data Explorer cluster, and select Query.

    Azure Portal 새 보안 주체 창의 스크린샷 선택 단추와 판독할 수 없는 서비스 사용자 속성의 두 필드가 강조 표시 됩니다.

  2. 쿼리 창에서 다음 명령을 실행합니다.Run the following command in the query window. Azure Portal 또는 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.

    결과 집합

속성 지정 및 연결 테스트Specify properties and test the connection

서비스 주체를 뷰어 역할에 할당한 상태에서, 이제 Grafana 인스턴스에서 속성을 지정하고 Azure Data Explorer에 대한 연결을 테스트합니다.With the service principal assigned to the viewers role, you now specify properties in your instance of Grafana, and test the connection to Azure Data Explorer.

  1. Grafana의 왼쪽 메뉴에서 기어 아이콘을 선택한 다음, 데이터 원본을 선택합니다.In Grafana, on the left menu, select the gear icon then Data Sources.

    데이터 원본

  2. 데이터 원본 추가를 선택합니다.Select Add data source.

  3. 데이터 원본/새로 만들기 페이지에서, 데이터 원본에 대한 이름을 입력한 다음, Azure Data Explorer 데이터 원본 형식을 선택합니다.On the Data Sources / New page, enter a name for the data source, then select the type Azure Data Explorer Datasource.

    연결 이름 및 형식

  4. https://{ClusterName}.{Region}.kusto.windows.net 형식으로 클러스터 이름을 입력합니다.Enter the name of your cluster in the form https://{ClusterName}.{Region}.kusto.windows.net. Azure Portal 또는 CLI에서 다른 값을 입력합니다.Enter the other values from the Azure portal or CLI. 매핑에 대한 다음 이미지는 아래 표를 참조하세요.See the table below the following image for a mapping.

    연결 속성

    Grafana UIGrafana UI Azure portalAzure portal Azure CLIAzure CLI
    구독 IDSubscription Id 구독 IDSUBSCRIPTION ID SubscriptionIdSubscriptionId
    테넌트 IDTenant Id 디렉터리 IDDirectory ID tenanttenant
    클라이언트 IDClient Id 애플리케이션 UIApplication ID appIdappId
    클라이언트 암호Client secret 암호Password passwordpassword
  5. 저장 & 테스트를 선택합니다.Select Save & Test.

    테스트에 성공한 경우 다음 섹션으로 이동합니다.If the test is successful, go to the next section. 모든 문제가 발생 한 경우 Grafana에서 지정한 값을 확인 하 고 이전 단계를 검토 합니다.If you come across any issues, check the values you specified in Grafana, and review previous steps.

데이터 시각화Visualize data

Grafana에 대한 데이터 원본으로 Azure Data Explorer 구성을 완료했다면, 이제 데이터를 시각화할 차례입니다.Now you've finished configuring Azure Data Explorer as a data source for Grafana, it's time to visualize data. 쿼리 편집기의 쿼리 작성기 모드와 raw 모드를 모두 사용 하는 기본 예제를 보여 드리겠습니다.We'll show a basic example using both the query builder mode and the raw mode of the query editor. 샘플 데이터 세트에 대해 실행할 다른 쿼리의 예제로 Azure Data Explorer에 대한 쿼리 작성을 볼 것을 권장합니다.We recommend looking at Write queries for Azure Data Explorer for examples of other queries to run against the sample data set.

  1. Grafana의 왼쪽 메뉴에서 더하기 아이콘을 선택한 다음, 대시 보드를 선택합니다.In Grafana, on the left menu, select the plus icon then Dashboard.

    대시보드 만들기

  2. 추가 탭에서 추가 새 패널을 선택 합니다.Under the Add tab, select Add new panel.

    그래프 추가

  3. 그래프 패널에서 패널 제목을 선택한 다음, 편집을 선택합니다.On the graph panel, select Panel Title then Edit.

    패널 편집

  4. 패널의 맨 아래에서 데이터 원본을 선택한 다음, 사용자가 구성한 데이터 원본을 선택 합니다.At the bottom of the panel, select Data Source then select the data source that you configured.

    데이터 원본 선택

쿼리 작성기 모드Query builder mode

쿼리 편집기에는 두 가지 모드가 있습니다.The query editor has two modes. 쿼리 작성기 모드와 raw 모드입니다.The query builder mode and raw mode. 쿼리 작성기 모드를 사용 하 여 쿼리를 정의 합니다.Use the query builder mode to define your query.

  1. 데이터 원본 아래에서 데이터베이스 를 선택 하 고 드롭다운에서 데이터베이스를 선택 합니다.Below the data source, select Database and choose your database from the drop-down.

  2. 에서를 선택 하 고 드롭다운에서 테이블을 선택 합니다.Select From and choose your table from the drop-down.

    쿼리 작성기에서 테이블 선택

  3. 테이블이 정의 된 후에는 데이터를 필터링 하 고 표시할 값을 선택 하 고 해당 값의 그룹화를 정의 합니다.Once the table is defined, filter the data, select the values to present, and define the grouping of those values.

    FilterFilter

    1. + Where (필터) 오른쪽을 클릭 하 여 테이블에서 하나 이상의 열을 드롭다운에서 선택 합니다.Click + to right of Where (filter) to select from the drop-down one or more columns in your table.
    2. 각 필터에 대해 적용 가능한 연산자를 사용 하 여 값을 정의 합니다.For each filter, define the value(s) by using the applicable operator. 이 선택은 Kusto 쿼리 언어에서 where 연산자 를 사용 하는 것과 유사 합니다.This selection is similar to using the where operator in Kusto query language.

    값 선택Value selection

    1. + 값 열 을 오른쪽으로 클릭 하 여 패널에 표시 될 값 열을 드롭다운에서 선택 합니다.Click + to right of value columns to select from the drop-down the value columns that will be displayed in the panel.
    2. 각 값 열에 대해 집계 유형을 설정 합니다.For each value column, set the aggregation type. 하나 이상의 값 열을 설정할 수 있습니다.One or more value columns can be set. 이 선택 항목은 요약 연산자를 사용 하는 것과 같습니다.This selection is equivalent to using the summarize operator.

    값 그룹화Value grouping
    + Group by (요약) 오른쪽을 클릭 하 여 값을 그룹으로 정렬 하는 데 사용할 하나 이상의 열을 드롭다운에서 선택 합니다.Click + to right of Group by (summarize) to select from the drop-down one or more columns that will be used to arrange the values into groups. 이는 요약 연산자의 그룹 식과 같습니다.This is equivalent to the group expression in the summarize operator.

  4. 쿼리를 실행 하려면 쿼리 실행을 선택 합니다.To execute the query, select Run query.

    모든 값이 완료 된 쿼리 작성기

    쿼리 작성기에서 설정을 완료 하는 동안 Kusto 쿼리 언어 쿼리가 생성 됩니다.While finalizing the settings in the query builder, a Kusto query language query is created. 이 쿼리는 그래픽 쿼리 편집기를 사용 하 여 생성 한 논리를 보여 줍니다.This query shows the logic you constructed with the graphical query editor.

  5. KQL 편집 을 선택 하 여 원시 모드로 전환 하 고 Kusto 쿼리 언어의 유연성 및 성능을 사용 하 여 쿼리를 편집 합니다.Select Edit KQL to move to raw mode and edit your query using the flexibility and power of the Kusto query language.

원시 쿼리를 사용 하는 쿼리 작성기

Raw 모드Raw mode

Raw 모드를 사용 하 여 쿼리를 편집 합니다.Use raw mode to edit your query.

  1. 쿼리 창에서 다음 쿼리를 복사한 다음 쿼리 실행을 선택 합니다.In the query pane, copy in the following query then select Run Query. 쿼리는 샘플 데이터 세트에 대한 일별 이벤트 수를 버킷합니다.The query buckets the count of events by day for the sample data set.

    StormEvents
    | summarize event_count=count() by bin(StartTime, 1d)
    

    쿼리 실행

  2. 기본적으로 지난 6시간의 데이터가 범위로 지정되므로 그래프에는 어떤 결과도 표시되지 않습니다.The graph doesn't show any results because it's scoped by default to data from the last six hours. 상단 메뉴에서 지난 6시간을 선택합니다.On the top menu, select Last 6 hours.

    지난 6시간

  3. StormEvents 샘플 데이터 세트에 포함된 연도인 2007년을 포함하는 사용자 지정 범위를 지정합니다.Specify a custom range that covers 2007, the year included in our StormEvents sample data set. 적용을 선택합니다.Select Apply.

    사용자 지정 날짜 범위

    이제 그래프에서는 일별로 버킷된 2007년의 데이터를 보여줍니다.Now the graph shows the data from 2007, bucketed by day.

    완성된 그래프

  4. 상단 메뉴에서 저장 아이콘을 선택합니다.On the top menu, select the save icon: 저장 아이콘..

중요

쿼리 작성기 모드로 전환 하려면 작성기로 전환을 선택 합니다.To switch to the query builder mode, select Switch to builder. Grafana는 쿼리를 쿼리 작성기에서 사용 가능한 논리로 변환 합니다.Grafana will convert the query to the available logic in the Query builder. 쿼리 작성기 논리는 제한 되므로 쿼리에 대 한 수동 변경 내용이 손실 될 수 있습니다.The query builder logic is limited and therefore you may lose manual changes done to the query.

Raw 모드에서 작성기로 이동

경고 만들기Create Alerts

  1. 홈 대시보드에서 경고 > 알림 채널 을 선택 하 여 새 알림 채널을 만듭니다.In Home Dashboard, select Alerting > Notification channels to create a new notification channel

    알림 채널 만들기

  2. 알림 채널을 만든 다음 저장을 클릭 합니다.Create a new Notification channel, then Save.

    새 알림 채널 만들기

  3. 대시보드에서드롭다운에서 편집 을 선택 합니다.On the Dashboard, select Edit from the dropdown.

    대시보드에서 편집 선택

  4. 경고 벨 아이콘을 선택 하 여 경고 창을 엽니다.Select the alert bell icon to open the Alert pane. 경고 만들기를 선택 합니다.Select Create Alert. 경고 창에서 다음 속성을 완료 합니다.Complete the following properties in the Alert pane.

    경고 속성

  5. 대시보드 저장 아이콘을 선택 하 여 변경 내용을 저장 합니다.Select the Save dashboard icon to save your changes.

다음 단계Next steps