0

ローカル IIS サーバーで MVC アプリを実行しています。Azure に既存の App Insights リソースがあり、そこに自分のアプリからのテレメトリを表示させたいと考えています。ただし、トレース メッセージは Azure Portal に表示されません。プロジェクトに ApplicationInsights を追加し、テレメトリが表示されるリソースを ApplicationInsights.config で指定し、コードで実際のテレメトリ情報とエラー メッセージを送信するために使用する TelemetryWrapper を作成しました。

ラッパーを使用して Telemetry サービスを初期化します。

  TelemetryWrapper.InitializeTelemetry("InstrumentationKey", "ApplicationName");

そして、ラッパーからもメッセージを送信します

  TelemetryWrapper.TelemetryInfo(requestId, action, userId, ultimateId, systemId, payload);

TelemetryWrapper の概要:

  public static void InitializeTelemetry(string apiKey, string appId)
    {
       bool postBackground = true;
        _telemetry = new TelemetryHelper(apiKey, appId, false) { PostBackground = postBackground };
    }

  public static void TelemetryInfo(Guid requestId, string action, Guid userId, string ultimateId, string systemId,
        string payload)
    {
      var telem = CreateInstance(requestId, action, ultimateId, userId, systemId, payload);
      _telemetry.Info(telem);
    }

私は間違っている可能性がありますか?

4

1 に答える 1

1

詳細情報が必要です。あなたが示したのはあなたのコードだけです。ここで見る AppInsights コードはありません。そのため、TelemetryHelperクラスが ikey を正しく設定していない可能性があり、ikey が無効である可能性があります。

ただし、私に飛びつくのは、用語apiKeyappIdコードの使用法です。

これら 2 つのことは、アプリケーションの洞察において特定の意味を持ちますが、それはAI API サービスから データを読み取るためのものです (そして、そのコンテキストでの apiKey は、誰かがこれらのキーを持っているかのように、すべてのデータを読み取ることができる秘密と見なすことができるものです!) ここで別のコンテキストでそれらを使用しているかどうかはわかりませんが、すぐに思いつきました.

「インストルメンテーション キー」またはアプリケーション インサイトにデータを送信するために使用するのものがあります。これらを切り替えて、iKey の代わりに AI の appId と apiKey を使用しようとしている可能性はありますか?iKey

チェックする 1 つの方法は、フィドラーまたはその他のツールをローカルで使用して、発信 http トラフィックを監視することです。https を復号化するように構成し、テレメトリの送信先である dc.services.visualstudio.com への発信呼び出しを監視します。アウトバウンド コールがある場合は、少なくともテレメトリを送信しようとしています。これらの呼び出しが失敗した場合、使用している iKey が無効であるという応答返されることがあります。

いらないよ

于 2016-11-09T22:32:57.510 に答える