Operations & Troubleshooting参照資料確認: 2026-09-11

Diagnostic Settings / Network Logging

Azure network resourceのresource logs・platform metrics・Activity LogをDiagnostic settingsでLog Analytics/Storage/Event Hubsへ送り、欠測・retention・costを設計する。

Scope: Microsoft Learnの一次資料を2026-09-11時点で確認したPlatform Referenceです。quota、role、API version、retirement、service healthは更新されるため、production change直前にOfficial sourcesを再確認してください。

Diagnostic Settings / Network Loggingを理解するための前提

platform metricsとActivity Logは自動収集されるが、resource logsは既定では収集されずDiagnostic settingが必要。 1 resourceあたり作成できるdiagnostic settingsは最大5つ。

destinationはLog Analytics workspace、Storage account、Event Hubs、partner solution等を用途に応じて選ぶ。 resourceを削除・rename・別RG/subscriptionへmoveする場合、古いdiagnostic settingを残すと同名resource再作成時に意図せず適用される可能性がある。

network incidentで「ログがない」はtrafficがなかった証明ではない。collection configuration、category、destination ingestion、retentionの順に欠測を切り分ける。

通信や判断の流れを追う
症状を再現設定を確認能動試験ログ / packetアプリ確認

Control plane と Data plane

Control planeARM、Azure RBAC、Resource Graph、Activity Log、provider metadata、Service Health等からresourceの存在・権限・変更・platform状態を確認する。
Data plane実際のpacket/request成功は、effective route/security、DNS、health probe、flow/resource logs、synthetic test等で別途証明する。control-plane Succeededだけで通信成功としない。

仕組みと設計上の意味

Diagnostic settingsはAzure Monitorへの「配線」です。resourceが出せるlog/metric categoryを選択し、Log Analytics、Storage、Event Hubsなどへ送ります。NSG/Firewall/Application Gateway/VPN/ExpressRoute等は各resource typeでcategoryが異なるため、テンプレートを一律copyするだけでは必要な証拠が欠けます。

resource logは既定収集ではありません。IncidentでKQLを打って0件だった場合、最初に「その時刻・category・resourceが本当にcollection対象だったか」を確認します。Log Analytics destinationが設定されていても、対象categoryがoffなら0件は正常です。

最大5 settings / resource複数destinationやownership分離を行うと上限に近づきます。temporary migration用settingを追加する前にslotを確認してください。

Operational / decision path

対象scopeと時刻を固定し、read-only evidence → 判断 → change → same testで再検証の順を崩さない。

  1. 対象resource typeが提供するlog/metric categoryを列挙する。
  2. 現在のdiagnostic settings、destination IDs、enabled categoriesをread-onlyで取得する。
  3. incident/use caseごとに必要なcategoryとretentionを定義する。
  4. destination側でingestion/table/storage container/Event Hub受信まで確認する。
  5. 変更時はdual-writeまたは短い重複期間を設け、queryでnew destinationを検証してから旧設定を外す。

設計判断

判断点推奨理由
DestinationLog Analytics=interactive query、Storage=長期archive、Event Hubs=stream/SIEM用途ごとにretention/latency/costが異なる
Categoriesresource typeごとに明示AllLogs category groupの有無や新category追加を確認
ScalePolicy/initiativeでdeployIfNotExistsを検討手作業の漏れを減らす
Lifecycleresource delete/move時にsettingも棚卸しstale settingの再適用を防ぐ

確認手順

Azure Portal

  • 対象resource → Monitoring → Diagnostic settingsで現在設定とdestinationを確認。
  • Categoriesでresource-specific logs/metricsを確認。
  • Log Analytics destinationではLogsからresource ID/time rangeで実データを確認。

Evidence contract

Identitytenant / subscription / resource ID / region / principalを可能な限り固定。
TimeUTC time rangeと実行時刻を記録し、変更・障害timelineと結ぶ。
Scopesubscription/region/resource typeなど、その値が意味を持つscopeを必ず残す。
Runtimecontrol-plane evidenceと実通信/data-plane evidenceを分けて保存。

Read-only first: 以下のCLI/PowerShellは原則として参照系から開始します。コメントでMUTATINGと示した操作は、必要性・scope・rollbackを確認した後にのみ実行します。

Azure CLI
resourceId="<resource-id>"

# read-only: available categories / current settings
az monitor diagnostic-settings categories list --resource "$resourceId" -o table
az monitor diagnostic-settings list --resource "$resourceId" -o jsonc
PowerShell
$resourceId = '<resource-id>'

Get-AzDiagnosticSettingCategory -ResourceId $resourceId
Get-AzDiagnosticSetting -ResourceId $resourceId

障害切り分け

症状疑う点証拠次の確認
KQLが0件category未有効/時間範囲/ingestion latencydiagnostic setting + category listdestination table/storageまで追う
設定はあるが一部log欠落resource-specific category変更/collection semanticscategory list + resource log referencecategory group/個別categoryを再確認
新settingを追加できない5 settings上限diagnostic-settings list不要/stale settingのownershipを確認
resource再作成後に意図せず送信stale diagnostic settingActivity Log + setting IDdelete/rename/move時のcleanup手順を修正

変更・rollback

  • 既存log destinationを置換するとincident evidenceが分断されるため、可能ならdual-writeしてnew pathを先に検証する。
  • 大量resourceへPolicy適用する前に代表resourceでcategory/destination/tableを確認し、remediationのblast radiusを把握する。
  • 診断設定削除前にretention先のデータ存続条件を確認する。setting削除とstored log削除は同義ではない。
  • rollbackでは旧destination/category構成をJSONとして保存し、同じresource ID/time queryでcollection復旧を確認する。

変更前後で保存する証拠

Before対象resource IDs、関連設定、current state、query/command出力。
Changeactor、ticket/deployment ID、correlation ID、開始/終了時刻。
Aftersame command/queryとsame test vectorで差分確認。
Rollback戻す条件、戻す対象、rollback後に再実行する観測。

Official sources