実稼働中のいくつかのプロジェクトで一連の問題 (応答時間が長い) が発生しており、サーバーで何が起こっているかを正確に確認したいと考えていました。次に、この記事に従って、すべてのプロジェクトに Application Insights を追加しました。問題は、両方の WebAPI プロジェクトがサーバー データを Azure portal に送信していないのに対し、他のすべてのプロジェクト (MVC 5) は送信していることです。
Azure で対応する Application Insights ブレードにアクセスすると、次のように表示されます。
Azure VM の Application Insights ステータス モニターでデータ収集を無効にして再度有効にしようとしましたが、API への要求中に IIS を数回再起動しましたが、役に立ちませんでした。MVC プロジェクトでこれを有効にすると、サイトでページを開いたときに Azure portal でほぼ瞬時にデータを確認できます。
これらの特定のプロジェクトのデータが Azure VM から送信されていないことを確認したとき、独自のインフラストラクチャでホストされている開発環境で同じコレクションをセットアップしようとしましたが、まったく同じ状況が繰り返され、可能性が排除されました。これは、Azure VM でホストされているプロジェクトに関連しています。
これらのプロジェクトが Azure にデータを送信するのを妨げている原因は正確にはわかりませんが、動作中のプロジェクトと動作していないプロジェクトを比較すると、WebAPI プロジェクトが新しい OWIN を使用しているという事実に関係している可能性があると思います。 MVC のものは標準の MVC プロジェクトですが、パイプラインです。両方のプロジェクト タイプの web.config ファイルと bin フォルダーの両方を確認したところ、Insights Monitor によって正しく変更されているようです (同じ新しい dll が bin フォルダーに追加され、同じ http モジュールが Web に追加されていることがわかります。構成)。
それを念頭に置いて、OWIN/Katana パイプラインに依存する WebAPI プロジェクトで Application Insights を使用してサーバー側のテレメトリを有効にするにはどうすればよいでしょうか? この場合、プロジェクトが Azure にデータを送信しない正確な原因を突き止めるにはどうすればよいでしょうか?