监控Azure Worker角色诊断的最佳方法?

时间:2013-05-29 00:01:07

标签: azure monitoring azure-worker-roles azure-diagnostics

我已经在azure中运行了一个Worker Role。

我正在使用标准的Trace诊断,我可以在Visual Studio中使用Server Explorer查看。

但是,这很难趟过,非常慢等等。

有人可以建议一个允许我查看这些诊断的插件,工具和软件吗?

具体来说,我想轻松查看所有错误,信息消息。

我知道我可以编写一个挂在WADLogs表中的简单应用程序,但如果有更好的工具,我不想重新发明轮子。

我正在使用NewRelic来监控我的网站,但它似乎不支持Azure Worker角色(仅限Azure Web角色)。

有什么建议吗?

4 个答案:

答案 0 :(得分:2)

截至今天(我知道这是一个老问题),

除了依赖Cerebrata

您可以使用属于Visual Studio Online的默认Azure Application Insights(即TFS即服务):http://blogs.msdn.com/b/visualstudioalm/archive/2013/11/13/announcing-application-insights-preview.aspx

或者在某种程度上扩展Azure门户中的默认监控工具(“管理服务>警报和操作日志)”

此外,我找到了这个免费工具http://www.manageengine.com/free-azure-performance-monitor/features.html,承诺“监控实时订阅源数据和Web /工作者角色实例的历史数据”(但我还没有测试过)。

Vincent Thavonekham

答案 1 :(得分:1)

您可以使用Azure Application Insights来监控Web角色和辅助角色的性能。它比NewRelic便宜,但功能更多。

https://azure.microsoft.com/en-us/services/application-insights/

答案 2 :(得分:1)

所以我完全同样的问题。从Azure Worker角色中获取诊断日志简直就是一种痛苦。

我几个月前尝试使用NLog解决问题,然后使用WAD将日志文件复制到Azure存储,但这种方法非常脆弱,在大多数情况下根本不起作用 - 只需要一个看看blog post I wrote on the steps required

大约一个月前,我决定解决这个问题。

介绍NLog.AzureStorage

结果是NuGet NLog.AzureStorage Package,它定义了一个自定义NLog目标,可​​用于本地写入Azure存储附加Blob,就好像它们是本地文件系统上的文件一样。

在您的web.config或app.config文件中,只需定义扩展名,然后使用 AzureBlobStorageLogger 类型定义新目标 - 您需要指定Azure 存储连接字符串< / strong>,以及合适的容器 Blob 名称:

<?xml version="1.0" encoding="utf-8" ?>
<nlog   xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        autoReload="true"
        throwExceptions="false">

  <extensions>
    <add assembly="NLog.AzureStorage" />
  </extensions>

  <targets>
    <target xsi:type="AzureBlobStorageLogger"
        name="BlobStorageLogger"
        storageConnectionString="[AZURE STORAGE CONNECTION STRING]" 
        storageContainerName="nlog-storage-test" 
        storageBlobName="nlog-storage-test.txt" 
      />
  </targets>

  <rules>
    <logger name="*" minlevel="Trace" writeTo="BlobStorageLogger" />
  </rules>
</nlog>

该软件包目前位于NuGet version (NLog.AzureStorage),但是我正在使用高容量客户端进行生产,所以它的战斗测试速度很快。

配置完成后,您可以通过导航到Container - &gt;轻松地通过Azure门户下载日志文件。 Blob然后点击下载:

enter image description here

我计划在某些时候将Azure表存储添加为目标,但我个人不喜欢查看数据库中的日志,因此此要求位于优先级列表的某个位置!

我非常乐意在https://github.com/nickheppleston/NLog.AzureStorage通过GitHub接受Pull请求或问题。

答案 3 :(得分:0)

我建议您查看Cerebrata工具 - 他们的Azure Management Studio产品可让您查看/管理诊断数据,以及通过桌面管理存储,云服务和虚拟机。如果您正在寻找仅用于查看和管理诊断的工具,请查看他们的Azure Diagnostics Manager工具。他们不是免费的!