Azure App Services .NET のトレース

Windows および Linux の両プラットフォームで実行される.NET 言語で記述された Azure App Services に対して、各プラットフォームのワークロードを設定することで、トレース機能を有効にできます。

注:Instana では、 Instana と Azure App Insightsを併用するシナリオはサポートされていません。

対応するプラットフォーム

Instana 以下のプラットフォームにおいて、.NET および Azure App Services の監視をサポートしています:

- Windows 
- Linux

トレースの使用可能化

.Netアプリケーションをインスツルメンテーションすることで、トレースを有効にすることができます。 インストルメンテーションを有効にするには、 Windows または Linux プラットフォームでワークロードを設定してください。

.NET Framework、.NET Core、および .NET のトレース用に、 Windows ワークロードを設定する

App Servicesの.Net Framework、.Net Core、および Windows 上の.Netの各エディションでインストルメンテーションを有効にするには、App Servicesの監視を行う環境内で Instana エージェントが実行されている必要があります。

Azure の監視用に Instana エージェントを設定する方法の詳細については、 『 Microsoft Azure の監視と計測』を参照してください。

Windows のワークロードを設定するには、以下の手順を実行してください:

  1. Microsoft Azureポータルで、インストルメント化したい.NetApp Serviceを検索します。

  2. AzurePortal で .NetApp Serviceを開きます。

  3. ナビゲーションメニューから「拡張機能」をクリックします。 拡張機能ページでは、新しい拡張機能の追加、インストールされている拡張機能の確認、拡張機能の更新や削除ができます。

    図 1. 特定の App Service に対する Azure ポータルの「拡張機能」メニュー
    拡張メニュー
  4. Instana 」の「Tracing App Service 」拡張機能をインストールしてください。 インストール後、使用する前に拡張機能を設定する必要があります。

  5. Go 「拡張機能」ページへ。

  6. インストール済み拡張機能の一覧で、「 Instana Tracing App Service 」拡張機能の「 URL 」アイコンをクリックしてください。 「 Instana の AppServices 用トレース」ウィンドウが表示され、ここで Instana 拡張機能を設定できます。

    図 2. Instana のセットアップ App Service の計測
    計装構成
  7. 以下の設定を完了する:

    1. 「 Instana 」のトレース機能を有効にするには、 「トレースを有効にする」 を「 オン」 に設定してください。

    2. App Servicesアプリケーションに32ビットを選択するには、[64ビットを有効にする]を[オフ]に設定します。 App Servicesアプリケーションに64ビットを選択するには、[Enable 64 bit][On]に設定します。 詳細は、アプリケーションのBitnessを参照。

    3. エージェントキー 」フィールドに、 Instana ホストエージェントのライセンスキーを入力してください。

    4. 「エンドポイント」 の「 URL 」フィールドに、 サーバーレス監視用のエンドポイント URL を入力します。

      注: セルフホスト型の場合は、エンドポイントを 形式 https://<IP address of the Instana backend>/serverless で入力し、 パラメータ INSTANA_DISABLE_CA_CHECK を または true に設定してください 1
    5. Log-Levelフィールドに、使用するログレベルを入力する。 入力できる値は、「NONE、「DEBUG、「INFO、「WARN、「ERRORです。

      ログ情報は、App Serviceアプリケーションのルートフォルダに生成されます。

  8. すべての情報を入力したら、Update Configをクリックします。 情報は、App Serviceのコンテキスト内に保存されます。

  9. App Serviceの Dashboardから、App Serviceを再起動します。 アプリケーションを実行すると、 Instana リライターがアプリケーションに接続され、 Instana がトレースの収集を開始します。

Instana のUIでトレースを表示するには、以下の手順を実行してください:

  1. Instana のUIで、 App Service エンティティのダッシュボードを開きます。

  2. 上流/下流をクリックします。 このエンティティに対して収集されたトレースが表示される。

    図 3. App Service から収集されたトレースの例
    トレース

.NET Core および.NET 向けの Linux ワークロードの設定

Linux ベースの App Services 上で実行される.NET Core および.NET アプリケーションのインスツルメンテーションを有効にするには、 App Service を監視する対象の環境内で、 Instana エージェントが実行されている必要があります。 「 Azure 」を監視するために Instana エージェントを設定する方法の詳細については、 『 Microsoft Azure の監視と計測』 を参照してください。

注:Linux では、自動インスツルメンテーション機能は利用できません。

トレースをキャプチャするには、以下の手順を実行します:

  1. プロジェクトに NuGet パッケージを追加してください: Instana.Tracing.Core.Rewriter.Linux

  2. TracingNuGetパッケージを追加したら、アプリケーションをAzure App Service に再デプロイします。

  3. アプリケーションの再デプロイ後、 Instana のトレース機能がアプリケーションの一部となります。 トレースを有効にするには、CLRエンジンを次のように設定する:

    1. Go Azure のダッシュボードにある「設定」セクションへ移動します。 App Service

    2. 以下の環境変数を追加します。

      CORECLR_ENABLE_PROFILING = 1
      CORECLR_PROFILER = {cf0d821e-299b-5307-a3d8-b283c03916dd}
      CORECLR_PROFILER_PATH = /home/site/wwwroot/instana_tracing/CoreProfiler.so
      DOTNET_STARTUP_HOOKS = /home/site/wwwroot/Instana.Tracing.Core.dll
      INSTANA_AGENT_KEY = the license key of your Instana host agent
      INSTANA_ENDPOINT_URL = one of the following [endpoint URL for serverless monitoring](../../../setup_and_manage/endpoints_and_keys.html#endpoints-for-serverless-monitoring)
      
  4. アプリケーションを再始動します。 変更が有効であることを確認するには、以下の手順に従ってください:

    1. アプリケーションを停止します。
    2. キャッシュされた状態をクリアするために1~2分待つ。
    3. アプリケーションを再度起動する。

    Instana のUIでトレースを表示できるようになりました。

トラブルシューティング

次のセクションでは、一般的な問題を解決するためのトラブルシューティング手順の概要を説明します。

アプリケーションのビット数

Azure にインストールされた拡張機能を使用して Instana の計測設定を行うと、 「64ビットを有効にする」 チェックボックスが表示されます。 アプリケーションのビット・バージョンに応じて、適切なリライターを添付する必要があります。

デフォルトでは、Visual StudioからAzure App Serviceにアプリケーションをデプロイすると、アプリケーションは32ビットモードでインストールされます。 ビット版の設定は、App Serviceのコンフィギュレーションで、コンフィギュレーション一般設定から変更できる:

図 4. App Service プラットフォームの設定
App Serviceの設定

64ビットモードを使用している場合は、「 Instana 」の「Tracing」セクションにある「 App Service 」拡張機能の設定で、「64 Bit」 を選択してください。 そうでなければ、トレースをアタッチして収集することはできない。

トレースが機能しません

トレースがうまくいかない場合は、以下の手順を実行してください:

  1. App Service の設定と、 Instana のTracing App Service 拡張機能の設定の両方で、ビットバージョンが正しく設定されていることを確認してください。

  2. 「 Instana 」の「App Services のトレース」 ページで、エージェントキーとエンドポイント URL が正しく設定されていることを確認してください。 詳細については、 「サーバーレス監視のためのエンドポイント URL 」 を参照してください。

  3. Diagnose and solve problems(診断と問題解決) >Application Event Logs(アプリケーション・イベント・ログ)の順にクリックして、イベント・ログにエラーがないか確認します。

    図 5. EventView 潜在的な問題を示すログ
    イベント・ログ
  4. ナビゲーションメニューからAdvanced Toolsをクリックし、Kudu Process Explorerを開く。 w3wpプロセスがInstana.Profiler_x64.dllモジュールにアタッチされているか確認してください。

    図 6. クドゥ Go
    オープン・クドゥ
    図 7. Kudu Process Explorer
    プロセスエクスプローラ
  5. Kuduツールから Instana のデバッグログを取得します。 Kuduツールで「Debug Console」を開き、「C:\home\site\wwwroot>フォルダに移動する。 フォルダには2種類のログファイルがあります:

  • CLRデバッグログ: 1.log_YYYY-MM-DD-HH_MM_SS
  • 計装ログ: YYYY-MM-DD_HH_MM_SSPID