TL

Cloud Service

Azure Log Analytics

ログを 1 つのワークスペースに集約し、KQL で横断的にクエリ・集計・可視化するログ分析基盤。AWS の CloudWatch Logs に相当。

基礎運用上の優秀性
最終更新: 2026-06-14公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.各種ログを Log Analytics ワークスペースに集約し KQL で分析する。
  • 2.ワークスペースはリージョン単位の格納先で、保持はテーブル単位に最適化できる。
  • 3.AWS の CloudWatch Logs と Logs Insights に相当する位置づけ。

解決する課題

VM・PaaS・コンテナー・アプリと、ログの出どころがバラバラだと、障害調査のたびに複数の場所を行き来することになります。Log Analytics は、これらのログを 1 つのワークスペースに集めて、共通のクエリ言語で横断的に調べられるようにします。

  • 散らばったログを一元的に集約して横断検索したい
  • 大量のログから特定の事象を絞り込み・集計したい(エラー件数、レイテンシ分布など)
  • ログを起点にアラートやダッシュボードへつなげたい
  • 監査やトラブルシュートのために一定期間ログを保持したい

Log Analytics は Azure Monitor の一部であり、Azure Monitor の「ログ」機能の格納先・分析エンジンに当たります。AWS でいえば、ログ収集の CloudWatch Logs と、その上で検索・集計する CloudWatch Logs Insights をまとめた位置づけです。

主要概念と用語

  • Log Analytics ワークスペース: ログ データの格納先となる中核リソース。リージョン単位で作成し、保持・アクセス制御・課金の境界になる(CloudWatch のロググループ群をまとめた器に近い)
  • KQL(Kusto 照会言語): ログを検索・絞り込み・集計するためのクエリ言語。パイプ演算子でテーブルを段階的に絞り込む(CloudWatch Logs Insights のクエリ言語に相当)
  • テーブル: ログの種類ごとの格納単位。リソース ログやプラットフォーム ログ、カスタム ログがそれぞれテーブルとして保持される
  • TimeGenerated: 各レコードが持つタイムスタンプ列。時間範囲でのフィルターや時系列集計の基準になる
  • テーブル プラン: テーブルごとに選べる取り込み区分(Analytics / Basic / Auxiliary など)。取り込みコストとクエリの自由度・保持の扱いが変わる
  • データ収集元: 診断設定(リソース ログ)、Azure Monitor Agent と Data Collection Rule(VM のゲスト ログ・syslog)、Application Insights などから取り込まれる
  • 保持とアーカイブ: テーブル単位で対話的に検索できる保持期間と、低コストで長期保管するアーカイブを使い分ける

仕様・制限・クォータ

  • ワークスペースはリージョン リソース。複数ワークスペースをまたいだクエリは可能だが、どこに集約するかは設計時に方針を決める
  • 保持はテーブル単位で設定でき、対話的な保持と、その後の長期アーカイブを組み合わせられる。既定の保持日数を超える分は課金対象になる
  • テーブル プラン(Analytics / Basic / Auxiliary)により、フルクエリが可能か、絞り込み中心の低コスト取り込みか、といった性質が変わる
  • KQL クエリには結果行数や実行時間などの実行上限がある。大量データは時間範囲や集計で絞ってから扱う
  • リソース ログは既定では収集されない。各リソースで診断設定を有効化して初めてワークスペースへ流れる
  • 具体的な保持日数・取り込み上限・料金などの数値は変動するため、要件に直結する場合は公式ドキュメントで最新値を確認すること

内部の仕組み

Log Analytics の実体は、Azure Monitor のログ プラットフォームを支える Kusto(Azure Data Explorer 系)エンジン上のデータ ストアです。取り込まれたログはテーブルに列指向で格納され、KQL で高速に検索・集計できます。

データの流れは大きく 3 経路です。1 つ目は各 Azure リソースの診断設定経由のリソース ログ、2 つ目は VM などの**Azure Monitor Agent と Data Collection Rule(DCR)**経由のゲスト ログや syslog、3 つ目は Application Insights などアプリ層からのテレメトリです。いずれもワークスペース内の対応するテーブルに格納され、TimeGenerated を軸に時系列として扱えます。

KQL クエリはテーブルを起点に、フィルター・射影・集計をパイプでつないで段階的に絞り込みます。クエリ結果はアラート ルールの評価、ブックやダッシュボードでの可視化、Managed Grafana 連携など、後段の機能から共通して利用されます。

TimeGenerated でまず絞る

KQL では最初に時間範囲で絞ると、スキャン対象が減って速くなり、コストも抑えられます。まず where TimeGenerated を効かせてから、条件や集計を重ねるのが基本です。

設計パターン / ベストプラクティス

  • 集中ワークスペース: サブスクリプション横断で 1〜数個のワークスペースに集約し、RBAC とコスト・保持方針を一元的に統制する
  • テーブル プランの使い分け: 高頻度に検索する運用ログは Analytics、ほぼ保管目的のログは Basic / Auxiliary に振り分けて取り込みコストを最適化する
  • 保持はテーブル単位で最適化: 重要テーブルだけ長めに保持し、長期保管はアーカイブへ寄せる
  • 取り込み段階で絞る: Verbose ログを全リソースから無制限に送らず、必要なテーブル・レベルに絞ってからワークスペースへ流す
  • KQL を再利用: よく使うクエリは関数(保存済みクエリ)化し、アラートやブックから共有する

運用・監視

  • ログが来ない → 多くは診断設定が未構成。VM のゲスト ログなら Azure Monitor Agent と DCR の割り当て、マネージド ID の権限を確認する
  • クエリが遅い・上限に当たる → 時間範囲を狭め、集計で行数を減らす。フルテキストの広範な検索を避け、列を指定して絞る
  • 取り込み量が急増 → どのテーブルが伸びているかを把握し、Verbose ログの送りすぎや不要テーブルを点検する
  • ワークスペース自体の使用状況やクエリ性能も、ワークスペース内のメタデータ的なテーブルから KQL で監視できる

コスト

課金は主にログ取り込み量(GB)保持・アーカイブで発生します。プラットフォーム メトリクスと違い、ログは取り込んだ分だけコストになるため、何をどれだけ入れるかの設計が効きます。

課金要素主な単位コスト最適化のポイント
ログ取り込み取り込み GB 単位不要な Verbose ログを止め、Basic/Auxiliary プランやコミット階層を活用
保持GB×月(既定無料分を超過後)テーブル単位で保持期間を最適化する
アーカイブGB×月(対話保持より安価)検索頻度が低い長期保管はアーカイブへ寄せる
クエリプランによっては検索スキャン課金時間範囲と集計で走査量を抑える
取り込みすぎに注意

「とりあえず全部入れておく」は危険です。Log Analytics は取り込み量に比例して課金されるため、Verbose ログの垂れ流しはコスト膨張とノイズの両方を招きます。必要なテーブルとレベルに絞ることが、コストとシグナル比の両面で効きます。

セキュリティ

  • ワークスペースへのアクセスは Microsoft Entra ID と Azure RBAC で制御する。ワークスペース全体だけでなく、リソース コンテキストやテーブル レベルでのアクセス制御も可能
  • データは保存時に暗号化される。要件に応じて **Customer-Managed Key(CMK)**を Key Vault で管理できる
  • エージェントや収集の認証にはマネージド ID を使い、資格情報のハードコードを避ける
  • 機密ログを含む場合はテーブル レベル RBAC で参照範囲を絞り、必要なら Microsoft Sentinel(SIEM)連携で脅威検知へ拡張する

Well-Architected の観点

  • オペレーショナル エクセレンス: ログを集約し KQL で横断分析できることで、障害調査と原因特定が速くなる。クエリやブックを共有資産化して運用を標準化する
  • アラートやダッシュボードの信頼できる単一の情報源として機能し、属人化を防ぐ
  • 取り込み・保持の設計はコスト最適化と直結するため、運用の質とコストを両立させる観点で見直す

試験で問われるポイント

頻出
  • ログの集約・分析の格納先は Log Analytics ワークスペースであり、リージョン単位のリソースであること
  • ログの検索・集計は **KQL(Kusto 照会言語)**で行うこと
  • リソース ログは既定では収集されず、診断設定で送信先にワークスペースを指定して初めて取り込まれること
  • VM のゲスト OS 内部のログは Azure Monitor Agent と DCR で収集する必要があること
  • 保持はテーブル単位で最適化でき、長期保管はアーカイブを使うこと
  • AWS では **CloudWatch Logs(収集)と Logs Insights(分析)**に相当すること

関連サービス・比較

観点Azure Log AnalyticsAmazon CloudWatch Logs
位置づけログの集約と分析の基盤ログの集約基盤
格納の単位Log Analytics ワークスペースロググループ / ログストリーム
分析・クエリKQL(Kusto 照会言語)CloudWatch Logs Insights
範囲リージョン単位のワークスペースリージョン単位のロググループ
OS内部の収集Azure Monitor Agent と DCRCloudWatch Agent
上位の枠組みAzure Monitor の一部Amazon CloudWatch の一部
長期保管テーブル単位の保持とアーカイブ保持期間設定とエクスポート

ハンズオン / CLI例

# Log Analytics ワークスペースを作成
az monitor log-analytics workspace create \
  --resource-group demo-rg \
  --workspace-name demo-law \
  --location japaneast

# 作成したワークスペースの ID(GUID)を取得
az monitor log-analytics workspace show \
  --resource-group demo-rg \
  --workspace-name demo-law \
  --query customerId -o tsv

# リソースのログ/メトリクスをワークスペースへ送る診断設定を作成
az monitor diagnostic-settings create \
  --name app-to-law \
  --resource "/subscriptions/<sub-id>/resourceGroups/demo-rg/providers/Microsoft.Web/sites/demo-app" \
  --workspace demo-law \
  --logs '[{"category":"AppServiceHTTPLogs","enabled":true}]'

# KQL で直近の重大度の高いトレースを 1 時間ごとに集計
az monitor log-analytics query \
  --workspace <workspace-id> \
  --analytics-query "AppTraces | where TimeGenerated > ago(1d) | where SeverityLevel >= 3 | summarize count() by bin(TimeGenerated, 1h)"

Azure Service

Azure Log Analyticsを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

監視・オブザーバビリティ

比較で見る軸

クラウド: Azure / カテゴリ: 監視・オブザーバビリティ / 難易度: basic

導入後に効く点

ワークスペースはリージョン単位の格納先で、保持はテーブル単位に最適化できる。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Azure
カテゴリ
監視・オブザーバビリティ
難易度
basic
関連資格
設計柱
operational

判断チェックリスト

  • 自社の用途が「監視・オブザーバビリティ / operational」に近いか確認する。
  • 強みである「各種ログを Log Analytics ワークスペースに集約し KQL で分析する。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

監視・オブザーバビリティoperational