다음을 통해 공유


Kqlmagic을 사용하여 Notebook 만들기 및 실행

KqlmagicAzure Data Studio Notebook 에서 Python 커널의 기능을 확장하는 명령입니다. Python과 KQL(Kusto 쿼리 언어) 을 결합하여, render 명령이 통합된 Plotly 라이브러리를 사용하여 데이터를 쿼리하고 시각화할 수 있습니다. Kqlmagic은 하나의 위치에서 Notebook, 데이터 분석 및 풍부한 Python 기능이라는 장점을 제공합니다. Kqlmagic이 지원되는 데이터 원본에는 Azure Data Explorer , Application Insights , Azure Monitor 로그 등이 있습니다.

이 문서에서는 Azure Data Studio에서 Azure Data Explorer 클러스터, Application Insights 로그 및 Azure Monitor 로그용 Kqlmagic 확장을 사용하여 Notebook을 만들고 실행하는 방법을 보여 줍니다.

사전 요구 사항

Notebook에서 Kqlmagic 설치 및 설정

이 섹션의 단계는 모두 Azure Data Studio Notebook에서 실행됩니다.

  1. 새 Notebook을 만들고 커널Python 3으로 변경합니다.

    새 Notebook의 스크린샷.

  2. 패키지를 업데이트해야 하는 경우 Python 패키지를 업그레이드하라는 프롬프트가 표시될 수 있습니다.

    결과의 스크린샷 - 예.

  3. Kqlmagic을 설치합니다.

    import sys
    !{sys.executable} -m pip install Kqlmagic --no-cache-dir --upgrade
    

    설치되었는지 확인합니다.

    import sys
    !{sys.executable} -m pip list
    

    목록의 스크린샷

  4. Kqlmagic을 로드합니다.

    %reload_ext Kqlmagic
    

    참고

    이 단계가 실패하면 파일을 닫고 다시 엽니다.

    Kqlmagic 확장 로드의 스크린샷.

  5. 도움말 설명서를 살펴보거나 버전을 확인하여 Kqlmagic이 올바르게 로드되었는지 테스트할 수 있습니다.

    %kql --help "help"
    

    참고

    Samples@help에서 암호를 요구하는 경우 공란으로 두고 Enter 키를 누르면 됩니다.

    도움말의 스크린샷.

    설치된 Kqlmagic 버전을 확인하려면 다음 명령을 실행합니다.

    %kql --version
    

Azure Data Explorer 클러스터와 Kqlmagic

이 섹션에서는 Azure Data Explorer 클러스터에서 Kqlmagic을 사용하여 데이터 분석을 실행하는 방법을 설명합니다.

Azure Data Explorer용 Kqlmagic 로드 및 인증

참고

Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.

  1. 커널Python3으로 설정되었는지 확인합니다.

    커널 변경의 스크린샷.

  2. Kqlmagic을 로드합니다.

    %reload_ext Kqlmagic
    

    Kqlmagic 확장 로드의 스크린샷.

  3. 클러스터에 연결하고 인증합니다.

    %kql azureDataExplorer://code;cluster='help';database='Samples'
    

    참고

    고유의 ADX 클러스터를 사용하는 경우 다음과 같이 연결 문자열에서 지역을 포함해야 합니다.

    %kql azuredataexplorer://code;cluster='mycluster.westus';database='mykustodb' 디바이스 로그인을 사용하여 인증합니다. 출력에서 코드를 복사하고 인증을 선택하면 열리는 브라우저에 코드를 붙여넣습니다. 인증에 성공하면 Azure Data Studio로 돌아가서 스크립트의 나머지 부분을 계속 진행할 수 있습니다.

    Azure Data Explorer 인증의 스크린샷.

Azure Data Explorer에 대해 쿼리 및 시각화

렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.

  1. 주와 빈도를 기준으로 상위 10개의 폭풍우 이벤트를 분석합니다.

    %kql StormEvents | summarize count() by State | sort by count_ | limit 10
    

    KQL(Kusto 쿼리 언어)에 익숙하다면, %kql 뒤에 쿼리를 입력할 수 있습니다.

    storm 이벤트 분석의 스크린샷.

  2. 타임라인 차트를 시각화합니다.

    %kql StormEvents \
    | summarize event_count=count() by bin(StartTime, 1d) \
    | render timechart title= 'Daily Storm Events'
    

    시간 차트의 스크린샷.

  3. %%kql을 사용한 여러 줄의 쿼리입니다.

    %%kql
    StormEvents
    | summarize count() by State
    | sort by count_
    | limit 10
    | render columnchart title='Top 10 States by Storm Event count'
    

    여러 줄 쿼리 샘플의 스크린샷.

Kqlmagic과 Application Insights

Application Insights용 Kqlmagic 로드 및 인증

  1. 커널Python3으로 설정되었는지 확인합니다.

    커널의 스크린샷.

  2. Kqlmagic을 로드합니다.

    %reload_ext Kqlmagic
    

    Kqlmagic 확장 로딩의 스크린샷.

    참고

    Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.

  3. 연결 및 인증합니다.

    먼저 Application Insights 리소스의 API 키를 생성해야 합니다. 그런 다음 애플리케이션 ID 및 API 키를 사용하여 Notebook에서 Application Insights에 연결합니다.

    %kql appinsights://appid='DEMO_APP';appkey='DEMO_KEY'
    

Application Insights에 대해 쿼리 및 시각화

렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.

  1. 페이지 보기를 표시합니다.

    %%kql
    pageViews
    | limit 10
    

    페이지 보기의 스크린샷.

    참고

    마우스를 사용하여 차트의 영역으로 끌어서 특정 날짜로 확대합니다.

  2. 타임라인 차트에서 페이지 보기를 표시합니다.

    %%kql
    pageViews
    | summarize event_count=count() by name, bin(timestamp, 1d)
    | render timechart title= 'Daily Page Views'
    

    타임라인 차트의 스크린샷.

Kqlmagic과 Azure Monitor 로그

Azure Monitor 로그용 Kqlmagic 로드 및 인증

  1. 커널Python3으로 설정되었는지 확인합니다.

    변경 내용의 스크린샷.

  2. Kqlmagic을 로드합니다.

    %reload_ext Kqlmagic
    

    Kqlmagic 확장을 로드하는 방법을 보여 주는 스크린샷.

    참고

    Azure Data Studio에서 새 Notebook을 만들 때마다 Kqlmagic 확장을 로드해야 합니다.

  3. 연결 및 인증합니다.

    %kql loganalytics://workspace='DEMO_WORKSPACE';appkey='DEMO_KEY';alias='myworkspace'
    

    로그 분석 인증의 스크린샷.

Azure Monitor 로그에 대해 쿼리 및 시각화

렌더링 연산자를 사용하여 데이터를 쿼리하고 ployly 라이브러리를 사용하여 데이터를 시각화합니다. 이 쿼리 및 시각화는 네이티브 KQL을 사용하는 통합 환경을 제공합니다.

  1. 타임라인 차트를 봅니다.

    %%kql
    KubeNodeInventory
    | summarize event_count=count() by Status, bin(TimeGenerated, 1d)
    | render timechart title= 'Daily Kubernetes Nodes'
    

    Log Analytics Daily Kubernetes 노드 시간 차트를 보여 주는 스크린샷.

다음 단계

Notebook 및 Kqlmagic에 대한 자세한 정보: