Cloud Service
Azure Monitor Workbooks
メトリクスとログを一枚のキャンバスに束ね、対話的なレポートやダッシュボードを作れる可視化ツール。障害調査や運用報告を再利用可能な形に標準化できる。AWS の CloudWatch Dashboards に近い位置づけ。
- 1.メトリクス・ログ・パラメーターを組み合わせ対話的なレポートを作る可視化ツール。
- 2.テンプレートとして共有・再利用でき、障害調査や運用報告を標準化できる。
- 3.AWS の CloudWatch Dashboards に近いが、KQL とパラメーター連動で表現力が高い。
解決する課題
メトリクスは Metrics エクスプローラー、ログは Log Analytics、と画面が分かれていると、障害調査のたびに複数の画面を行き来し、見たい切り口を毎回作り直すことになります。Workbooks(ブック)は、これらを 1 つのキャンバスに束ね、パラメーターで切り替えられる対話的なレポートとして固定化します。
- メトリクスとログを1 つの画面にまとめて見たい
- 調査の手順や切り口を再利用可能なテンプレートとして残したい
- リージョンや環境などをパラメーターで切り替えながら掘り下げたい
- 運用報告やトラブルシュートの手順を標準化し、属人化を防ぎたい
Workbooks は Azure Monitor の可視化機能の一つで、AWS でいえば CloudWatch Dashboards に近い位置づけです。ただし、KQL クエリやパラメーター連動による絞り込みを組み合わせられる点で、静的なダッシュボードより対話的なレポート寄りの性格を持ちます。
主要概念と用語
- ブック(Workbook): 複数のクエリ・可視化・テキストを 1 つにまとめた対話的なドキュメント。保存して共有・再利用できる
- ステップ(アイテム): ブックを構成する単位。テキスト、クエリ、メトリクス、パラメーター、リンクなどの種類がある
- データソース: ステップが参照する情報源。Logs(Log Analytics ワークスペース)、Metrics、Azure Resource Graph、アラート、Azure Resource Manager など複数を 1 つのブック内で混在できる
- パラメーター: ブック上部などに置く入力値。時間範囲・サブスクリプション・リソース・しきい値などを変数化し、各ステップに差し込んでドリルダウンを実現する
- 可視化(Visualization): クエリ結果の表示形式。グリッド(表)、グラフ、時系列、タイル、ツリーマップ、グラフ(ノード/エッジ)などを選べる
- テンプレート: 共有用に作り込んだブックの雛形。Azure 提供のギャラリーや組織内で配布し、使う側はパラメーターを変えて再利用する
- ギャラリー: リソースの種類ごとに用意されたブックの一覧画面。多くのサービスに既製ブックが用意されている
仕様・制限・クォータ
- ブック自体は Azure リソースとして保存される(共有ブック)。リソース グループに置かれ、Azure RBAC とタグ付けの対象になる。個人スコープの「マイ ブック」として手元にだけ保存することもできる
- ログ系ステップは Log Analytics ワークスペースや Application Insights を参照し、クエリは KQL で記述する
- メトリクス系ステップは Azure Monitor のプラットフォーム メトリクスやカスタム メトリクスを参照する
- 1 つのブックに複数のデータソースを混在でき、Logs・Metrics・Resource Graph・アラートなどを同居させられる
- ブックの定義は内部的に JSON で保持され、ARM テンプレートとしてコード化・デプロイできる
- 表示するデータの取得自体は、Log Analytics のクエリ課金やメトリクスの利用に従う。1 ブックあたりのステップ数など細かな上限値は変動するため、要件に直結する場合は公式ドキュメントで最新値を確認すること
内部の仕組み
ブックは「ステップの並び」を JSON で記述したドキュメントです。各ステップは自身のデータソースに対してクエリを発行し、結果を指定の可視化で描画します。ログ系ステップなら Log Analytics や Application Insights に KQL を投げ、メトリクス系ステップなら Azure Monitor のメトリクス ストアを参照します。
パラメーターは、この仕組みを対話的にする中核です。ブック上部のパラメーターで選んだ値(時間範囲・リソース・しきい値など)が、後続ステップのクエリへ文字列展開で差し込まれます。あるステップの選択結果を次のステップのパラメーターにすることで、表をクリックして詳細へ掘り下げるドリルダウンも組めます。
共有ブックは Azure リソースとして保存されるため、保存・更新は通常のリソース操作として扱われ、定義は ARM テンプレート化してリポジトリで管理できます。
最初に時間範囲パラメーターを置き、各ログ ステップへ差し込むのが定石です。ステップごとに時間条件を書かずに済み、画面上の 1 操作で全体の対象期間を切り替えられます。
設計パターン / ベストプラクティス
- 既製ブックを起点にする: 多くのサービスにギャラリーの既製ブックがある。ゼロから作らず、近いものを複製して調整する
- パラメーター駆動で汎用化: サブスクリプションやリソースを直書きせず、パラメーターで切り替えられるようにして使い回す
- ドリルダウン設計: 概況の表から個別リソースの詳細へ、表のクリックを次ステップのパラメーターに連動させて掘り下げ動線を作る
- テンプレートとして配布: 障害対応の定番調査をテンプレート化し、チームで同じ手順・同じ画面を共有する
- コード化して管理: ブック定義を ARM テンプレートにエクスポートし、環境間で同一のブックをデプロイする
運用・監視
- データが出ない → ログ ステップが参照する Log Analytics ワークスペースや診断設定が正しいかを確認する。元データが集約されていなければブックにも出ない
- 他者に見えない → 共有ブックは Azure リソースなので、閲覧者にブックと参照先データへの RBAC があるかを確認する
- 重い → 広い時間範囲やフルテキストの広範な検索を避け、各ステップの KQL を時間範囲と集計で絞る
- 量産・標準化したい → 定番ブックは ARM テンプレート化し、デプロイ パイプラインで各サブスクリプションへ展開する
コスト
ブックという機能自体に固有の利用料はかかりません。コストが発生するのは、ブックが描画のために裏で実行するデータ取得の側です。
| コストの源 | 発生の仕方 | 最適化のポイント |
|---|---|---|
| ログ クエリ | Log Analytics のプランに応じた走査・取り込みに従う | 時間範囲と集計で走査量を抑える |
| メトリクス参照 | メトリクスの利用に従う | 必要な系列に絞って表示する |
| ブックの保存 | 共有ブックはリソースとして保存 | 原則として保存自体は軽微 |
1 ページに広い時間範囲のログ ステップを大量に並べると、開くたびに重いクエリが一斉に走り、表示の遅さと Log Analytics 側のコストの両方に響きます。ステップごとに時間範囲と集計で絞るのが基本です。
セキュリティ
- 共有ブックへのアクセスは Microsoft Entra ID と Azure RBAC で制御する。ブックの閲覧・編集の権限と、参照先データへの権限は別々に効く
- ブックが表示できる範囲は、見る人が参照先データに持つ権限の範囲内に収まる。権限のないデータはブック越しでも見えない
- 機密データを含むワークスペースを参照するブックは、ブックの配置先リソース グループと参照先双方の RBAC を併せて設計する
- ブック定義(JSON / ARM テンプレート)に接続文字列などの機密値を直接埋め込まない。リソース ID とパラメーターで参照する
関連サービス・比較
Azure 内での代表的な対比は、固定レイアウトの Azure ダッシュボードです。ダッシュボードはタイルを並べた共有ボード向き、Workbooks はパラメーターで掘り下げる対話的レポート向き、という住み分けになります。
| 観点 | Azure Monitor Workbooks | Azure ダッシュボード |
|---|---|---|
| 主な用途 | 対話的なレポート・調査 | 固定レイアウトの状況ボード |
| 対話性 | パラメーターで切り替え・ドリルダウン | 基本は固定のタイル表示 |
| データソース | Logs/Metrics/Resource Graph など混在 | 主にメトリクスとピン留めタイル |
| クエリ | KQL を直接記述できる | ピン留めや限定的な編集が中心 |
| 再利用 | テンプレートとして配布 | 共有ダッシュボードとして共有 |
| AWS の近い概念 | CloudWatch Dashboards に近い | CloudWatch Dashboards に近い |
ハンズオン / CLI例
# ギャラリーや既製ブックは主にポータルで作成・編集する。
# 共有ブックはリソースとして扱えるため、一覧や ARM 連携が可能。
# サブスクリプション内のブック(リソース)を一覧表示
az resource list \
--resource-type "microsoft.insights/workbooks" \
--query "[].{name:name, rg:resourceGroup, location:location}" \
-o table
# 既存ブックの定義(JSON)を取得して内容を確認・バックアップ
az resource show \
--resource-group demo-rg \
--resource-type "microsoft.insights/workbooks" \
--name <workbook-resource-name> \
--query "properties" -o json
# ARM テンプレート化したブックを環境へデプロイ(テンプレートはポータルのギャラリー編集からエクスポート)
az deployment group create \
--resource-group demo-rg \
--template-file workbook.template.json \
--parameters workspaceResourceId="/subscriptions/<sub-id>/resourceGroups/demo-rg/providers/Microsoft.OperationalInsights/workspaces/demo-law"
Azure Service
Azure Monitor Workbooksを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
監視・オブザーバビリティ
比較で見る軸
クラウド: Azure / カテゴリ: 監視・オブザーバビリティ / 難易度: intermediate
導入後に効く点
テンプレートとして共有・再利用でき、障害調査や運用報告を標準化できる。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Azure
- カテゴリ
- 監視・オブザーバビリティ
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- operational / performance
判断チェックリスト
- 自社の用途が「監視・オブザーバビリティ / operational」に近いか確認する。
- 強みである「メトリクス・ログ・パラメーターを組み合わせ対話的なレポートを作る可視化ツール。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。