2016-08-25 1 views
1

Я уже создал кластер сервисной ткани с лазурной диагностикой, и теперь он работает с моими службами, развернутыми в этом кластере. У меня есть ETW EventSource в моей службе, что я хотел бы начать собирать события из-за того, что мой код службы уже использует этот источник событий для записи событий, связанных с сервисом. Поскольку кластер уже включен для диагностики azure, и мои сервисы уже развернуты в этом кластере, я думаю, что просто обновить поставщика ETW с моим источником событий в этом кластере рабочей сети. Здесь экспортируемый шаблон (только частично показано, что имеет важное значение для лазурных диагностики):Как добавить поставщика ETW в существующий кластер рабочей среды с помощью powershell?

{ 
"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" 
} 

Я хотел бы обновить следующую EtwProviders/EtwEventSourceProviderConfiguration содержит следующий раздел (как MyCompany.MyServices.MyStatelessService это имя Является ли

  1. это правильный способ вставки поставщика ETW/EventSource (фр: мой сервис-EventSource):

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

    Вот мои вопросы om my service) в существующий кластер (который уже включен с лазурной диагностикой)?

  2. Могу ли я добавить источник этого события (в качестве источника источника событий ETW) с помощью команды powershell?
  3. Если да, то какая именно команда powershell (используя всю информацию из вышеуказанного фрагмента кода)?

Примечание: я использую .net framework 4.5.2.

ответ

2

Все кажется хорошим с добавленной конфигурацией выше. Просто имейте в виду, что для ETWProviders EventDestination не может содержать дефисы (-), у вас не так, что вы в порядке.

Чтобы обновить конфигурацию агента Windows Azure Diagnostics (WAD), вы можете использовать PowerShell или Cloud Explorer в Visual Studio.

Для первого достаточно просто обновить шаблон 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. Просмотрите свой набор шкал виртуальной машины (так как это ресурс Azure, который содержит конфигурацию WAD). Щелкните правой кнопкой мыши и выберите «Обновить диагностику». В показанном диалоговом окне вы можете загрузить файл приватной и общедоступной конфигурации. Просто возьмите документ .json, содержащий элемент {"WadCfg": {}} и загрузите его как общедоступную конфигурацию.

Если вам необходимо обновить частную конфигурацию определяет имя хранилища учетной записи и Accesskey: { "storageAccountName": "", "storageAccountKey": "", "storageAccountEndPoint": "https://core.windows.net", }

Надеюсь, это поможет. Mikkel

+0

Что такое личное, общественное значение в этом контексте? – Raghu

+0

Когда я использую облачный проводник для загрузки json-файла, я получаю следующую ошибку: Обновление расширения диагностики - VM сообщила об ошибке при обработке расширения «VMDiagnosticsVmExt_vmNodeType0Name». Сообщение об ошибке: «Не удалось прочитать конфигурацию». \t Microsoft.Cct.StatusWindow.DispatchedStatusItemContainer – Raghu

+0

Я получаю эту ошибку, даже если я скачал файл и повторно загрузил тот же файл без каких-либо изменений. – Raghu

Смежные вопросы