2016-11-07 15 views
0

로컬 IIS 서버에서 실행중인 MVC 앱이 있습니다. 필자는 Azure에 기존 App Insights 리소스가있어 내 앱에서 Telemetry를 표시하고자합니다. 그러나 Azure Portal에 추적 메시지가 표시되지 않습니다. 내 프로젝트에 ApplicationInsights를 추가했고, Telemetry가 ApplicationInsights.config에 표시되어야하는 리소스를 지정했으며, 실제 텔레 메 트리 정보 및 오류 메시지를 보내기 위해 내 코드에서 사용하는 TelemetryWrapper를 작성했습니다.Azure 포털에 추적 원격 측정 기능이 표시되지 않습니다.

나는 래퍼를 통해 텔레 메 트리 서비스를 초기화 : 래퍼에서 메시지를

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); 
    } 

무엇 오전 아마도 내가 잘못했을거야?

답변

0

자세한 정보가 필요합니다. 표시 한 내용은 모두 코드이므로 AppInsights 코드는 볼 수 없습니다. 따라서 귀하의 TelemetryHelper 클래스가 ikey를 올바르게 설정하지 않아서 ikey가 유효하지 않을 수 있습니다.

그러나 : 나를 밖으로 점프 한 가지 조건 apiKey 및 코드에서 appId의 사용량이다.

그 두 가지 응용 프로그램 통찰력에 특별한 의미를 가지고 있지만, 그 데이터를 읽는 그 맥락에서 AI API 서비스 에서 (및 apiKey에 대한 인 사람이 그들이 할 수있는 그 열쇠를 가지고있는 것처럼 당신이 비밀을 고려할 수 뭔가 귀하의 모든 데이터를 읽으십시오!) 여기 다른 컨텍스트에서 사용하고 있는지 확실하지 않지만 즉시 나에게 뛰어 들었습니다.

당신이 응용 프로그램의 통찰력에 데이터를 전송 하는 데 사용하는 다른 것 "계측 키"또는 iKey가있다. 아마도 이러한 것들을 전환하고 iKey 대신에 AI appId와 apiKey를 사용하려고합니까?

아웃 바운드 http 트래픽을보기 위해 로컬로 피 들러 또는 다른 도구를 사용하는 것이 좋습니다. https의 암호를 해독하도록 구성하고 원격 측정이 이루어지는 dc.services.visualstudio.com에 대한 아웃 바운드 호출을 감시합니다. 당신이 외침 전화가있는 경우에, 적어도 당신의 telemetry를 보내려고 노력하고있다. 통화가 실패한 경우 응답 일 수 있습니다. 사용중인 iKey가 유효하지 않다고 알려줍니다.

너는 필요 없어.