2016-11-07 75 views
0

我有本地IIS服務器上運行的MVC應用程序。我在Azure上有一個現有的App Insights資源,我想從我的應用程序遙測來顯示。但是,跟蹤消息未顯示在Azure門戶上。我已經將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可能是無效的。

但是:跳到我身上的一件事是您在代碼中使用術語apiKeyappId

這2個東西都在應用程序的見解特定的含義,但這是讀取數據從AI API服務(和apiKey在這方面是你可以考慮一個祕密,因爲如果有人有那些他們能鍵閱讀你所有的數據!)我不確定你是否在不同的環境下使用它們,但是馬上就跳出來了。

有一個不同的事情,「儀器儀表重點」或iKey您用來發送數據應用的見解。你是否可以切換這些東西並嘗試使用AI appId和apiKey代替iKey?

一種檢查方法是在本地使用fiddler或其他工具來監視出站http流量。將其配置爲解密https,並監視dc.services.visualstudio.com的出站呼叫,這是您的遙測目標。如果您有外撥電話,那麼它至少會嘗試發送您的遙測。如果這些呼叫失敗,則迴應可能會告訴您,您使用的iKey無效,如果是這種情況。

您不需要