監視のためのアプリのインストルメンテーション

Azure ソリューションの監視とトラブルシューティング

Ebadur Osib

Senior Cloud Consulting Engineer

インストルメンテーションとApplication Insights

インストルメンテーションとApplication Insightsの比較

Azure ソリューションの監視とトラブルシューティング

監視のためのアプリのインストルメンテーション

データなしの状態

Azure ソリューションの監視とトラブルシューティング

インストルメンテーション

クエスチョンマークのアプリ

接続済みアプリ

Azure ソリューションの監視とトラブルシューティング

アプリのインストルメンテーションとは?

テレメトリを送信するアプリ

 

  • 監視コードを追加。
  • テレメトリ収集を有効化:
    • リクエスト率
    • レスポンスタイム
    • エラー
    • 依存関係
  • Azure MonitorとApplication Insightsにデータを送信。
Azure ソリューションの監視とトラブルシューティング

自動インストルメンテーション

 

  • 主要なAzureサービスに対応:
    • App Service
    • Azure Functions
  • 設定が最小限。
  • コード変更不要。

  Application Insightsをオンにする画面

Azure ソリューションの監視とトラブルシューティング

自動インストルメンテーションの動作

自動インストルメンテーションの動作例

Azure ソリューションの監視とトラブルシューティング

Azureが自動的にインジェクトするもの

レイヤー構成図

 

  • Application InsightsエージェントをランタイムにインジェクトするAzure。
  • エージェントがランタイムレベルのSDKフックを活用。
  • テレメトリが自動的に送信される。
  • SDKの明示的な参照は不要。
Azure ソリューションの監視とトラブルシューティング

サイレント障害

サイレント障害の例

Azure ソリューションの監視とトラブルシューティング

サイレント障害

サイレント障害の例2

サイレント障害の例3

Azure ソリューションの監視とトラブルシューティング

手動インストルメンテーション

 

  • SDKをアプリコードに追加。
  • より詳細な制御が可能。
  • カスタムテレメトリの対象:
    • イベント
    • ビジネスメトリクス
    • 詳細トレース

コードスニペット

Azure ソリューションの監視とトラブルシューティング

キーと接続

  • テレメトリには送信先が必要。
  • 接続文字列で定義される。
  • 自動インストルメンテーションは自動設定。
  • 手動インストルメンテーションは明示的な指定が必要。
  • テレメトリに必須。

接続文字列の例

Azure ソリューションの監視とトラブルシューティング

環境変数

環境変数の設定画面

Azure ソリューションの監視とトラブルシューティング

トラブルシューティング

 

  • Application Insightsが有効化されていることを確認。
  • 正しい接続文字列が使用されていることを確認。
  • サポート対象のランタイムとサービスを確認。
  • SDKの設定が競合していないことを確認。

チェックリスト

Azure ソリューションの監視とトラブルシューティング

まとめ

まとめ

 

  • インストルメンテーションによりアプリが観測可能になる。
  • 自動インストルメンテーションはコード変更不要。
  • プラットフォームレベルで有効化。
  • 環境ベースの設定を使用。
  • 迅速かつ一貫した可視性を提供。
  • より深い監視の基盤を構築。
Azure ソリューションの監視とトラブルシューティング

練習しましょう!

Azure ソリューションの監視とトラブルシューティング

Preparing Video For Download...