NewRelic Monitoring Agent在Azure辅助角色上失败

时间:2013-11-27 16:37:01

标签: .net azure azure-worker-roles newrelic

尝试使NewRelic与WorkerRole服务一起使用。我已正确遵循所有说明并在NewRelic代理日志中遇到此问题:

[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 个答案:

答案 0 :(得分:1)

如果没有自定义检测,“工作者角色”仅报告数据库调用和外部调用。 (检测员工角色与instrumenting a custom application类似。)要查看其他详细信息,您需要使用.NET API收集自定义指标,并在custom dashboard中查看。

为了使.NET代理能够启动并附加到应用程序,必须至少收集一个度量标准。如果您有我们检测的外部呼叫或数据库呼叫,那么您的应用程序将向您的应用程序概述仪表板报告数据。此外,有关外部呼叫的信息将显示在您应用的地图信息板上。

如果您在New Relic信息中心中没有看到该应用,则可以尝试重新启动该角色。如果这不起作用,远程进入实例并验证D:\ Program Files中是否有New Relic文件夹。如果找不到此文件夹,请验证Worker Role项目的ServiceDefinition.csdef文件中是否显示以下内容:

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