Мені дуже сподобалася нова можливість по роботі з журналами подій в Windows 2008/7 / Vista, звана Event Log forwarding (subscription - або підписка), яка заснована на технології WinRM. Ця функція дозволяє вам отримати всі події з усіх журналів з безлічі серверів без використання сторонніх продуктів і налаштовується все це на протязі всього пари хвилин. Можливо, саме ця технологія дозволить вам відмовитися від настільки улюблених багатьма системними адміністраторами Kiwi Syslog Viewer і Splunk.
Отже схема така, у нас є сервер Windows 2008, запущений в якості колектора логів з одного або декількох джерел. Як підготовчої роботи потрібно виконати наступні 3 кроки:
На колекторі логів в командному рядку з правами адміністратора запустіть наступну команду, яка запустить службу Windows Event Collector Service, змініть тип її запуску в автоматичний (Automatically - Delayed Start) і перейдіть до каналу ForwardedEvents, якщо він був відключений.
wecutil qc
На кожному з джерел потрібно активувати WinRM:
winrm quickconfig
За замовчуванням сервер-колектор логів не може просто збирати інформацію з журналів подій джерел, вам доведеться додати обліковий запис комп'ютера-колектора в локальні адміністратори на все сервера-джерела логів (в тому випадку, якщо сервер-джерело працює під управлінням 2008 R2, то досить додати учетку колектора в групу Event Log Readers)
Тепер ми повинні створити підписки (Subscriptions) на сервер колектор. Для чого зайдіть на нього, відкрийте консоль MMC Event Viewer, клацніть правою кнопкою миші по Subscriptions і виберіть Create Subscription:
Тут ви можете вибрати кілька різних налаштувань.
При кожному додаванні колектора, непогано було б перевірити підключення:
Далі ви повинні налаштувати фільтр, вказавши які типи подій ви хочете отримувати (наприклад, Errors і Warnings), також можна збирати події за конкретними номерами Event ID або за словами в описі події. Є один нюанс: чи не вибирайте занадто багато типів подій в одну підписку, аналізувати цей журнал можна буде нескінченно :).
Розширені настройки (Advanced settings) можуть знадобитися, якщо ви хочете використовувати нестандартний порт для WinRM, або захочете працювати по протоколу HTTPS, або ж оптимізувати Сьор логів по повільних каналах WAN.
Після натискання OK підписка буде створена. Тут ви можете натиснути правою кнопкою миші по підписці і отримати статус виконання (Runtime Status), або перезапустити її (Retry) якщо попередній запуск був невдалим. Зверніть увагу, що навіть якщо ваша підписка має зелений значок, в процедурі збору логів можуть бути помилки. Тому завжди перевіряйте Runtime Status.
Після початку роботи підписки, ви зможете переглядати переслані події. Майте на увазі, що якщо журнали дуже великі, то їх первинний збір може зайняти деякий час.
Конфігурацію можна подивитися на вкладці Properties -> Subscriptions.
У тому випадку, якщо збір логів не працює, спочатку на сервері-джерелі логів упевніться, що локальний файрвол налаштований коректно і дозволяє трафік WinRM.
Один раз, коли я додав обліковий запис сервера-колектора в групу Event Log Readers, але не додав її локальні адміністратори, була така помилка;
[WDS1.ad.local] - Error - Last retry time: 2010-09-28 16:46:22. Code (0 × 5): Windows Event Forward Plugin failed to read events. Next retry time: 2010-09-28 16:51:22.
Я спробував додати учетку сервера в групу локальних адмінів, в результаті з'явилася така помилка:
[WDS1.ad.local] - Error - Last retry time: 2010-09-28 16:43:18. Code (0 × 7A): The data area passed to a system call is too small. Next retry time: 2010-09-28 16:48:18.
Виявляється, я вибрав в фільтрі занадто багато журналів для збору. Поправивши фільтри так, щоб вони збирали трохи менше інформації, я переміг цю помилку.
Порада. Для автоматичного повідомлення адміністратора про появу певної події в журналі Windows можна налаштувати тригер планувальника завдань. Подробиця в статті: Моніторинг та оповіщення про події в журналах Windows