API Management の監視
適用対象: すべての API Management レベル
Azure Monitor は、システムからメトリックとログを収集して集計し、可用性、パフォーマンス、回復性を監視し、システムに影響する問題を通知します。 Azure portal、PowerShell、Azure CLI、REST API、またはクライアント ライブラリは、監視データの設定および表示に使用できます。
リソースの種類に応じてさまざまなメトリックとログが使用できます。 この記事では、このサービスで収集できる監視データの種類と、そのデータを分析する方法について説明します。
Azure Monitor エージェントを使用してデータを収集する
次の表では、サービスを監視するためにデータを収集する方法と、収集されたデータに対して実行できる操作について説明します:
収集するデータ | 説明 | データを収集してルーティングする方法 | データを表示する場所 | サポートされるデータ |
---|---|---|---|---|
メトリック データ | メトリックは、特定の時点におけるシステムの側面を表す数値です。 メトリックにより、アルゴリズムを使用して集計し、その他のメトリックと比較して、時間の経過による傾向を分析できます。 | - 定期的に自動的に収集されます。 - 一部のプラットフォーム メトリックを Log Analytics ワークスペースにルーティングして、他のデータでクエリを実行できます。 各メトリックの DS エクスポート設定を確認して、診断設定を使用してメトリック データをルーティングできるかどうかを確認します。 |
メトリックス エクスプローラー | Azure Monitor でサポートされている Azure API Management メトリック |
リソース ログ データ | ログには、タイムスタンプ付きのシステム イベントが記録されます。 ログには、構造化または自由形式のテキストのさまざまなデータを含めることができます。 データは、クエリと分析のために Log Analytics ワークスペースにルーティングできます。 | 診断設定を作成して、リソース ログ データを収集してルーティングします。 | Log Analytics | Azure Monitor でサポートされている Azure API Management リソース ログ データ |
アクティビティ ログのデータ | Azure Monitor アクティビティ ログは、サブスクリプション レベルのイベントに関する分析情報を提供します。 このアクティビティ ログには、リソースが変更されたときや仮想マシンが起動されたときなどの情報が含まれます。 | - 自動的に収集されます。無料で Log Analytics ワークスペースに - 診断設定を作成します。 |
アクティビティ ログ |
Azure Monitor でサポートされているすべてのデータの一覧については、次を参照してください:
API Management の組み込み監視
Azure API Management には、次の組み込みの監視機能があります。
Azure API Management で API 分析を取得する
Azure API Management では、API の使用状況とパフォーマンスを分析できるように、API の分析が提供されます。 API の高レベルの監視とトラブルシューティングを行うために分析を使用します。 診断と監査のためのほぼリアルタイムのメトリックとリソース ログを含む、その他の監視機能については、チュートリアル: 公開された API の監視に関するページを参照してください。
Note
現在、この機能はワークスペースでは使用できません。
- API Management では、Azure Monitor ベースのダッシュボードを使用した分析が提供されます。 ダッシュボードは、Azure Log Analytics ワークスペース内のデータを集計します。
- 従来の API Management サービス レベルでは、API Management インスタンスには Azure portal の従来の組み込み分析も含まれており、API Management REST API を使用して分析データにアクセスできます。 ほとんど同様のデータが Azure Monitor ベースのダッシュボードと組み込み分析内に表示されます。
重要
Azure Monitor ベースのダッシュボードは、分析データへのアクセスに推奨される方法です。 組み込み (クラシック) 分析は、v2 レベルでは利用できません。
API 分析では、次のような複数のディメンションにわたる、API Management インスタンスでの API の使用状況とパフォーマンスを分析します。
- 時刻
- [地理的な場所]
- API
- API 操作
- 製品
- サブスクリプション
- ユーザー
- Requests
API 分析によって、要求 (失敗した要求や承認されていない要求を含む) に関するデータが提供されます。 地理的な場所の値は、IP アドレス マッピングに基づいています。 分析データの用意が遅延する場合があります。
Azure Monitor ベースのダッシュボード
Azure Monitor ベースのダッシュボードを使用するには、API Management ゲートウェイ ログのデータ ソースとして Log Analytics ワークスペースが必要になります。
構成する必要がある場合は、ゲートウェイ ログを Log Analytics ワークスペースに送信するための次の簡単な手順に従ってください。 詳細については、「チュートリアル: 発行された APIの監視」を参照してください。 この手順は、1 回限りのセットアップです。
- Azure portal で、API Management インスタンスに移動します。
- 左側のメニューの [監視] で、[診断設定]>[+ 診断設定を追加する] を選択します。
- 診断設定にわかりやすい名前を付けます。
- [ログ] で、[ApiManagement Gateway に関連するログ] を選択します。
- [宛先の詳細] で、[Log Analytics への送信] を選択し、同じサブスクリプションまたは別のサブスクリプションにある Log Analytics ワークスペースを選択します。 ワークスペースを作成する必要がある場合は、Log Analytics ワークスペースの作成に関する記事を参照してください。
- ターゲット テーブルで [Resource specific] (リソース固有) が選択されていることを確認します。
- [保存] を選択します。
重要
新しい Log Analytics ワークスペースは、データの受信を開始するのに最大 2 時間かかる場合があります。 既存のワークスペースは、約 15 分以内にデータの受信を開始します。
ダッシュボードにアクセスする
Log Analytics ワークスペースを構成したら、Azure Monitor ベースのダッシュボードにアクセスして、API の使用状況とパフォーマンスを分析します。
- Azure portal で、API Management インスタンスに移動します。
- 左側のメニューで、 [監視] の下から [分析] を選択します。 分析ダッシュボードが開きます。
- データの時間の範囲を選択します。
- [タイムライン] 、 [地理的な場所] など、分析データのレポート カテゴリを選択します。
レガシ組み込み分析
特定の API Management サービス レベルでは、Azure portal 内で ("レガシ分析" または "クラシック分析" とも呼ばれる) 組み込み分析も利用でき、分析データには API Management REST API を使用してアクセスできます。
Azure portal で組み込み (クラシック) 分析にアクセスするには:
- Azure portal で、API Management インスタンスに移動します。
- 左側のメニューで、[監視] の下から [分析 (クラシック)] を選択します。
- データの時間範囲を選択するか、カスタムの時間範囲を入力します。
- [タイムライン] 、 [地理的な場所] など、分析データのレポート カテゴリを選択します。
- 必要に応じて、1 つ以上の追加のカテゴリでレポートをフィルター処理します。
API Management REST API のレポート操作を使用して、API Management インスタンスの分析データを取得し、フィルター処理します。
使用可能な操作は、API、地理的な場所、API 操作、製品、要求、サブスクリプション、時間、またはユーザーごとにレポート レコードを返します。
Azure API Management で開発者ポータルの使用状況のログ記録を有効にする
このセクションでは、API Management 開発者ポータルの使用状況を監査およびトラブルシューティングするために Azure Monitor ログを有効にする方法について説明します。 診断設定を通じて有効にすると、ログは、開発者ポータルによって受信および処理された要求に関する情報を収集します。
開発者ポータルの使用状況ログには、開発者ポータルのアクティビティに関する次のようなデータが含まれます。
- サインインやサインアウトなどのユーザー認証アクション
- API の詳細、API 操作の詳細、および製品のビュー
- 対話型テスト コンソールでの API テスト
開発者ポータル ログの診断設定を有効にする
開発者ポータルの使用状況ログの診断設定を構成するには:
Azure portal で、API Management インスタンスに移動します。
左側のメニューの [監視] で、[診断設定]>[+ 診断設定を追加する] を選択します。
[診断設定] ページで、設定の詳細を次のように入力または選択します。
- [診断設定名]: わかりやすい名前を入力します。
- [カテゴリ グループ]: 必要に応じて、シナリオを選択します。
- [カテゴリ]: [Logs related to Developer Portal usage] (開発者ポータルの使用状況に関連するログ) を選択します。 必要に応じて、他のカテゴリを選択します。
- [宛先の詳細]: 1 つ以上のオプションを選択し、宛先の詳細を指定します。 たとえば、ログをストレージ アカウントにアーカイブしたり、イベント ハブにストリーミングしたりします。 詳しくは、「Azure Monitor の診断設定」をご覧ください。
- [保存] を選択します。
診断ログ データを表示する
選択したログの宛先によっては、データが表示されるまでに数分かかる場合があります。
ストレージ アカウントにログを送信する場合は、Azure portal でデータにアクセスし、分析用にダウンロードできます。
- Azure portal で、ストレージ アカウントの宛先に移動します。
- 左側のメニューで、[ストレージ ブラウザー] を選択します。
- [BLOB コンテナー] で、[insights-logs-developerportalauditlogs] を選択します。
- API Management インスタンス内のログのコンテナーに移動します。 ログは 1 時間間隔でパーティション分割されます。
- 詳細な分析のためにデータを取得するには、[ダウンロード] を選択します。
Azure Monitor ツールを使用してデータを分析する
これらの Azure Monitor ツールは、監視データの分析に役立つ Azure portal で使用できます:
一部の Azure サービスには、Azure portal に監視ダッシュボードが組み込まれています。 これらのダッシュボードは、"分析情報" と呼ばれており、Azure portal の Azure Monitor の [分析情報] セクションにあります。
メトリックス エクスプローラーを使用すると、Azure リソースのメトリックを表示および分析できます。 詳細については、「Azure Monitor メトリック ス エクスプローラーを使用したメトリックの分析」を参照してください。
Log Analytics を使用すると、Kusto 照会言語 (KQL) を使用してログ データの照会と分析を行います。 詳細については、「Azure Monitor でログ クエリの使用を開始する」を参照してください。
Azure portal には、アクティビティ ログの表示と基本的な検索のためのユーザー インターフェイスがあります。 より詳細な分析を行うには、データを Azure Monitor ログにルーティングし、Log Analytics でより複雑なクエリを実行します。
Application Insights は Web アプリケーションの可用性、パフォーマンス、使用状況を監視するため、ユーザーの報告を待たずにエラーを特定して診断できます。
Application Insights にはさまざまな開発ツールへの接続ポイントが含まれており、DevOps プロセスをサポートする Visual Studio とも統合されています。 詳細については、「Azure App Service のアプリケーション監視」を参照してください。
より複雑な視覚化を可能にするツールは次のとおりです。
- ダッシュボードを使用すると、さまざまな種類のデータを組み合わせて、Azure portal 内の 1 つのペインに表示できます。
- ブック。Azure portal で作成できるカスタマイズ可能なレポート。 ブックには、テキスト、メトリック、ログ クエリを含めることができます。
- Grafana。運用ダッシュボードに優れたオープン プラットフォーム ツール。 Grafana を使用して、Azure Monitor 以外の複数のソースからのデータを含むダッシュボードを作成できます。
- Power BI。さまざまなデータ ソースにわたって対話型の視覚化を提供するビジネス分析サービス。 Azure Monitor からログ データを自動的にインポートするように Power BI を構成して、これらの視覚化を利用できます。
Managed Grafana ダッシュボードを使って API Management の監視データを視覚化する
Azure Managed Grafana を使って、Log Analytics ワークスペースに収集された API Management 監視データを視覚化できます。 API Management インスタンスから収集されたログとメトリックをリアルタイムで視覚化するには、事前構築済みの API Management ダッシュボードを使います。
API Management インスタンスで:
API Management のリソース ログとメトリックを視覚化するには、診断設定を構成してリソース ログを収集し、Log Analytics ワークスペースに送信します。
API Management ゲートウェイへの要求に関する詳細データを視覚化するには、API Management インスタンスを Application Insights と統合します。
注意
1 つのダッシュボードでデータを視覚化するには、診断設定の Log Analytics ワークスペースと、API Management インスタンスと同じリソース グループの Application Insights インスタンスを構成します。
Managed Grafana ワークスペースで:
- Managed Grafana インスタンスとワークスペースを作成するには、portal または Azure CLI のクイックスタートを参照してください。
- Managed Grafana インスタンスは、API Management インスタンスと同じサブスクリプションにある必要があります。
- 作成されると、Grafana ワークスペースには、Microsoft Entra のマネージド ID が自動的に割り当てられ、サブスクリプションに監視閲覧者ロールが割り当てられます。 このアプローチにより、手動でアクセス許可を設定しなくても、新しい Grafana ワークスペースから Azure Monitor にすぐにアクセスできます。 Managed Grafana のデータ ソースの構成の詳細について参照してください。
まず、API Management ダッシュボードを Managed Grafana ワークスペースにインポートします。
ダッシュボードをインポートするには:
- Azure Managed Grafana ワークスペースに移動します。 ポータルの Managed Grafana インスタンスの [概要] ページで、[エンドポイント] リンクを選びます。
- Managed Grafana ワークスペースで、[ダッシュボード]>[参照]>[インポート] に移動します。
- [インポート] ページで [grafana.com を介したインポート] の下で「16604」と入力し、[読み込み] を選びます。
- [Azure Monitor データソース] を選び、他のオプションを確認または更新して、[インポート] を選びます。
API Management ダッシュボードを使うには:
- Management Grafana ワークスペースで、[ダッシュボード]>[参照] に移動し、API Management ダッシュボードを選びます。
- 上部のドロップダウンで、API Management インスタンスを選びます。 該当する場合は、Application Insights インスタンスと Log Analytics ワークスペースを選びます。
ダッシュボードの既定の視覚化を確認すると、次のスクリーンショットのように表示されます。
Azure Monitor データのエクスポート
次を使用して、Azure Monitor から他のツールにデータをエクスポートできます:
メトリック: メトリック用 REST API を使用して、Azure Monitor メトリック データベースからメトリック データを抽出します。 詳細については、Azure Monitor REST API のリファレンスをご覧ください。
ログ: REST API または関連するクライアント ライブラリを使用します。
Azure Monitor REST API の使用を開始するには、「Azure 監視 REST API のチュートリアル」を参照してください。
Kusto クエリを使用してログ データを分析する
Kusto 照会言語 (KQL) を使用して、Azure Monitor ログ データを分析できます。 詳細については、「Azure Monitor でのログ クエリ」を参照してください。
Azure Monitor アラートを使用して問題を通知する
Azure Monitor アラート、システム内の問題を特定して対処し、監視データに特定の条件が見つかった場合は、顧客が気付く前に事前に通知することができます。 Azure Monitor データ プラットフォームでは、任意のメトリックまたはログ データ ソースに対してアラートを生成できます。 監視対象のサービスと収集する監視データによって、さまざまな種類の Azure Monitor アラートがあります。 「適切な種類のアラート ルールを選ぶ」を参照してください。
Azure API Management でアラート ルールを設定する方法については、「アラート ルールを設定する」を参照してください。
Azure リソースに関する一般的なアラートの例については、ログ アラート クエリのサンプルに関するページをご覧ください。
大規模なアラートの実装
一部のサービスでは、同じ Azure リージョン内に存在する同じ種類の複数のリソースに同じメトリック警告ルールを適用することで、大規模に監視することができます。 Azure Monitor ベースライン アラート (AMBA) サイトには、重要なプラットフォーム メトリックのアラート、ダッシュボード、ガイドラインを大規模に実装するための半自動化された方法が用意されています。
Azure Advisor を使用してパーソナライズされたおすすめ候補を取得する
一部のサービスでは、リソースの操作中にクリティカルな条件や差し迫った変更が発生した場合は、ポータルのサービス [概要] ページにアラートが表示されます。 アラートの詳細と推奨される修正は、左側のメニューの [監視] の下の [アドバイザーのレコメンデーション] に表示されます。 通常の操作中、アドバイザーのレコメンデーションは表示されません。
Azure Advisor の詳細については、Azure Advisor の概要に関するページをご覧ください。