従量課金プランで 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 を示しています。