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

Этот метод мониторинга является альтернативой постоянному наблюдению и опросам сетевых серверов. Использование команды eventtriggers позволяет настроить систему на отправку уведомлений или запуск программы (.bat, .exe, .vbs и т.д.) при возникновении определенного события.

Команда eventtriggers может использоваться для создания, удаления или опроса триггеров.

Вот синтаксис команды eventtriggers /create:

eventtriggers /create [/s <система>] [/u <домен\пользователь>] [/p <пароль>] [/tr <триггер>] [/l <имя журнала>] {[/eid <ID>] | [/t <тип>] | [/so <источник>] } [/d <описание>] [/tk <задача>] [/ru <домен\пользователь>] [/rp <пароль>]

Параметры команды рассматриваются в следующей таблице.

Параметры команды eventtriggers /create

Параметр

Использование

/s <система>

Указывает имя или адрес IP удаленной системы, на которой выполняется запрос

/u <домен\пользователь>

Позволяет выполнить команду в контексте другого пользователя

/p <пароль>

При использовании параметра /u этот параметр позволяет указать пароль учетной записи пользователя.

/tr <триггер>

Позволяет указать дружественное имя, которое будет связано с триггером события

/l <имя журнала>

Позволяет указать имя журнала, который будет отслеживаться (application, security, system и т.д.) Символ * может быть использован для указания нескольких журналов. По умолчанию отслеживаются все журналы.

/eid <ID>

Указывает тип идентификатора события, который должен отслеживаться утилитой eventtriggers

/t <тип>

Используется для указания утилите eventtriggers необходимости отслеживания определенного типа событий. Параметр может принимать следующие значения: error, warning, information, successaudit, failureaudit. Этот параметр не может быть использован совместно с параметрами /eid или /so

/so <источник>

Используется для указания источника событий для отслеживания. Источник может быть представлен любой строкой. Этот параметр не может использоваться совместно с параметрами /eid или /t

/d <описание>

Позволяет ввести описание триггера

/tk <задача>

Позволяет указать команду, которая будет выполняться при удовлетворении условий триггера.

/ru <домен\пользователь | system>

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

/rp <пароль>

При использовании параметра /ru, параметр /rp позволяет указать пароль учетной записи. Пароль необязателен, если указана учетная запись system

Вот пример создания триггера события. Предположим, что администратор хочет получать уведомление каждый раз, когда на сервере DNS2 останавливается служба DNS. Первое, что необходимо сделать — это создать задачу, которая будет выполняться при срабатывании триггера события. Для этого создадим пакетный файл, который называется DNSDeath.bat и добавьте в него следующую строку:

Net Send имя_пользователя "DNS перестал работать, аааааааааааа! На помощь!!!!!!!!!"

В синтаксисе команды необходимо заменить слово имя_пользователя на реальное имя учетной записи пользователя. После сохранения пакетного файла необходимо узнать, какой идентификатор события соответствует прекращению работы службы DNS. Эту информацию можно получить при ручной остановке выполнения службы DNS.

После останова сервера DNS загляните в журнал событий для получения соответствующего идентификатора сообщения. После определения необходимого идентификатора можно приступать к настройке триггера события.

Если пакетный файл был сохранен в каталоге D:\Infos на сервере DNS2, на этом сервере можно запустить следующую команду для создания триггера события:

eventtriggers /create /tr "DNSDown" /l "DNS Server" /eid 3 /tk "D:\Infos\DNSDeath.bat"

Для проверки работоспособности уведомления просто остановите службу DNS на сервере DNS2 и в течение нескольких секунд получите уведомление.

Команда eventtriggers /query

Хотя создание триггера это достаточно простой процесс, его отслеживание остается важным процессом. Это можно сделать с помощью команды eventtriggers /query.

Команда eventtriggers /query позволяет идентифицировать все триггеры событий, которые настроены в данной системе. Для запуска команды можно воспользоваться следующим синтаксисом:

eventtriggers /query [/s <система>] [/u <домен\пользователь>] [/p <пароль>] [/fo <table|list|csv>] [/nh] [/v]

Параметры этой версии команды eventtriggers рассматриваются в следующей таблице.

Параметры команды eventtriggers /query

Параметр

Использование

/s <система>

указывает имя или адрес IP удаленной системы, на которой выполняется запрос

/u <домен\пользователь>

позволяет выполнить команду в контексте другого пользователя

/p <пароль>

при использовании параметра /u этот параметр позволяет указать пароль учетной записи пользователя.

/fo <table|list|csv>

Используется для указания формата вывода команды (по умолчанию используется значение table)

/nh

при выборе формата вывода table или csv этот параметр подавляет вывод заголовков столбцов

/v

подробный вывод – вывод содержит подробную информацию о драйверах

Если необходимо просмотреть триггеры событий, созданные на сервере DNS1, можно воспользоваться такой командой:

eventtriggers /query /s DNS1

Получение списка настроенных триггеров событий системы оказывается полезным при необходимости удаление триггера. Для удаления триггера необходимо указать идентификатор триггера, который предоставляет вывод команды eventtriggers /query.

Команда eventtriggers /delete

После получения идентификатора можно выполнять удаление триггера. Вот синтаксис необходимой для этого команды:

eventtriggers /delete [/s <система>] [/u <домен\пользователь>] [/p <пароль>] [/tid <идентификатор триггера>]

Параметры команды eventtriggers /delete рассматриваются в следующей таблице.

Параметры команды eventtriggers /delete

Параметр

Использование

/s <система>

указывает имя или адрес IP удаленной системы, на которой выполняется запрос

/u <домен\пользователь>

позволяет выполнить команду в контексте другого пользователя

/p <пароль>

при использовании параметра /u этот параметр позволяет указать пароль учетной записи пользователя.

/tid <идентификатор триггера>

Используется для указания идентификатора триггера, который должен быть удален. Можно воспользоваться символом * для удаления всех триггеров.

Если необходимо удалить все триггеры событий на сервере DNS2, можно воспользоваться такой командой:

eventtriggers /delete /s DNS2 /tid *

Как видите, eventtriggers является быстрой и простой программой, полезной для обнаружения проблем в момент их возникновения.