2016-08-25 20 views
1

私はすでにAzure診断機能を備えたサービスファブリッククラスタを作成しました。現在、サービスをそのクラスタに展開して機能しています。私は、私のサービスにETW EventSourceを持っています。私のサービスコードは、このイベントソースを使用してサービス関連のイベントを書き込んでいるので、イベントの収集を開始したいと思います。クラスタは既に浄化のために有効になっており、サービスは既にそのクラスタに展開されているため、ETWプロバイダをこのサービスファブリッククラスタのイベントソースで更新するのは簡単なことです。ここでは、エクスポートテンプレートは、(部分的にしかはそれが紺碧の診断に関連して示されている)されていますpowershellを使用してETWプロバイダーを既存のサービスファブリッククラスターに追加する方法はありますか?

{ 
"properties": { 
    "publisher": "Microsoft.Azure.Diagnostics", 
    "type": "IaaSDiagnostics", 
    "typeHandlerVersion": "1.5", 
    "autoUpgradeMinorVersion": true, 
    "settings": { 
     "WadCfg": { 
      "DiagnosticMonitorConfiguration": { 
       "overallQuotaInMB": "50000", 
       "EtwProviders": { 
        "EtwEventSourceProviderConfiguration": [ 
         { 
          "provider": "Microsoft-ServiceFabric-Actors", 
          "scheduledTransferKeywordFilter": "1", 
          "scheduledTransferPeriod": "PT5M", 
          "DefaultEvents": { 
           "eventDestination": "ServiceFabricReliableActorEventTable" 
          } 
         }, 
         { 
          "provider": "Microsoft-ServiceFabric-Services", 
          "scheduledTransferPeriod": "PT5M", 
          "DefaultEvents": { 
           "eventDestination": "ServiceFabricReliableServiceEventTable" 
          } 
         }, 
         { 
          "provider": "Bb.ServiceFabric.Infrastructure.Container", 
          "scheduledTransferPeriod": "PT1M", 
          "DefaultEvents": { 
           "eventDestination": "ServiceFabricReliableServiceEventTable" 
          } 
         } 
        ], 
        "EtwManifestProviderConfiguration": [ 
         { 
          "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8", 
          "scheduledTransferLogLevelFilter": "Information", 
          "scheduledTransferKeywordFilter": "4611686018427387904", 
          "scheduledTransferPeriod": "PT5M", 
          "DefaultEvents": { 
           "eventDestination": "ServiceFabricSystemEventTable" 
          } 
         } 
        ] 
       } 
      } 
     }, 
     "StorageAccount": "sfdgsmsraghuplaygrou6827" 
    } 
}, 
"name": "VMDiagnosticsVmExt_vmNodeType0Name" 
} 

MyCompany.MyServices.MyStatelessServiceはの名前であるように私には(次のセクションが含まれているために、次のEtwProviders/EtwEventSourceProviderConfigurationを更新したいと思います私のサービスののEventSource):ここで

{ 
"provider": "MyCompany.MyServices.MyStatelessService", 
"scheduledTransferPeriod": "PT5M", 
"DefaultEvents": { 
    "eventDestination": "ServiceFabricReliableServiceEventTable" 
} 
} 

は私の質問です:

  1. は、ETWプロバイダ/のEventSource(FRを挿入する正しい方法このですomサービス)を既存のクラスタに追加します(これは既に紺色の診断で有効になっています)。
  2. powershellコマンドを使用して(ETWイベントソースプロバイダとして)このイベントソースを追加できますか?
  3. もしそうなら、正確なpowershellコマンドは何ですか(上のコード断片のすべての情報を使用しています)?

注:.NET Framework 4.5.2を使用しています。

答えて

2

上記の追加された構成ですべてがうまくいくようです。 ETWProvidersの場合、EventDestinationにはハイフン( - )を含めることはできませんので、あなたは大丈夫です。

Windows Azure Diagnostics(WAD)エージェントの設定を更新するには、Visual StudioでPowerShellまたはCloud Explorerを使用できます。

前者については、ARMテンプレートを更新してNew-AzureRmResourceGroupDeploymentコマンドレットを使用するだけです。詳細については、こちらを参照してください。https://azure.microsoft.com/en-us/documentation/articles/service-fabric-diagnostics-how-to-setup-wad/#update-diagnostics-to-collect-and-upload-logs-from-new-eventsource-channels

Visual StudioでCloud Explorerを使用する場合。 Virtual Machine Scale Setを参照します(これは、WAD構成を保持するAzureリソースです)。右クリックし、[診断の更新]を選択します。表示されたダイアログでは、プライベートおよびパブリック構成ファイルをアップロードするオプションがあります。 Simpleは、{"WadCfg":{}}要素を含む.jsonドキュメントを取得し、公開設定としてアップロードします。 :

あなたはプライベート設定を更新する必要がある場合

は、ストレージ・アカウント名とアクセスキーを指定{ "storageAccountName": ""、 "storageAccountKeyを": ""、 "storageAccountEndPoint": " https://core.windows.net"、 }

これが役に立ちます。 Mikkel

+0

この文脈で私的、公的な意味は何ですか? – Raghu

+0

クラウドエクスプローラを使用してjsonファイルをアップロードすると、次のエラーが表示されます。診断拡張の更新 - 拡張子 'VMDiagnosticsVmExt_vmNodeType0Name'の処理中にVMがエラーを報告しました。エラーメッセージ: "構成の読み取りに失敗しました。" \t Microsoft.Cct.StatusWindow。DispatchedStatusItemContainer – Raghu

+0

ファイルをダウンロードして、同じファイルを変更せずに再アップロードしてもこのエラーが発生します。 – Raghu

関連する問題