5

従量課金プランで Azure 関数アプリを実行しており、現在実行中のインスタンスの量を監視したいと考えています。形式の REST API エンドポイントの使用

https://management.azure.com/subscriptions/{subscr}/resourceGroups/{rg}
       /providers/Microsoft.Web/sites/{appname}/instances?api-version=2015-08-01

インスタンスを取得できます。ただし、結果は、Application Insights / Live Metrics Stream に表示される情報と一致しません。

たとえば、現在、App Insights はオンラインの 4 つのサーバーを示していますが、API 呼び出しは 1 つだけを返します (この 1 つのインスタンスの GUID も App Insights GUID の中にあります)。

誰を信頼できますか? インスタンス数を取得するより良い方法はありますか (App Insights などから)?

更新: REST API からのデータが間違っているようです。

私は 10000 件のメッセージをキューに送信し、各関数呼び出しを、リクエストを処理したそれぞれのインスタンス ID でログに記録していました。

メッセージが受信され続け、バックログが大きくなる一方で、REST API からのインスタンス数は正しいようです (1 から 12 にスケーリングされます)。送信が停止した後、報告されたインスタンス数は急速に減少します (プロセッサがまだビジーである間、最終的には 1 に戻ります)。

しかし、速度と実行ログに基づいて、実際のインスタンス数は増加し続け、最後のメッセージ処理の時点で 15 インスタンスに達したことがわかります。

更新 2: SDK が 20 を超えるサーバーの報告を拒否しているようです。メトリクスは 20 で横ばいですが、App Insights は着実な成長を維持しており、すでに 41 を示しています。

4

1 に答える 1