Application Insights の概要

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

可観測性の重要性

可観測性のアナロジー

Azure API Management

テレメトリの種類

  • ロギング
  • トレーシング
  • メトリクス

Azure API Management

ロギングの概要

  • ロギングは各イベントを人間が読める形式で記録
  • ログエントリには重大度レベルがある(正常、警告、エラー)
    • 会議中にメモを取る秘書のようなもの
  • アプリケーション内で発生したすべての事象を記録

ロギング

Azure API Management

トレーシングの概要

トレース

  • 複数の関連ログエントリでトレースを構成
  • 各リクエストを追跡ラベル付きの荷物として捉える
  • APIM はリクエストヘッダーに一意の相関 ID を付与
  • Application Insights SDK を持つバックエンドが ID を自動検出
  • これによりリクエストの全経路をつなぎ合わせることができる
Azure API Management

メトリクスの重要性

  • メトリクスはシンプルな測定値(カウンター、平均値、所要時間)
    • 車のスピードメーターのように現在の速度を示す
  • メトリクスの例:
    • エラー数
    • 平均リクエスト遅延
    • アクティブユーザー数
  • 常に時系列として記録され、いつ何が起きたかを示す

メトリクス

Azure API Management

Application Insights ダッシュボード

ダッシュボード

  • SLA = 速度制限
    • しきい値を超えるとアラートが発生
  • ダッシュボード = モニター画面

    • 一目で確認:速度は問題ないか?障害はないか?
    • Azure Monitor ワークブック/ダッシュボードでリクエスト数・エラー率・遅延のグラフをピン留め
  • アラート = セーフティネット

    • グラフまたはログに基づくアラートルールを作成
    • アクショングループ(メール、Teams、PagerDuty)に連携
Azure API Management

Kusto クエリ言語

  • 異常を感じたら、KQL が探偵の役割を果たす
  • ログを開いてアプリケーションテレメトリをクエリ
    • フライトデータレコーダーをめくるような操作
  • 保存済みクエリでアラート発生 -> 根本原因を数分で特定
  • ゲージが正常値に戻るのを確認して修正を検証

KQL の例

Azure API Management

練習してみましょう!

Azure API Management

Preparing Video For Download...