Event что за папка
В этой статье описывается перемещение файлов журнала журнала microsoft Windows 2000 и Windows Server 2003 в другое расположение на жестком диске.
Применяется к: Windows Server 2012 R2
Исходный номер КБ: 315417
Сводка
Windows 2000 и Windows Server 2003 записывают события в следующих журналах:
Журнал приложений содержит события, которые регистрируются программами. События, написанные в журнале приложений, определяются разработчиками программы.
Журнал безопасности содержит такие события, как допустимые и недопустимые попытки логотипа. Он также содержит события, связанные с использованием ресурсов, например при создании, открытом или удалении файлов. Необходимо войти в систему в качестве администратора или члена группы администраторов, чтобы включить, использовать и указать, какие события записываются в журнале безопасности.
Журнал системы содержит события, которые регистрируются Windows компонентов системы. Эти события предопределяются Windows.
Журнал службы каталогов
Журнал службы каталогов содержит события, связанные с Active Directory. Этот журнал доступен только на контроллерах домена.
Журнал DNS Server
Журнал DNS Server содержит события, связанные с разрешением имен DNS на или из IP-адресов. Этот журнал доступен только на DNS-серверах.
Журнал службы репликации файлов
Журнал службы репликации файлов содержит события, которые регистрируются во время процесса репликации между контроллерами домена. Этот журнал доступен только на контроллерах домена.
По умолчанию файлы журнала просмотра событий используют расширение .evt и находятся в %SystemRoot%\System32\Config папке.
Имя файла журнала и сведения о расположении хранятся в реестре. Эту информацию можно изменить, чтобы изменить расположение файлов журнала по умолчанию. Может потребоваться переместить файлы журнала в другое расположение, если требуется больше дискового пространства для входа данных.
Перемещение файлов журнала просмотра событий в другое расположение
В этот раздел, описание метода или задачи включены действия, содержащие указания по изменению параметров реестра. Однако неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому следует в точности выполнять приведенные инструкции. Для дополнительной защиты создайте резервную копию реестра, прежде чем редактировать его. Так вы сможете восстановить реестр, если возникнет проблема. Дополнительные сведения о том, как создать и восстановить реестр, см. в этой информации, как создать и восстановить реестр в Windows.
Чтобы переместить файлы журнала просмотра событий в другое расположение на жестком диске, выполните следующие действия:
В поле Open введите regedit и нажмите кнопку ОК.
Найдите и нажмите клавишу реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog .
Щелкните подкайку, представляюную журнал событий, который необходимо переместить, например, щелкните Приложение.
В правой области дважды щелкните файл.
Введите полный путь к новому расположению (включая имя файла журнала) в поле Данных Value, а затем нажмите кнопку ОК.
Например, если вы хотите переместить журнал приложений (Appevent.evt) в папку Eventlogs на диске E, введите e:\eventlogs\appevent.evt.
Повторите шаги от 4 до 6 для каждого файла журнала, который необходимо переместить.
Щелкните "Выход" в меню реестра.
Просмотр имени и расположения файлов журнала просмотра событий
Чтобы просмотреть имя и расположение файлов журнала просмотра событий, выполните следующие действия:
Дважды щелкните административные средства, а затем дважды нажмите кнопку Просмотра событий.
Кроме того, откройте оснастку, содержаную viewer событий.
Щелкните, чтобы расширить viewer событий (если он еще не расширен).
Щелкните правой кнопкой мыши журнал, который вы хотите просмотреть, а затем нажмите свойства.
Перейдите на вкладку Общие.
Имя и расположение файла журнала отображаются под именем Журнала.
Ссылки
Дополнительные сведения о просмотре журналов в viewer событий и управлении ими см. в следующей статье:
Дополнительные сведения об использовании просмотра событий см. в справке по просмотру событий. Для этого щелкните меню Действия в viewer событий, а затем нажмите справку.
Операционная система Windows, системные службы и приложения записывают события и ошибки в системные журналы, чтобы в дальнейшем у системного администратора была возможность проверки операционной системы и диагностики проблем.
Получить доступ к этим записям можно через встроенное приложение Просмотр событий (Event Viewer). Есть несколько вариантов запуска данного приложения:
- через меню Пуск – Средства администрирования Windows – >Просмотр событий (Start – Windows Administrative Tools – Event Viewer);
- в командной строке или в окне Выполнить набрать eventvwr.msc:
Скриншот №1. Запуск Просмотра событий (Event Viewer) через командную строку
В Диспетчере серверов в разделе Средства выбрать Просмотр событий (Server Manager – Tools – Event Viewer):
Скриншот №2. Запуск Просмотра событий (Event Viewer) через Диспетчер серверов
Описание интерфейса программы
Окно программы состоит из следующих компонентов:
- Панель навигации позволяет выбрать конкретный журнал, записи которого необходимо просмотреть;
- Список событий, содержащийся в выбранном журнале. В колонках выведена базовая информация о событии. Их можно отсортировать по датам, типам, категориям событий и т.д.;
- Детальная информация о выбранном во второй панели событии. Также детальную информацию можно открыть в отдельном окне, если кликнуть по нужному событию два раза;
- Панель быстрых действий, которые можно совершить с данным журналом или событием. Действия также доступны в контекстном меню (клик правой кнопкой мыши по журналу или событию).
Для удобства просмотра и управления системные журналы разбиты по категориям:
- Приложения (Application) – как и гласит название, содержит события и ошибки приложений;
- Безопасность (Security) – если в операционной системе включена и настроена функция аудита, журнал будет содержать записи, связанные с отслеживанием соответствующих событий (например, авторизация пользователя или попытки неудачного входа в операционную систему);
- Система (System) – здесь регистрируются события операционной системы и системных сервисов;
- Установка (Setup) – события, связанные с инсталляцией обновлений Windows, дополнительных приложений.
Сами события также разделяются на типы:
- Сведения (Information) — информируют о штатной работе приложений.
- Предупреждение (Warning) — событие, свидетельствующее о возможных проблемах в будущем (например, заканчивается свободное место на диске – приложения могут продолжать работу в штатном режиме, но когда место закончится совсем, работа будет невозможна).
- Ошибка (Error) — проблема, ведущая к деградации приложения или службы, потерям данных.
- Критическое (Critical) — значительная проблема, ведущая к неработоспособности приложения или службы.
- Аудит успеха (Success audit) — событие журнала Безопасность (Security), обозначающее успешно осуществленное действие, для которого включено отслеживание (например, успешный вход в систему).
- Аудит отказа (Failure audit) — событие журнала Безопасность (Security) обозначающее безуспешную попытку осуществить действие, для которого включено отслеживание (например, ошибка входа в систему).
Работа с журналами
Службы и приложения могут генерировать огромное количество самых разнообразных событий. Для простоты доступа к нужным записям журнала можно использовать функцию фильтрации журнала:
Скриншот №4. Фильтрация журнала
Правый клик по журналу – Фильтр текущего журнала… (>Filter Current Log…), либо выбрать данную функцию в панели быстрых действий. Открывшееся окно позволяет настроить фильтр и отобразить только те события, которые необходимы в данный момент:
Скриншот №5. Настройки фильтра
Можно задать временной период, уровни события, выбрать журналы и конкретные источники событий. Если известны коды событий, которые нужно включить или исключить из фильтра, их также можно указать.
Когда необходимость в фильтрации событий отпадет, ее можно отключить действием Очистить фильтр (Clear Filter):
Скриншот №6. Очистка фильтра
Приложение Просмотр событий (Event Viewer) позволяет также настроить дополнительные свойства журналов. Доступ к настройкам можно получить через панель быстрых действий, либо через контекстное меню журнала – правый клик по журналу – Свойства (Properties):
Скриншот №7. Свойства журналов
В открывшемся окне настроек можно увидеть путь, по которому сохраняется файл журнала, текущий размер, а также можно задать максимальный размер файла:
Скриншот №8. Характеристики файла журнала
В нижней части окна можно выбрать вариант действия при достижении журналом максимального значения:
В этой статье автор осуществил описание централизованной системы мониторинга событий безопасности для Windows Server 2008.
Андрей А. Бирюков
Однако, если в вашей сети на серверах используется операционная система Windows Server 2008, то вы можете самостоятельно организовать централизованный мониторинг событий безопасности. Для начала поговорим о том, какие нововведения появились в системе журналирования в Windows Server 2008.
Level (уровень) – Это свойство определяет важность события.
Date and Time (дата и время) – Это свойство содержит информацию о дате и времени возникновения события.
Source (источник) – Это свойство указывает источник события: приложение, удаленный доступ, служба и так далее.
Event ID (Код события) – Каждому событию назначен идентификатор события ID, число, сгенерированное источником и уникальное для всех типов событий.
Task Category (Категория задачи) – Это свойство определяет категорию события. Например Security или System. .
Итак, мы разобрались с тем, что представляет из себя событие в журнале Windows Event Log. Теперь нам необходимо сначала настроить аудит событий информационной безопасности. Далее будем предполагать, что у нас используется домен Active Directory и все сервера входят в этот домен.
Audit account logon events
Audit account management
Audit directory service access
Audit logon events
Audit object access
включить, только если необходимо отслеживать доступ к определенным объектам (например, каталогам на диске).
Audit policy change
Audit privilege use
Audit process tracking
Audit system events
Подписки на события
После этого, выполните на нем же следующую команду:
При необходимости, вы можете изменять параметры оптимизации доставки событий. Например, вы можете изменить параметр Minimize Bandwidth (минимизация пропускной способности) для удаленных серверов, с ненадежным каналом связи.
Теперь необходимо собственно создать подписку, указав события, которые должны извлекаться из логов серверов источников. Для этого на собирающем сервере запустите утилиту просмотра событий с учетной записью, обладающей административными привилегиями. Затем щелкните на папке Subscriptions в дереве консоли и выберите команду Create Subscription (Создать подписку). В поле Subscription Name нужно указать имя подписки. При необходимости в поле Description можно привести описание. Затем, в поле Destination Log (журнал назначения) выберите файл журнала, в котором будут храниться собранные события. По умолчанию эти события будут храниться в журнале перенаправленных событий в папке Windows Logs дерева консоли. После этого, щелкните на кнопке Select Computers, чтобы выбрать исходные сервера, которые будут перенаправлять события. Как уже упоминалось ранее, данные сервера должны находиться в домене. Затем выберите события, нажав на кнопке Select Events. Сконфигурируйте журналы и типы событий, предназначенные для сбора. Щелкните ОК чтобы сохранить подписку.
Журналы
Папка Applications and Services Logs (журналы приложений и служб) представляют собой новый способ логической организации, представления и сохранения событий, связанных с конкретным приложением, компонентом или службой Windows вместо использовавшейся ранее, регистрации событий, которые оказывают влияние на всю систему. Эти журналы включают четыре подтипа: Admin (события, предназначенные для конечных пользователей и администраторов), Operational (Рабочий журнал событий, также предназначенный для администраторов), Analytic (журнал позволяет отслеживать цепочку возникновения проблемы и часто содержит большое количество записанных событий), Debug (используется для отладки приложений). По умолчанию журналы Analytic и Debug скрыты и отключены. Для того, чтобы их просмотреть, щелкните правой кнопкой мыши на папке Applications and Services Logs, а затем в контекстном меню выберите пункт View, Show Analytic and Debug Logs.
Рисунок 1.
Настройка Debug
Фильтры
Настраиваемые представления – это специальные фильтры, созданные либо автоматически системой Windows 2008, во время добавления в систему новых ролей сервера или приложений, таких как Directory Certificate Services (Службы сертификатов каталогов), сервер DHCP, либо администраторами вручную. Для администраторов одной из важнейших функций при работе с журналами событий является возможность создавать фильтры, позволяющие просматривать только интересующие события, чтобы можно было быстро диагностировать и устранять проблемы в системе. В качестве примера, рассмотрим папку Custom Views в навигационной панели утилиты просмотра событий. Если в этой папке щелкнуть правой кнопкой мыши по Administrative Events и затем выбрать Properties, то после нажатия Edit Filter, можно увидеть как информация из журнала событий преобразуется в набор отфильтрованных событий. Настраиваемые представления оснастки Administrative Events фиксируют все критические события, а события ошибок и предупреждений фиксируются для всех журналов событий (в отличие от предыдущих версий Windows). Таким образом, с помощью данного фильтра администратор может обращаться к единственному источнику для быстрой проверки потенциальных проблем, присутствующих в системе. Это средство может пригодиться при обработке событий, приходящих с серверов источников событий.
Созданные настраиваемые представления можно экпортировать в XML-файл для последующего распространения на другие машины.
Реагируем на события
Еще одной интересной функцией, о которой хотелось бы упомянуть, является возможность ответной реакции на события. Например, если у вас пользователь указал неверные учетные данные для аккаунта, имеющего административные привилегии, то на появление данного события в журнале необходимо отреагировать, послав уведомление администратору безопасности. Данная функция является долгожданным решением проблем с автоматизацией работы серверов, так как раньше требовалось устанавливать дополнительное программное обеспечение или писать сценарии для того чтобы заставить сервер автоматически реагировать на определенные события.
Для этого необходимо зайти в журнал событий Event Viewer, открыть раздел Windows Logs, затем Security, выбрать нужное событие, нажать правую кнопку мыши, и указать Attach Task To This Event… (прикрепить задачу к этому событию).
Рисунок 2.
Настройка ответной реакции на событие
Рисунок 3.
Свойства задач
Окно свойств задачи аналогично интерфейсу Scheduled Tasks, для заданий, выполняющихся по расписанию. Здесь можно указать учетную запись, под которой выполняется задача, при необходимости ее можно выполнять только когда пользователь работает на машине.
В закладке Triggers, вы можете добавлять или изменять условия выполнения задачи. В Actions вы можете добавлять различные действия. В закладке Conditions прописаны условия, при которых выполняется задача. В Settings можно прописать, какие действия должны быть выполнены при различных условиях. Например, что нужно делать в случае, если такая задача уже выполняется. Наконец, в закладке History вы можете наблюдать все события, которые вызвали выполнение задачи.
Немного о построении отчетов
Иногда возникает необходимость в построении отчетов о событиях информационной безопасности. Например, руководители различного уровня очень любят, когда им предоставляют распечатки отчетов, в которых представлена информация, о том сколько попыток несанкционированного проникновения было осуществлено, к примеру за месяц. Благодаря отчетам многие руководители ИТ-отделов выбивают бюджеты на развитие, так что не стоит пренебрегать отчетами.
Итак, нам нужно осуществить выборку событий из журнала. Делать мы это будем с помощью средств PowerShell.
Для начала построим отчет о неудачных входах в систему. Для этого нам необходимо выбрать все события с кодом 4625.
get-eventLog -LogName Security -Newest 100 | Where-Object < $_.EventID -
eq 4625 >
Еще один пример. Узнаем, сколько пользователей осуществляло вход в систему в нерабочее время. Код события Success Logon – 4624.
В завершении, узнаем, сколько удачных входов систему было осуществлено пользователем administrator.
get-eventLog -LogName Security | Where-Object
Здесь приведены только простейшие сценарии работы с журналом событий в Windows Server 2008. При необходимости на их основе можно построить более сложные запросы для релшения соответствующих задач информационной безопасности.
Заключение
В этой статье мы рассмотрели построение системы мониторинга событий информационной безопасности с помощью штатных средств Windoiws Server 2008. С помощью описанных инструментов можно существенно автоматизировать процесс мониторинга событий безопасности.
Использованная литература
1. Р. Моримото, М. Ноэл, О. Драуби Microsoft Windows Server 2008. Полное руководство.
В нашем телеграм канале мы рассказываем о главных новостях из мира IT, актуальных угрозах и событиях, которые оказывают влияние на обороноспособность стран, бизнес глобальных корпораций и безопасность пользователей по всему миру. Узнай первым как выжить в цифровом кошмаре!
Журнал событий (Event Logging)
Многие из Вас, наверное, принимали участие в крупных и долгосрочных проектах, где разрабатывалось приличное количество модулей, использовались многочисленные библиотеки, сценарии и т.д. Мне тоже приходилось участвовать в таких проектах. Один из них и натолкнул меня на мысль о создании этой статьи. В том проекте участвовало множество программистов, разработчиков и тестеров. Каждый разработчик писал небольшой модуль протоколирования (логирования, от англ. logging, - снимать, записывать показания с прибора) и трассировки своих модулей и наработок. Кто-то писал свои утилиты, которые потом разбирали эти протоколы, кто-то использовал буферизованный вывод, т.е. какого-то чёткого регламента по этой деятельности не было. Результатом всей этой деятельности стало большое количество разбросанных текстовых и бинарных файлов с понятными и непонятными расширениями, непонятного формата и содержания. Понятно, что при такой организации так и должно было случиться. Хуже того, бывает и так, что при выходе финальной версии не удаётся всё это убрать, и всё это оказывается у пользователя и заказчика.
Для решения этой проблемы операционная система Windows предоставляет такой сервис и программный интерфейс, как Eventlog. Этот инструментарий относится к числу базовых сервисов Windows, т.е. поставляется с самой системой и система сама же его использует. Стоит заметить, что эта возможность есть только у систем семейств WinNT/XP, т.к. приложение для протоколирования событий является сервисом. Также стоит заметить, что в Windows Vista и Windows Longhorn этот сервис существенно переработан, новый вариант в этой статье рассматриваться не будет.
Мы не будем также рассматривать этот замечательный инструмент с точки зрения администраторов, сборщиков журналов и прочих персон, которые призваны управлять системой. Итак, приступим.
Теория
Рисунок 1.
ПРЕДУПРЕЖДЕНИЕ
Рекомендации по протоколированию событий
При описании событий в журнале старайтесь придерживаться следующих рекомендаций, это поможет вам сделать журналы событий удобочитаемыми и опрятными. Помните, что журналы - это уже не только ваши собственные файлы трассировки, а разделяемый сервис, и не только вы ими пользуетесь.
- Что случилось и почему?
- Что ему (пользователю) делать дальше?
- Что он (пользователь) может сделать, чтобы этого больше не повторилось?
Могут пригодиться и следующие рекомендации:
Это неполный список рекомендаций, взятый из MSDN. На самом деле в популярных книгах, например, у Саттера, есть более интересные рекомендации.
События в журнале
В журнал можно записывать пять типов событий. Все типы событий достаточно понятно классифицированы, определены и могут включать много дополнительной информации. Каждое событий, которое мы посылаем из своего приложения, может иметь только один тип. Определены следующие типы событий:
Тип события | Пояснение |
---|---|
Ошибка (Error) | Этим типом обычно определяется серьёзная ошибка приложения. Например, исполнение приложения прервалось из-за нехватки ресурсов. |
Предупреждение (Warning) | Этим типом приложение обычно информирует о том, что скоро может возникнуть проблема, например, закончится дисковое пространство. |
Информация (Information) | Этим типом приложение обычно информирует об успехе какой-либо важной операции, например, при старте сервиса. |
Успешный отчёт (Success Audit) | Этот тип события обычно означает об успехе какой-либо операции доступа, например, пользователь вошёл в систему. |
Не успешный отчёт (Fault Audit) | Этот тип события обычно означает, что произошла какая-то ошибка при доступе к ресурсу, например, пользователь не смог обратиться к сетевому диску. |
СОВЕТ
Элементы журнала событий
Журналы
Всю информацию о настройках журнала сервис берёт из реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog.
Каждая ветка в этом ключе – это журнал. Изначально их всего три, но можно создавать свои журналы, и регистрировать свои приложения как источники событий для этих журналов.
Журнал (Log) | Пояснение |
---|---|
Приложение (Application) | Этот журнал содержит записи от приложений. Например, если мы зарегистрируем свой источник событий (т.е. приложение) и не укажем журнал, по умолчанию записи будут поступать сюда. |
Система (System) | Этот журнал содержит записи, поступающие от системных служб. Но писать в него может любое приложение. |
Безопасность (Security) | Этот журнал предназначен для аудита, например, событий входа пользователя в систему. |
Другой (Custom) | Можно создать свой журнал. Не поддерживается в Windows NT. |
Ключ в реестре | Пояснение |
---|---|
DisplayNameFile | Имя файла, в котором содержится локализованная строка с названием журнала, то есть строка, которую покажет Event Viewer. Если параметр не указан, Event Viewer в качестве строки покажет наименование подключа, в котором определён параметр. По умолчанию все локализованные ресурсы находятся в %SystemRoot%\system32\ELS.DLL. Строковый параметр. |
DisplayNameID | Идентификатор строки в ресурсной DLL. Тип параметра DWORD. |
File | Путь к папке, где Event Viewer будет хранить файлы журналов. По умолчанию это %SystemRoot%\system32\config\MyLogName, где MyLogName – имя журнала. При создании нового файла журнала сервис должен иметь права на полный доступ к файлу. Если значение этого параметра будет неверным, все записи будут перенаправляться в журнал Application. В пути нельзя использовать имя удалённого компьютера, DOS-устройства, дисководы, именованные каналы. Нельзя использовать переменные окружения, которые нельзя раскрыть в контексте сервиса. |
MaxSize | Максимальный размер журнала в байтах. По умолчанию 512К. Параметр DWORD. |
PrimaryModule | Наименование ключа, где хранятся настройки по умолчанию. Обычно совпадает с наименованием журнала. Строковый параметр. |
Retention | Интервал в секундах, в течение которого записи могут остаться не перезаписанными. Если установлено в ноль, записи в журнале всегда перезаписываются, если не ноль или 0xFFFFFFFF, то записи никогда не перезаписываются. При достижении максимального размера журнал необходимо очистить вручную, иначе записи будут потеряны. Перед тем, как изменять это значение, журнал необходимо очистить. Параметр DWORD. По умолчанию – 0. |
Sources | Список приложений, сервисов, которые могут писать в журнал. Только для чтения. Этот список создаёт сам сервис. Названия приложений берутся из текущей ветки журнала и разделяются null-terminated. Параметр многострочный. |
AutoBackupLogFiles | Если значение параметра – 0, журнал не сохраняется как резервная копия. По умолчанию – 0. |
RestrictGuestAccess | Если значение – 1, то пользователи под учётной записью Guest и Anonymous не имеют доступа к журналу. По умолчанию – 0. |
Isolation | Не используется. |
Источники событий
Каждая подветка в ветке Eventlog – это источник событий.
Например, для приложения MySuperApp.EXE, которое будет записывать события в журнал Application, необходимо создать такую подветку:
Здесь MySuperApp – это произвольное имя, по которому сервис (журнал) будет опознавать события, поступающие от нашего приложения. Каких либо соглашений об имени в документации не указано, но видимо, имя должно быть уникально в пределах одной подветки. Обычно используется название приложения или исполняемого модуля. По сути дела, это и есть регистрация приложения в сервисах Event Logging и Event Viewer.
Именно это имя будет передаваться функции RegisterEventSource , которая вернёт описатель (handle) журнала.
Пользовательские приложения и сервисы должны либо регистрировать себя в журнале Application, либо создавать свой журнал. Журнал Security используется только системой. Драйверы устройств должны использовать журнал System.
Фактически получается, что когда приложение вызовет функции RegisterEventSource или OpenEventLog , сервис Eventlog будет искать в реестре ветку MySuperApp, чтобы вернуть описатель журнала. Если он не найдет ветку с именем MySuperApp, по умолчанию будет использован журнал Application.
ПРЕДУПРЕЖДЕНИЕ
Рисунок 2.
Вот, собственно, основные теоретические сведения. Можно приступить к практическим занятиям.
Практика
Категории событий
Обратите внимание на обязательный разделитель категорий - точку.
Идентификаторы событий
Формат кода идентификатора события выглядит так (впрочем, это соглашение, принятое в Windows):
3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | ||||||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Severiry | C | R | Facility | Code |
Важность ошибки (Severity):
- 00 – Success
- 01 – Informational
- 10 – Warning
- 11 – Error
Принадлежность (Customer bit):
- 0 – Системный
- 1 – Пользовательский
- Зарезервирован (R)
- Код подсистемы (Facility)
- Код ошибки (Code)
Подробные пояснения можно найти в книге Рихтера или в MSDN.
В результате мы получим следующие файлы: MYEVT_ENG.H (определения символических имён), Msg00001.bin (бинарный ресурс для каждого языка), MYEVT_ENG.RC (в нём подключены бинарные ресурсы). Кстати, файл WINERROR.H, поставляемый с Microsoft Visual Studio, именно так и сгенерирован.
Теперь скомпилируем файл ресурсов MYEVT_ENG.RC:
В результате мы получим файл MYEVT_ENG.RES. И, наконец-то, скомпилируем библиотеку:
Теперь нам осталось зарегистрировать источник событий и написать код, использующий журнал событий. К сожалению, Microsoft не предоставляет никаких утилит для регистрации источника событий (мне, по крайней мере, они неизвестны), поэтому делать все придется ручками. На целевой машине это можно сделать всего один раз, например, при инсталляции.
СОВЕТ
Для регистрации источника событий достаточно всего лишь определить несколько ключей в реестре (описание ключей приведены выше).
Использование журнала событий
Здесь стоит пояснить две важные функции: RegisterEventSource и ReportEvent.
lpUNCServerName – UNC-имя удалённого компьютера (NULL - локальный).
Функция возвращает описатель журнала или NULL.
hEventLog – описатель, который вернула функция RegisterEventSource.
wType – тип события (EVENTLOG_SUCCESS, EVENTLOG_AUDIT_FAILURE, EVENTLOG_AUDIT_SUCCESS, EVENTLOG_ERROR_TYPE, EVENTLOG_WARNING_TYPE, EVENTLOG_INFORMATION). Указать можно только один тип.
wCategory – категория (см. Категории событий)
lpUserSid – указатель на структуру SID.
wNumStrings – количество подставляемых параметров в lpStrings. Каждая строка ограничена 32К.
dwDataSize – число байт в lpRawData.
lpRawData – произвольный массив байтов. Event Viewer никак не интерпретирует эти данные и отображает их в том виде, в котором они были переданы.
Eventlog предоставляет еще несколько функций (перебрать записи в журнале, найти запись, и т.д.) для работы с журналами событий. Почти все они нужны только для какой-либо программы-анализатора.
Послесловие
Кому-то это может показаться нудным и даже ненужным занятием. Но логи всегда были очень полезным и действенным способом отладки приложений и устранения ошибок. Использование журналов событий имеет ряд преимуществ:
В Windows Vista Microsoft переработала этот сервис. Например, можно генерировать логи в XML, отсылать отчёты о логах и т.д.
Читайте также:
- Bret panther wot как получить
- Катализатор шевроле круз 1.8
- Где находится масса приборной панели на калине 1 фото
- Вибрация на холостых оборотах ланос 1.5
- Камаз 54112 отличия от 5410