首页 文章

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

提问于
浏览
2

我有一个在azure中运行的Worker Role .

我正在使用标准的跟踪诊断,我可以使用Visual Studio中的服务器资源管理器查看 .

然而,它很难通过,非常慢,等等 .

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

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

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

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

有什么建议?

4 回答

  • 1

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

    除了依靠Cerebrata

    您可以使用作为Visual Studio Online一部分的默认Azure应用程序洞察(即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,承诺"monitor live feed data and historical data of Web/Worker Role Instances"(但我还没有测试过) .

    Vincent Thavonekham

  • 0

    您可以使用Azure Application Insights来监控Web角色和辅助角色的性能 . 它比NewRelic成本更低,但具有更多功能 .

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

  • 1

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

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

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

    Introducing NLog.AzureStorage

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

    在web.config或app.config文件中,只需定义扩展,然后使用AzureBlobStorageLogger类型定义新目标 - 您需要指定Azure Storage Connection String ,以及合适的 ContainerBlob 名称:

    <?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 - > Blob然后单击下载,轻松地通过Azure门户下载日志文件:

    enter image description here

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

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

  • 2

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

相关问题