Copyright © Tokyo Electron Device LTD. All Rights Reserved.
解き明かす未知の可能性
美しいクエリ
~ Kusto入門編 ~
2023年7月17日
渡邊晶
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 2
Kustoって
Kusto
Kusto Query Language
KQL
※ ジャック・クストーは、フランスの海洋学者・地球科学者。
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 3
Kusto(KQL)とは
Azureサービスのためのクエリ言語
 読みやすく書きやすい設計
 大量のログ・テレメータデータに対して高速に検索
 Azureの運用・セキュリティ・ガバナンスツールで利用され、Azure運用に必須
 ビッグデータ処理において、Azure Data Explorerとしても知られている
Kustoは強力なツール
Azure運用 セキュリティ管理 データ利活用
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 4
Kusto(KQL)とAzureの関係
Kusto(KQL)を利用しているAzureサービス
 Azure Resource Graph
 Application Insights
 Log Analytics
 Microsoft Sentinel
 Microsoft Defender
Azure Data Explorer
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 5
Kustoの構文例
SecurityEvent
| where TimeGenerated >ago(1h)
| where EventID ==4624
| summarize count() by Account
| order by Account asc
| project Account, SuccessfulLogons =count_
Table
Pipe
Filter
Data
aggregation
Order
Data
Modify
Columns
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 6
Kustoクエリの利用環境 SigninLogs
| where TimeGenerated > ago(1h)
| where Location =='JP'
| summarize count() by Identity
| order by Identity asc
| project Identity, SuccessfulLogons=count_
クリエ
Table一覧表
出力結果
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 7
Kustoクリエの利用するため
ログ・データ分析するため7つのオペレーション
1. レコード数を調べる
2. スキーマを表示
3. サンプルレコードの表示
4. フィルターをかける
5. Summarize 演算子の利用
6. Project と Extend演算子の利用
7. データの可視化
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 8
1. レコード数を調べる
TABLENAME
|count
調査対象となっているテーブルの名称
テーブル(SecurityEvent)の
レコード数の結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 9
2. スキーマを表示
TABLENAME
|getschema
調査対象となっているテーブルの名称
スキーマの結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 10
3. サンプルレコードの表示
TABLENAME
|take 3
調査対象となっているテーブルの名称
レコードの表示結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 11
4. フィルターをかける (1/2)
TABLENAME
|where 条件#1
|where 条件#2
調査対象となっているテーブルの名称
SecurityEvent
| where TimeGenerated > ago(1d)
| where Computer == 'CH-AMAVM'
Kustoクエリサンプル
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 12
4. フィルターをかける (2/2)
レコードの表示結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 13
5. Summarize演算子の利用 (1/2)
TABLENAME
| Summarize count by 列名#1
調査対象となっているテーブルの名称
by の後ろに指定した列の個数を数える
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 14
5. Summarize演算子の利用 (2/2)
TABLENAME
| Summarize countif ( 列名 ==xxx)
調査対象となっているテーブルの名称
条件にある列の個数を数える
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 15
6. Project と Extend演算子の利用 (1/2)
TABLENAME
| Extend 列名 = XXX
| Project 列名#1,列名#2
Kustoクエリサンプル
SecurityEvent
| Extend Time = TimeGenerated
| Project Time, Computer, EventID,Process
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 16
6. Project と Extend演算子の利用 (2/2)
表示結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 17
7. データの可視化 (1/3)
TABLENAME
| Render XXX
※ render 演算子はクエリの最後の演算子である必要がある
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 18
7. データの可視化 (2/3)
表示結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 19
7. データの可視化 (3/3)
表示結果
Kustoクエリ
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 20
Demo
 https://clipchamp.com/watch/Xa2KjdqjGPt
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 21
Kustoクエリを利用できるツール
 Azure Log Analytics
 Application Insights
 .NETやJava等の言語用の SDK も提供され、コード内で KQL を組み立てて実行可能
 Azure Data Explorer (ADX)
 Kusto.Explorer
 Azure Data Studio
すでにログが収集され、実際にクエリを使える環境
https://aka.ms/LADemo
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 22
OpenAI(ChatGPT)を使ってKustoを書きましょう
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 23
データから未知の可能性を発見
解き明かす未知の可能性
DX推進
脅威検知
システム保全
Copyright © Tokyo Electron Device LTD. All Rights Reserved. 24
【お問い合わせ】
東京エレクトロン デバイス株式会社
クラウドIoTカンパニー エッジクラウドソリューション部
URL: https://esg.teldevice.co.jp/iot/
Mail: esg@teldevice.co.jp
TEL: 045-443-4021

Kustoの入門編.pdf

  • 1.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 解き明かす未知の可能性 美しいクエリ ~ Kusto入門編 ~ 2023年7月17日 渡邊晶
  • 2.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 2 Kustoって Kusto Kusto Query Language KQL ※ ジャック・クストーは、フランスの海洋学者・地球科学者。
  • 3.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 3 Kusto(KQL)とは Azureサービスのためのクエリ言語  読みやすく書きやすい設計  大量のログ・テレメータデータに対して高速に検索  Azureの運用・セキュリティ・ガバナンスツールで利用され、Azure運用に必須  ビッグデータ処理において、Azure Data Explorerとしても知られている Kustoは強力なツール Azure運用 セキュリティ管理 データ利活用
  • 4.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 4 Kusto(KQL)とAzureの関係 Kusto(KQL)を利用しているAzureサービス  Azure Resource Graph  Application Insights  Log Analytics  Microsoft Sentinel  Microsoft Defender Azure Data Explorer
  • 5.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 5 Kustoの構文例 SecurityEvent | where TimeGenerated >ago(1h) | where EventID ==4624 | summarize count() by Account | order by Account asc | project Account, SuccessfulLogons =count_ Table Pipe Filter Data aggregation Order Data Modify Columns
  • 6.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 6 Kustoクエリの利用環境 SigninLogs | where TimeGenerated > ago(1h) | where Location =='JP' | summarize count() by Identity | order by Identity asc | project Identity, SuccessfulLogons=count_ クリエ Table一覧表 出力結果
  • 7.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 7 Kustoクリエの利用するため ログ・データ分析するため7つのオペレーション 1. レコード数を調べる 2. スキーマを表示 3. サンプルレコードの表示 4. フィルターをかける 5. Summarize 演算子の利用 6. Project と Extend演算子の利用 7. データの可視化
  • 8.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 8 1. レコード数を調べる TABLENAME |count 調査対象となっているテーブルの名称 テーブル(SecurityEvent)の レコード数の結果 Kustoクエリ
  • 9.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 9 2. スキーマを表示 TABLENAME |getschema 調査対象となっているテーブルの名称 スキーマの結果 Kustoクエリ
  • 10.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 10 3. サンプルレコードの表示 TABLENAME |take 3 調査対象となっているテーブルの名称 レコードの表示結果 Kustoクエリ
  • 11.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 11 4. フィルターをかける (1/2) TABLENAME |where 条件#1 |where 条件#2 調査対象となっているテーブルの名称 SecurityEvent | where TimeGenerated > ago(1d) | where Computer == 'CH-AMAVM' Kustoクエリサンプル
  • 12.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 12 4. フィルターをかける (2/2) レコードの表示結果 Kustoクエリ
  • 13.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 13 5. Summarize演算子の利用 (1/2) TABLENAME | Summarize count by 列名#1 調査対象となっているテーブルの名称 by の後ろに指定した列の個数を数える Kustoクエリ
  • 14.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 14 5. Summarize演算子の利用 (2/2) TABLENAME | Summarize countif ( 列名 ==xxx) 調査対象となっているテーブルの名称 条件にある列の個数を数える Kustoクエリ
  • 15.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 15 6. Project と Extend演算子の利用 (1/2) TABLENAME | Extend 列名 = XXX | Project 列名#1,列名#2 Kustoクエリサンプル SecurityEvent | Extend Time = TimeGenerated | Project Time, Computer, EventID,Process
  • 16.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 16 6. Project と Extend演算子の利用 (2/2) 表示結果 Kustoクエリ
  • 17.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 17 7. データの可視化 (1/3) TABLENAME | Render XXX ※ render 演算子はクエリの最後の演算子である必要がある
  • 18.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 18 7. データの可視化 (2/3) 表示結果 Kustoクエリ
  • 19.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 19 7. データの可視化 (3/3) 表示結果 Kustoクエリ
  • 20.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 20 Demo  https://clipchamp.com/watch/Xa2KjdqjGPt
  • 21.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 21 Kustoクエリを利用できるツール  Azure Log Analytics  Application Insights  .NETやJava等の言語用の SDK も提供され、コード内で KQL を組み立てて実行可能  Azure Data Explorer (ADX)  Kusto.Explorer  Azure Data Studio すでにログが収集され、実際にクエリを使える環境 https://aka.ms/LADemo
  • 22.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 22 OpenAI(ChatGPT)を使ってKustoを書きましょう
  • 23.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 23 データから未知の可能性を発見 解き明かす未知の可能性 DX推進 脅威検知 システム保全
  • 24.
    Copyright © TokyoElectron Device LTD. All Rights Reserved. 24 【お問い合わせ】 東京エレクトロン デバイス株式会社 クラウドIoTカンパニー エッジクラウドソリューション部 URL: https://esg.teldevice.co.jp/iot/ Mail: esg@teldevice.co.jp TEL: 045-443-4021