Azure DIagnostics,WADLogs,在Azure管理门户中查看

时间:2015-04-30 17:26:44

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

这可能是一个非常愚蠢的问题,我是Azure新手。

我正在使用Azure SDK 2.5

我在Azure和I&m; m上部署了一个辅助角色,使用诊断程序跟踪执行情况。

Trace.TraceInformation("Service WorkerRole has stopped");

有没有办法查看可以从Azure管理门户在服务器资源管理器中查看的WadLogs文件?或者将数据传输到blob存储或其他地方的方法,以便可以在线查看?

基本上,我希望能够轻松地查看我的工作者角色何时从Azure管理门户中抛出异常。

2 个答案:

答案 0 :(得分:2)

您可以使用应用程序洞察来监视Azure门户中的辅助角色。从技术上讲,微软仍在增加对控制台和其他非网络应用程序的支持,但我能够为我的目的制作已经存在的工作。

我根据these instructions在门户网站上创建了应用洞察。

然后在Visual Studio中使用Nuget包管理器,我添加了Application insights API,网站的应用程序洞察(即使我的工作者角色不是Web应用程序)和Application insights跟踪侦听器。

然后,我通过将以下内容添加到辅助角色来创建应用程序洞察实例。

using Microsoft.ApplicationInsights;

namespace WorkerRole
{
public class WorkerRole : RoleEntryPoint
{
    private TelemetryClient tc = new TelemetryClient();

然后将其添加到worker角色的onStart方法中。

        tc.Context.InstrumentationKey = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX";

您可以在Azure门户中找到检测密钥。

在运行或部署我的辅助角色后,我可以在Azure门户中查看我的所有Trace.TraceInformation和TraceError语句,并添加tc.TrackError和tc.TrackEvent语句来跟踪错误,异常和事件。

答案 1 :(得分:0)

您需要使用您的辅助角色设置存储帐户,以将日志存储在表存储中。在配置文件中添加以下代码 <ConfigurationSettings> <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="value="DefaultEndpointsProtocol=https;AccountName=<your storage account name here>;AccountKey=<your storage account key here>" /> </ConfigurationSettings>

您的诊断相关数据将存储在azure表中,Trace日志存储在表名 WadLogsTable 中。您需要使用storage explorer来查看表中的日志。我更喜欢使用Azure Storage Explorer,因为它是开源的,并支持Blob,表和队列。