2

Reading MSDN私はAzureの診断を格納するために使用されるアカウントが、このように構成されているという印象だ:Azure Diagnosticsストレージアカウントはどのように設定されていますか?

<ConfigurationSettings> 
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" 
     value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey"/> 
</ConfigurationSettings> 

を(設定名は固定「Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString」の文字列です)。しかし、私はまたuser Søren Randrupによってthis questionからDiagnosticMonitorを(設定するためのコードスニペットを見つけました:

<ConfigurationSettings> 
    <Setting name="DiagnosticsConnectionString" 
     value="DefaultEndpointsProtocol=https;AccountName=AccountName;AccountKey=AccountKey" /> 
</ConfigurationSettings> 
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration(); 
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5); 
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose; 
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm); 

(設定名は、開発者が選択した文字列です)

これは混乱に見える - 私は。

上記の2つのスニペットは、同じタスクで使用されているようですが、その理由は何ですか?

答えて

4

DiagnosticsMonitorが初めてリリースされたとき(1.1または1.2 SDK、IIRC)、RoleEntryPoint(ユーザーコード)から起動されました。これにはいくつかの欠点がありました。つまり、RoleEntryPointがクラッシュした場合、DMがダウンしました。 1.3 SDKがリリースされたとき、それは設計を変更し、バックグラウンドのスタートアップタスクとしてDMを開始しました。これにより、DMはあなたのコードとは別のプロセスで実行することができ、ユーザコードによってクラッシュすることはなくなりました。 "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString"は、診断ロールプラグイン(bin/pluginsディレクトリを参照)で定義されている設定です。

Diagnosticsプラグインをインポートしてこの接続文字列を設定するだけで何らかのデフォルト設定が有効になっている場合は、分析のために実際にストレージアカウントに転送するものはありません。

ので、より完全なソリューションにある:DMプラグインを有効にし、Windows Azureのでストレージアカウントへの有効な接続文字列を設定し

  1. どちらかがリモートで実行時に、あなたが望むように*
  2. を監視する構成を設定する(スクリプト、ManageAxis、WindowsのアズールMMC、Cerebrata、または他の人のようなツールを使用して)または、あなたのRoleEntryPointで、命令的コードを介してモニタを設定します。

これは、カウンタ、ログなどを実際にストレージアカウントに転送します。この時点で、それを解釈するのはあなた次第です。分析(グラフ、オートスケールなど)を行う製品(ManageAxisなど)がありますが、それ以外の方法でDMによって生成されたデータをクエリするのは大部分です。

*私はRoleEntryPointでこれをコーディングするのが好きではないので、私はこのメソッドを好み、私はそれを見たり維持したりできるツールを持っています。

1

これは、Azureが開発したときに発生したものだと私は信じています...初期の診断では、デフォルトで診断が開始されなかったため、古い質問と回答が説明されています。

最新のAPI(1.4)では、最初の方法を使用して、監視するものを指定するためにGetDefaultInitialConfiguration ... SetCurrentConfigurationを使用する必要があります。

0

を働いてしまった時に一緒に、以下のブログ記事を入れて、あなたが「WindowsのをマシューKernersプレゼンテーションをチェックアウトすることができますPDC09

http://www.microsoftpdc.com/2009/SVC15

でAzureの監視、ログ記録、および管理API」
関連する問題