logo

[ELMA3] Настройка расширенного мониторинга для отслеживания перезапуска сервера ELMA

В случае если необходимо вести учет фактов перезапуска сервера ELMA средствами платформы .NET, можно настроить конфигурацию веб-сервера таким образом, что факт каждого перезапуска сервера будет фиксироваться в журнале операционной системы с указанием даты, времени и причины перезапуска. Данная настройка может быть полезна как для ведения статистики работы веб-сервера, так и для поиска причин в случае возникновения незапланированного перезапуска – речь идет о возможных моделях поведения ASP.NET технологии, в ходе которых приложение самостоятельно перезапускается.

Для настройки автоматического создания записи в журнале операционной системы о перезапуске приложения, в данном случае веб-сервера ELMA, необходимо внести изменения в файл web.config, расположенный по умолчанию в директории C:\ELMA3-Standart\Web.

Внимание!
Сохранение изменений в файле вызовет перезапуск сервера!

В файл необходимо добавить следующие строки:

<healthMonitoring>

   <rules>

    <add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

    <add name="App Lifetime Events" eventName="Application Lifetime Events" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

    <add name="App Audit Events" eventName="All Audits" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

   </rules>

  </healthMonitoring>

Расположение данного участка должно быть в теге <system.web>, который должен содержать в себе теги «». Отдельно выделяю данное обстоятельство, так как тегов <system.web> может быть несколько и некорректное расположение может негативно сказаться на работе функционала системы. Пример размещения:

<system.web>

    <trust level="Full" originUrl=""/>

 <healthMonitoring>

   <rules>

    <add name="All Events" eventName="All Events" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

    <add name="App Lifetime Events" eventName="Application Lifetime Events" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

    <add name="App Audit Events" eventName="All Audits" provider="EventLogProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom="" />

   </rules>

  </healthMonitoring>

…

</system.web>

После размещения тега <healthMonitoring> запись о перезапуске должна появляться в системном журнале Приложение, обратиться к которому можно через Панель управления – Администрирование – Просмотр событий – Журналы Windows – Приложение. Запись перезапуска категорируется как веб-событие и выглядит следующим образом, пример:

Код события: 1002
Сообщение о событии: Приложение закрывается. Причина: Остановка хостинг среды.
Время события: 02.04.2014 12:51:44
Время события (UTC): 02.04.2014 8:51:44

В данном случае причиной является поведение сервера IIS, так как он является хостинг средой для веб-сервера ELMA. Рассмотрим еще один случай:

Код события: 1002
Сообщение о событии: Приложение закрывается. Причина: Достигнуто максимальное число рекомпиляций.
Время события: 25.03.2014 16:49:37

Как видно из описания события, перезапуск произошел при достижении максимального числа рекомпиляций. В ходе работы при изменении файлов приложения платформа ASP.NET запускает его компиляцию, чтобы вносимые изменения вступили в силу. По инструкции при достижении определенного числа рекомпиляций платформа ASP.NET перезапускает приложение полностью, частным случаем возникновения данной ситуации является работа с файлами шаблонов. При написании собственных шаблонов для документов, задач, объектов на разметке Razor появляется вероятность перезапуска системы в случае, если за короткий промежуток времени было внесено множество изменений, каждое из которых было сохранено отдельно и проверено в веб-части, т.е. после каждого изменения веб-страница была перезагружена.

Прикрепленные файлы