Назад | Перейти на главную страницу

Как получить доступ к журналам событий Windows на экземпляре сервера в облачных службах Azure?

Можно ли получить доступ к журналам событий в Windows Azure для развертывания с несколькими экземплярами с использованием облачных служб Azure? При необходимости он сможет просматривать журналы событий каждого экземпляра сервера. «Черный ящик» просто не подходит.

Если вы включили удаленный рабочий стол, вы можете подключиться к каждому экземпляру и удаленно проверять журнал событий.

С другой стороны, вы можете настроить службу диагностики Azure для копирования Журнал событий в учетную запись хранилища BLOB-объектов Azure периодически.

  1. Включение диагностики Azure в .csdef

    <WebRole name="roleName">
     <Imports>
      <Import moduleName="Diagnostics" />
     </Imports>
    </WebRole>
    
  2. Настройте учетную запись диагностики в .cscfg (обязательно используйте https для DefaultEndpointsProtocol).

    <Role name="roleName">
     <Instances count="1" />
      <ConfigurationSettings>
       <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=accountKey" />
      </ConfigurationSettings>
    </Role>
    
  3. Добавьте диагностическую инициализацию в метод OnStart.

    var config = DiagnosticMonitor.GetDefaultInitialConfiguration();
    config.WindowsEventLog.DataSources.Add("System!*");
    DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);
    

Видеть http://msdn.microsoft.com/en-us/library/windowsazure/microsoft.windowsazure.diagnostics.diagnosticmonitorconfiguration.aspx для подробностей.