Часто возникает необходимость узнавать о том, что происходит какое-то событие в нашей операционной системе. Конечно, в нашем распоряжении есть журнал событий, и в нем регистрируется масса событий, таких как вход/выход пользователя в систему, старт или перезапуск системы и много, МНОГО, других событий. Часто эти события носят чисто информативный характер, но иногда они предупреждают нас о возможных проблемах, а в некоторых случаях явно указывают на ошибку.
Хорошей практикой является, по крайней мере, раз в день просматривать журнал событий, но не все это делают, да и не всегда есть возможность. Конечно есть такие утилиты как Microsoft Operations Manager, но они требуют вложений и обучения персонала, что не всегда подходят для малого бизнеса.
Как показала практика, многим администраторам хочется узнавать о возникновении какого либо события по факту его возникновения и желательно методом оповещения, например, по средствам электронной почты. И как, опять же, показывает практика, не все знают, как это реализовать, а видь Windows содержит встроенное средство.
В данной статье речь пойдет о утилите командной строки eventtriggers.exe. Данная утилита находится в C:\WINDOWS\system32 и идет в стандартной поставке операционной системы Windows XP/2003.
Как работает Eventtriggers.exe?
Утилита создает триггер, который будет отслеживать появления события в журнале и выполнять указанное действие. Например, при появлении события с номер 528, в журнале событий безопасности, выполнять скрипт, который отправит письмо на почтовый ящик администратора.
Приступая к работе...
Что бы начать работать с утилитой eventtriggers.exe откройте консоль командной строки и наберите eventtriggers. Вы увидите надпись «INFO: No event triggers found» если в вашей системе не создано триггеров или вы увидите список уже созданных триггеров, как показано на рисунке ниже.
Тоже самое можно увидеть если набрать «eventtriggers /query». Помимо этого существует еще два ключа так называемого «верхнего уровня». Это /Create и /Delete которые создают и удаляют тригера.
Дополнительную информацию по ключам утилиты можно получить набрав «eventtriggers /?» или пройдя по следующей ссылке http://technet.microsoft.com/en-us/library/bb490901(TechNet.10).aspx
Узнать больше о событиях Windows вам поможет следующий раздел сайта Microsoft:
http://www.microsoft.com/technet/support/ee/ee_advanced.aspx
В ближайшее время я более подробно опишу утилиту eventtriggers.exe и приведу несколько практических примеров использования.
Дополнительную информацию по ключам утилиты можно получить набрав «eventtriggers /?» или пройдя по следующей ссылке http://technet.microsoft.com/en-us/library/bb490901(TechNet.10).aspx
Узнать больше о событиях Windows вам поможет следующий раздел сайта Microsoft:
http://www.microsoft.com/technet/support/ee/ee_advanced.aspx
В ближайшее время я более подробно опишу утилиту eventtriggers.exe и приведу несколько практических примеров использования.
а в windows 7 есть аналог этой утилиты?
ОтветитьУдалитьгде примеры?
ОтветитьУдалитьНету! Времени небыло, сорри! :(
ОтветитьУдалитьНапример создаете такой файл reboot.bat:
ОтветитьУдалить---------------------
@echo off
php -r "mail('your@mail', 'Server reboot', 'Server was going to the reboot by EventID %1');"
:reboot
echo trying reboot
shutdown -r -c "Reboot by EventID %1" -f
ping localhost -n 10 >nul
goto reboot
--------------
А потом добавляете триггер:
eventtriggers /create /tr "Reboot by EventID 2019" /l "System" /eid 2019 /t "ERROR" /d "some descriptions for you" /tk "c:\reboot.bat 2019"
Осталось только заметить, что EventID 2019 имеет следующее описание:
The server was unable to allocate from the system nonpaged pool because the pool was empty.
И если не произвести перезагрузку, то сервер после десятка подобных сообщений попросту уйдет в коллапс, пока на нем не нажмут кнопку Reset.