Я использую плагин Powershell PSeventing, но пока мне не удалось найти событие, которое срабатывает, когда журнал событий заполнен. Я ищу везде события MSDN .net. Я знаю, что это связано с максимальным размером журнала событий, но я не могу найти этот триггер, и я не уверен, как заставить PSeventing сделать это. Может кто-нибудь мне помочь. Заранее спасибо.
Как заставить PowerShell захватить файл журнала, когда он переполняется?
Ответы (5)
Моей первой мыслью было бы использовать FileSystemWatcher и контролировать размер файла. Я не нахожу другого варианта, кроме мониторинга журнала системных событий (я думаю, что событие записывается туда, когда журнал заполнен и попытка записи не удалась), но это не сработает, если журнал вас беспокоит это журнал системных событий.
Существует определенное событие, которое происходит в журналах событий приложения или системы, когда они считаются «заполненными» (в соответствии с настроенным действием OverflowAction):
http://www.eventid.net/display.asp?eventid=6000&eventno=291&source=EventLog&phase=1
Вы должны следить за событиями, используя WmiEventWatcher для этого события (eventid 6000, ошибка), в частности, так же, как и для любого другого события.
-Ойсин (автор поствентинга)
Интересно, есть ли связанное событие WMI, для которого вы могли бы зарегистрировать приемник. Если будет время, поищу.
Итак, вот что я нашел до сих пор. Доступен приемник событий __EventQueueOverflowEvent. Я подозреваю, что это может сработать для вас. Существует также __SystemEvent, который также может оказаться полезным.
Спасибо за событие, Oisin, но сейчас я изучаю перехват исключения в Powershell, когда журнал заполнен до того, как он будет перезаписан. Я думаю, что исключения называются «журнал заполнен», но я не уверен, и я не так много знаю о ловушках и бросках, которые, как говорят, плохо документированы, но я иду по следу.
Один из способов — использовать Microsoft System Center или MOM для отслеживания события с идентификатором 523. Я считаю, что необходимо применить исправление к серверам, которые будут регистрировать полное событие журнала. Проверьте веб-сайт Microsoft. Наш триггер срабатывает на 90%, я думаю, вы можете установить процент, на котором вы хотите, чтобы он срабатывал.
Вы также, вероятно, можете сделать это с помощью WMI или Powershell, но его нужно будет часто запускать, чтобы отслеживать изменения. Простой DIR для журнала событий даст вам размер, если вы знаете верхний предел, вы можете рассчитать % заполнения. Это может быть автоматизировано в VB или C#.