MS_ApplicationInsights - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
Azure Monitor の
**高機能アプリ監視ツール(Deep Application Monitoring)**にあたる機能。
補足(原文は見出しのみのため、要点を補う): 本ページは元 Wiki では
見出しだけが用意された状態だった。
ここでは Azureの監視と管理 における位置づけ
(「業務は成立しているか」を見るアプリ層の監視)に沿って要点を補う。
Azure Monitor の他の機能が
インフラの状態(CPU、ディスク、ネットワーク)を見るのに対し、
Application Insights はアプリケーションの中の出来事を見る。
| 層 | 問い | 主な手段 |
|---|---|---|
| インフラ層 | サーバは生きているか | Metrics、VM Insights |
| プラットフォーム層 | サービスは正常か | リソース ログ、Service Health |
| アプリ層 | 業務は成立しているか | Application Insights |
「VM の CPU は正常なのに、注文が通らない」という状況を
検知できるのはアプリ層の監視だけである、というのが存在意義。
| 機能 | 内容 |
|---|---|
| 要求 / 依存関係の追跡 | HTTP 要求と、そこから呼ばれた SQL・HTTP・キューの所要時間を自動記録 |
| 例外の収集 | 未処理例外をスタック トレース付きで収集 |
| ライブ メトリック | ほぼ遅延なしで要求数・失敗数・CPU を表示(リリース直後の確認に有効) |
| アプリケーション マップ | 依存関係を図で可視化し、遅延・失敗の発生箇所を特定 |
| トランザクション検索 / エンドツーエンド追跡 | 1 件の要求を、関連するサービス横断で追跡 |
| 可用性テスト | 外形監視(外部から定期的に URL を叩く) |
| 使用状況分析 | ユーザー数、セッション、ファネル、リテンション |
| 方式 | 内容 |
|---|---|
| 自動計装(コードレス) | App Service / AKS / VM で拡張機能として有効化。アプリの改修が不要 |
| SDK による計装 | アプリに SDK を組み込む。カスタム イベント・メトリックを送れる |
| OpenTelemetry | 現在の推奨。ベンダ中立な計装で、送信先として Application Insights を指定する |
補足(OpenTelemetry への移行): 従来の Application Insights SDK は
保守モードに入っており、新規開発では
Azure Monitor OpenTelemetry Distro の利用が推奨されている。
OpenTelemetry で計装しておけば、
将来監視基盤を差し替える場合もアプリ側の改修を避けやすい。
かつては Application Insights が独自にデータを保持していたが、
現在は Log Analytics ワークスペースに格納される
(ワークスペース ベース)方式に統合されている。
クラシック リソースは既に廃止済み。
これにより、
- アプリのテレメトリと、インフラのログを同じ KQL で横断的に結合できる、
- 保持期間・アクセス制御・課金がワークスペースの設定に一元化される、
という利点が得られる。
課金は取り込んだデータ量による。
そのため、次の 2 点が実務上の要点になる。
-
サンプリング
既定で適応型サンプリングが有効。
「件数」は補正されるが、個々の要求が必ず記録されるとは限らないため、
監査目的のログを Application Insights に依存させてはならない。 -
個人情報の混入
要求 URL やカスタム プロパティに個人情報が入り込みやすい。
テレメトリ プロセッサでのマスキングを検討すること。
- Application Insights の概要
https://learn.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview - Azure Monitor OpenTelemetry を有効にする
https://learn.microsoft.com/ja-jp/azure/azure-monitor/app/opentelemetry-enable
Tags: 移行, インフラストラクチャ, クラウド, セキュリティ, Azure