azure-kusto
Azure Data Explorer (Kusto/ADX) 上のログ分析、テレメトリー、時系列データなどを、KQLを用いて検索・分析し、異常検知などに役立てるSkill。
📜 元の英語説明(参考)
Query and analyze data in Azure Data Explorer (Kusto/ADX) using KQL for log analytics, telemetry, and time series analysis. USE FOR: KQL queries, Kusto database queries, Azure Data Explorer, ADX clusters, log analytics, time series data, IoT telemetry, anomaly detection DO NOT USE FOR: SQL databases (use azure-postgres), NoSQL queries (use azure-storage), Elasticsearch, AWS analytics tools
🇯🇵 日本人クリエイター向け解説
Azure Data Explorer (Kusto/ADX) 上のログ分析、テレメトリー、時系列データなどを、KQLを用いて検索・分析し、異常検知などに役立てるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o azure-kusto.zip https://jpskill.com/download/19667.zip && unzip -o azure-kusto.zip && rm azure-kusto.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19667.zip -OutFile "$d\azure-kusto.zip"; Expand-Archive "$d\azure-kusto.zip" -DestinationPath $d -Force; ri "$d\azure-kusto.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
azure-kusto.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
azure-kustoフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Azure Data Explorer (Kusto) クエリと分析
KQL クエリを実行し、Azure Data Explorer リソースを管理して、ログ、テレメトリー、時系列データに対する高速でスケーラブルなビッグデータ分析を実現します。
スキルのアクティベーショントリガー
ユーザーが以下を要求した場合、このスキルをすぐに使用してください。
- 「[データパターン] の Kusto データベースをクエリしてください」
- 「Azure Data Explorer から過去1時間のイベントを表示してください」
- 「ADX クラスターのログを分析してください」
- 「[データベース] で KQL クエリを実行してください」
- 「Kusto データベースにはどのようなテーブルがありますか?」
- 「[テーブル] のスキーマを表示してください」
- 「Azure Data Explorer クラスターを一覧表示してください」
- 「[ディメンション] でテレメトリーデータを集計してください」
- 「ログから時系列グラフを作成してください」
主な指標:
- 「Kusto」、「Azure Data Explorer」、「ADX」、「KQL」に言及している
- ログ分析またはテレメトリー分析のリクエスト
- 時系列データ探索
- IoT データ分析クエリ
- SIEM またはセキュリティ分析タスク
- 大規模データセットに対するデータ集計のリクエスト
- パフォーマンス監視または APM クエリ
概要
このスキルは、ログおよびテレメトリーデータに最適化された、高速で拡張性の高いデータ探索サービスである Azure Data Explorer (Kusto) のクエリと管理を可能にします。Azure Data Explorer は、Kusto Query Language (KQL) を使用して、数十億件のレコードに対してサブ秒のクエリパフォーマンスを提供します。
主な機能:
- クエリ実行: 大規模なデータセットに対して KQL クエリを実行します
- スキーマ探索: テーブル、列、データ型を検出します
- リソース管理: クラスターとデータベースを一覧表示します
- 分析: 集計、時系列、異常検出、機械学習
コアワークフロー
- リソースの検出: サブスクリプション内の利用可能なクラスターとデータベースを一覧表示します
- スキーマの探索: データモデルを理解するためにテーブル構造を取得します
- データのクエリ: 分析、フィルタリング、集計のために KQL クエリを実行します
- 結果の分析: 洞察とレポートのためにクエリ出力を処理します
クエリパターン
パターン 1: 基本的なデータ取得
単純なフィルタリングでテーブルから最近のレコードを取得します。
KQL の例:
Events
| where Timestamp > ago(1h)
| take 100
用途: 迅速なデータ検査、最近のイベント取得
パターン 2: 集計分析
洞察とレポートのためにディメンション別にデータを要約します。
KQL の例:
Events
| summarize count() by EventType, bin(Timestamp, 1h)
| order by count_ desc
用途: イベントカウント、分布分析、トップ N クエリ
パターン 3: 時系列分析
トレンドとパターンを把握するために、時間ウィンドウでデータを分析します。
KQL の例:
Telemetry
| where Timestamp > ago(24h)
| summarize avg(ResponseTime), percentiles(ResponseTime, 50, 95, 99) by bin(Timestamp, 5m)
| render timechart
用途: パフォーマンス監視、トレンド分析、異常検出
パターン 4: ジョインと相関
複数のテーブルを結合して、クロスデータセット分析を行います。
KQL の例:
Events
| where EventType == "Error"
| join kind=inner (
Logs
| where Severity == "Critical"
) on CorrelationId
| project Timestamp, EventType, LogMessage, Severity
用途: 根本原因分析、相関イベント追跡
パターン 5: スキーマ検出
クエリを実行する前にテーブル構造を探索します。
ツール: kusto_table_schema_get
用途: データモデルの理解、クエリ計画
主要なデータフィールド
クエリを実行する際の一般的なフィールドパターン:
- Timestamp: イベントの時刻 (datetime) - 時間フィルタリングには
ago()、between()、bin()を使用します - EventType/Category: グループ化のための分類フィールド
- CorrelationId/SessionId: 関連イベントの追跡用
- Severity/Level: 重要度によるフィルタリング用
- Dimensions: グループ化とフィルタリングのためのカスタムプロパティ
結果形式
クエリ結果には以下が含まれます。
- Columns: フィールド名とデータ型
- Rows: クエリに一致するデータレコード
- Statistics: 行数、実行時間、リソース使用率
- Visualization: チャートレンダリングのヒント (timechart, barchart など)
KQL のベストプラクティス
🟢 パフォーマンス最適化:
- 早期にフィルタリングする: ジョインや集計の前に
whereを使用します - 結果サイズを制限する:
takeまたはlimitを使用してデータ転送を減らします - 時間フィルター: 時系列データには常に時間範囲でフィルタリングします
- インデックス付き列: まずインデックス付き列でフィルタリングします
🔵 クエリパターン:
count()単独ではなく、集計にはsummarizeを使用します- 時系列の時間バケットには
bin()を使用します - 必要な列のみを選択するには
projectを使用します - 計算フィールドを追加するには
extendを使用します
🟡 一般的な関数:
ago(timespan): 相対時間 (ago(1h), ago(7d))between(start .. end): 範囲フィルタリングstartswith(),contains(),matches regex: 文字列フィルタリングparse,extract: 文字列から値を抽出しますpercentiles(),avg(),sum(),max(),min(): 集計
ベストプラクティス
- クエリパフォーマンスを最適化するために、常に時間範囲フィルターを含めます
- 大量の結果セットを避けるために、探索的クエリには
takeまたはlimitを使用します - クライアント側処理ではなく、集計には
summarizeを活用します - 頻繁に使用するクエリはデータベースに関数として保存します
- 繰り返し集計にはマテリアライズドビューを使用します
- クエリのパフォーマンスとリソース消費を監視します
- ストレージコストを管理するためにデータ保持ポリシーを適用します
- リアルタイム分析 (1秒未満のレイテンシー) にはストリーミングインジェストを使用します
- 運用上の洞察のために Azure Monitor と統合します
使用される MCP ツール
| ツール | 目的 |
|---|---|
kusto_cluster_list |
サブスクリプション内のすべての Azure Data Explorer クラスターを一覧表示します |
kusto_database_list |
特定の Kusto クラスター内のすべてのデータベースを一覧表示します |
kusto_query |
Kusto データベースに対して KQL クエリを実行します |
kusto_table_schema_get |
特定のテーブルのスキーマ情報を取得します |
必須パラメーター:
subscription: Azure サブスクリプション ID または表示名cluster: Kusto クラスター名 (例: "mycluster")database: データベース名query: KQL クエリ文字列 (クエリ操作用)table: テーブル名 (スキーマ操作用)
オプションパラメーター:
resource-group: リソースグループ名 (一覧表示用)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Azure Data Explorer (Kusto) Query & Analytics
Execute KQL queries and manage Azure Data Explorer resources for fast, scalable big data analytics on log, telemetry, and time series data.
Skill Activation Triggers
Use this skill immediately when the user asks to:
- "Query my Kusto database for [data pattern]"
- "Show me events in the last hour from Azure Data Explorer"
- "Analyze logs in my ADX cluster"
- "Run a KQL query on [database]"
- "What tables are in my Kusto database?"
- "Show me the schema for [table]"
- "List my Azure Data Explorer clusters"
- "Aggregate telemetry data by [dimension]"
- "Create a time series chart from my logs"
Key Indicators:
- Mentions "Kusto", "Azure Data Explorer", "ADX", or "KQL"
- Log analytics or telemetry analysis requests
- Time series data exploration
- IoT data analysis queries
- SIEM or security analytics tasks
- Requests for data aggregation on large datasets
- Performance monitoring or APM queries
Overview
This skill enables querying and managing Azure Data Explorer (Kusto), a fast and highly scalable data exploration service optimized for log and telemetry data. Azure Data Explorer provides sub-second query performance on billions of records using the Kusto Query Language (KQL).
Key capabilities:
- Query Execution: Run KQL queries against massive datasets
- Schema Exploration: Discover tables, columns, and data types
- Resource Management: List clusters and databases
- Analytics: Aggregations, time series, anomaly detection, machine learning
Core Workflow
- Discover Resources: List available clusters and databases in subscription
- Explore Schema: Retrieve table structures to understand data model
- Query Data: Execute KQL queries for analysis, filtering, aggregation
- Analyze Results: Process query output for insights and reporting
Query Patterns
Pattern 1: Basic Data Retrieval
Fetch recent records from a table with simple filtering.
Example KQL:
Events
| where Timestamp > ago(1h)
| take 100
Use for: Quick data inspection, recent event retrieval
Pattern 2: Aggregation Analysis
Summarize data by dimensions for insights and reporting.
Example KQL:
Events
| summarize count() by EventType, bin(Timestamp, 1h)
| order by count_ desc
Use for: Event counting, distribution analysis, top-N queries
Pattern 3: Time Series Analytics
Analyze data over time windows for trends and patterns.
Example KQL:
Telemetry
| where Timestamp > ago(24h)
| summarize avg(ResponseTime), percentiles(ResponseTime, 50, 95, 99) by bin(Timestamp, 5m)
| render timechart
Use for: Performance monitoring, trend analysis, anomaly detection
Pattern 4: Join and Correlation
Combine multiple tables for cross-dataset analysis.
Example KQL:
Events
| where EventType == "Error"
| join kind=inner (
Logs
| where Severity == "Critical"
) on CorrelationId
| project Timestamp, EventType, LogMessage, Severity
Use for: Root cause analysis, correlated event tracking
Pattern 5: Schema Discovery
Explore table structure before querying.
Tools: kusto_table_schema_get
Use for: Understanding data model, query planning
Key Data Fields
When executing queries, common field patterns:
- Timestamp: Time of event (datetime) - use
ago(),between(),bin()for time filtering - EventType/Category: Classification field for grouping
- CorrelationId/SessionId: For tracing related events
- Severity/Level: For filtering by importance
- Dimensions: Custom properties for grouping and filtering
Result Format
Query results include:
- Columns: Field names and data types
- Rows: Data records matching query
- Statistics: Row count, execution time, resource utilization
- Visualization: Chart rendering hints (timechart, barchart, etc.)
KQL Best Practices
🟢 Performance Optimized:
- Filter early: Use
wherebefore joins and aggregations - Limit result size: Use
takeorlimitto reduce data transfer - Time filters: Always filter by time range for time series data
- Indexed columns: Filter on indexed columns first
🔵 Query Patterns:
- Use
summarizefor aggregations instead ofcount()alone - Use
bin()for time bucketing in time series - Use
projectto select only needed columns - Use
extendto add calculated fields
🟡 Common Functions:
ago(timespan): Relative time (ago(1h), ago(7d))between(start .. end): Range filteringstartswith(),contains(),matches regex: String filteringparse,extract: Extract values from stringspercentiles(),avg(),sum(),max(),min(): Aggregations
Best Practices
- Always include time range filters to optimize query performance
- Use
takeorlimitfor exploratory queries to avoid large result sets - Leverage
summarizefor aggregations instead of client-side processing - Store frequently-used queries as functions in the database
- Use materialized views for repeated aggregations
- Monitor query performance and resource consumption
- Apply data retention policies to manage storage costs
- Use streaming ingestion for real-time analytics (< 1 second latency)
- Integrate with Azure Monitor for operational insights
MCP Tools Used
| Tool | Purpose |
|---|---|
kusto_cluster_list |
List all Azure Data Explorer clusters in a subscription |
kusto_database_list |
List all databases in a specific Kusto cluster |
kusto_query |
Execute KQL queries against a Kusto database |
kusto_table_schema_get |
Retrieve schema information for a specific table |
Required Parameters:
subscription: Azure subscription ID or display namecluster: Kusto cluster name (e.g., "mycluster")database: Database namequery: KQL query string (for query operations)table: Table name (for schema operations)
Optional Parameters:
resource-group: Resource group name (for listing operations)tenant: Azure AD tenant ID
Fallback Strategy: Azure CLI Commands
If Azure MCP Kusto tools fail, timeout, or are unavailable, use Azure CLI commands as fallback.
CLI Command Reference
| Operation | Azure CLI Command |
|---|---|
| List clusters | az kusto cluster list --resource-group <rg-name> |
| List databases | az kusto database list --cluster-name <cluster> --resource-group <rg-name> |
| Show cluster | az kusto cluster show --name <cluster> --resource-group <rg-name> |
| Show database | az kusto database show --cluster-name <cluster> --database-name <db> --resource-group <rg-name> |
KQL Query via Azure CLI
For queries, use the Kusto REST API or direct cluster URL:
az rest --method post \
--url "https://<cluster>.<region>.kusto.windows.net/v1/rest/query" \
--body "{ \"db\": \"<database>\", \"csl\": \"<kql-query>\" }"
When to Fallback
Switch to Azure CLI when:
- MCP tool returns timeout error (queries > 60 seconds)
- MCP tool returns "service unavailable" or connection errors
- Authentication failures with MCP tools
- Empty response when database is known to have data
Common Issues
- Access Denied: Verify database permissions (Viewer role minimum for queries)
- Query Timeout: Optimize query with time filters, reduce result set, or increase timeout
- Syntax Error: Validate KQL syntax - common issues: missing pipes, incorrect operators
- Empty Results: Check time range filters (may be too restrictive), verify table name
- Cluster Not Found: Check cluster name format (exclude ".kusto.windows.net" suffix)
- High CPU Usage: Query too broad - add filters, reduce time range, limit aggregations
- Ingestion Lag: Streaming data may have 1-30 second delay depending on ingestion method
Use Cases
- Log Analytics: Application logs, system logs, audit logs
- IoT Analytics: Sensor data, device telemetry, real-time monitoring
- Security Analytics: SIEM data, threat detection, security event correlation
- APM: Application performance metrics, user behavior, error tracking
- Business Intelligence: Clickstream analysis, user analytics, operational KPIs