Azure API Management における可観測性

適用対象: すべての API Management レベル

監視とは、あるシステムから生成されるデータからそのシステムの内部状態を理解するための機能であり、そのデータをいろいろ調べ、発生した問題とその理由に関する疑問に答える機能です。

Azure API Management を利用すると、組織は全 API の管理を一元化できます。 すべてのAPIトラフィックの単一の入口として機能するため、APIを観察するのに理想的な場所です。

概要

Azure API Management では、マネージド ゲートウェイまたはセルフホステッド ゲートウェイ (いずれも自己デプロイ済み) の使用、または Azure Arc 拡張機能の使用を選択できます。

次の表は、API を操作するために API Management によってサポートされるすべての監視機能と、それらでサポートされているデプロイ モデルをまとめたものです。 API 発行元や、API Management インスタンスを操作または管理するためのアクセス許可を持つ他のユーザーがこれらの機能を使用できます。

Application Insightsは、サポートされたポリシー実行のための外部依存性テレメトリーも提供しています。 詳細については、「Integrated Azure API Management with Application Insights」をご覧ください。

注

開発者ポータルを使用する API コンシューマーは、組み込みの API レポートを使用できます。 これは、直近の 90 日間の個々の API の使用状況に関する情報のみを提供します。 現時点では、組み込みの API レポートは、v2 サービス レベルの開発者ポータルでは使用できません。

ツール 次の場合に便利 データラグ4 保持 サンプリング データの種類 サポートされているデプロイ モデル
リクエストトレース (API Inspector) テストとデバッグ すぐに 最後の 100 トレース 要求ごとにオンにする 要求のトレース マネージド、セルフホステッド、Azure Arc、ワークスペース
ビルトイン分析 レポートと監視 分 有効期間 100% レポートとログ マネージド
Azure Monitor のメトリック レポートと監視 分 90 日 (アップグレードして延長) 100% メトリック マネージド、セルフホステッド2、Azure Arc
Azure Monitor ログ レポート、監視、デバッグ 分 31 日/5 GB (延長アップグレード) 100% (調整可能) ログ マネージド1、セルフホステッド3、Azure Arc3
Azure アプリケーション Insights レポート、監視、デバッグ 秒 90 日/5 GB (延長アップグレード) カスタム ログ、メトリック マネージド1、セルフホステッド1、Azure Arc1、ワークスペース1
Azure Event Hubs 経由のログ記録 カスタム シナリオ 秒 ユーザー管理型 カスタム カスタム マネージド1、セルフホステッド1、Azure Arc1
OpenTelemetry 監視 分 ユーザー管理型 100% メトリック セルフホステッド2

1 Azure API Management の機能の構成に応じて、省略可能です。
2 ゲートウェイの構成に応じて省略可能。
3現在、セルフホステッド ゲートウェイ は診断ログを Azure Monitor に送信しません。 ただし、セルフホステッド ゲートウェイがデプロイされている場所で、ローカルにログを構成して永続化することは可能です。 詳細については、 セルフホステッド ゲートウェイのローカル メトリックとログの構成に関するページを参照してください。
4 要求トレースを除き、API Management のすべてのログは非同期的に実行されます。

ベスト プラクティス

次のプラクティスにより、API の可観測性が向上します。

  • 詳細な監視: メソッドごとの メトリックを有効にして、応答時間とエラー率に関する詳細な分析情報を得ます。
  • 末尾の待機時間の監視: 平均待機時間は誤解を招く可能性があり、末尾の待機時間 (90 パーセンタイル、95 パーセンタイル、99 パーセンタイルなど) に対してメソッドごとのアラートを構成します。 この機能を実装するには、Kusto クエリ言語 (KQL) を使用して、Log Analytics ワークスペースにログを転送します。
  • プロアクティブ アラート: エラー率と低い成功 率 に対してメソッドごとのアラートを確立し、カウントの代わりにレートを使用して精度を確保します。
  • 分散トレース: トレース を有効にして、パフォーマンスのボトルネックを特定し、問題のトラブルシューティングを行います。
  • リソースのタグ付け: 正確なコスト追跡と割り当てのために API にタグ を適用します。