2013-11-27 78 views
0

嘗試使NewRelic與WorkerRole服務一起工作。我已經正確遵循了所有的指令和遇到這種在代理NewRelic的日誌:NewRelic Monitoring Agent在Azure Worker角色上失敗

[Info ]Logger initialized. 
[Info ]<-- New logging level set. 
[Info ]Enabling instrumentation for this process (E:\base\x64\WaWorkerHost.exe) due to it being in a predefined set of processes to be instrumented. 
[Info ]Instrumenting method: (Module: D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll, AppDomain: RdRuntime)[System]System.Net.HttpWebRequest.SerializeHeaders 
[Error]Unhandled token encountered while parsing the type. Token: 0x20 
[Error]An exception was thrown while possibly instrumenting function: (Module: D:\Windows\Microsoft.Net\assembly\GAC_64\msshrtmi\v4.0_2.1.0.0__31bf3856ad364e35\msshrtmi.dll, AppDomain: RdRuntime)[msshrtmi]Microsoft.WindowsAzure.ServiceRuntime.Internal.InteropLocalResource.GetMaximumSizeInMegaBytes 
[Info ]Instrumenting method: (Module: D:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll, AppDomain: RdRuntime)[System]System.Net.HttpWebRequest.GetResponse 

沒有人有任何想法,爲什麼發生這種情況?我的應用程序不是報告,我認爲這是因爲NewRelic顯示器的這些未處理的異常。

謝謝!

回答

1

沒有自定義檢測,Worker Roles只報告數據庫調用和外部調用。 (檢測工作者角色類似於instrumenting a custom application。)要查看其他詳細信息,您需要使用.NET API收集自定義指標並在custom dashboard中查看它們。

爲了讓.NET代理啓動並附加到應用程序,必須至少收集一個指標。如果您有外部電話或數據庫調用,那麼您的應用程序會將數據報告給您的應用程序概覽儀表板。此外,有關外部通話的信息​​將顯示在您應用的地圖儀表板上。

如果您在New Relic儀表板中未看到該應用程序,則可以嘗試重新啓動該角色。如果這不起作用,請遠程訪問實例並驗證D:\ Program Files中是否存在New Relic文件夾。如果你沒有找到此文件夾,驗證下面的出現在你的Worker角色項目的ServiceDefinition.csdef中的文件:

<Task commandLine="newrelic.cmd" executionContext="elevated" taskType="simple">

+0

正如我在原來的文章中提到,我的配置是正確的,我知道的代理人的限制。問題是,代理徹底崩潰了我的一個工人角色,但不是另一個,儘管具有相同的配置。 – Haney

+0

在這種情況下,您是否可以請[email protected]提交支持憑單? –

+0

我讓你更好,並記錄NewRelic的github的問題:https://github.com/newrelic/nuget-azure-cloud-services/issues/18 – Haney