Пора поговорить про удобную работу с логами, тем более что в Windows есть масса неочевидных инструментов для этого. Например, Log Parser, который порой просто незаменим.
В статье не будет про серьезные вещи вроде Splunk и ELK (Elasticsearch + Logstash + Kibana). Сфокусируемся на простом и бесплатном.
Журналы и командная строка
До появления PowerShell можно было использовать такие утилиты cmd как find и findstr. Они вполне подходят для простой автоматизации. Например, когда мне понадобилось отлавливать ошибки в обмене 1С 7.7 я использовал в скриптах обмена простую команду:
findstr "Fail" *.log >> fail.txt
Она позволяла получить в файле fail.txt все ошибки обмена. Но если было нужно что-то большее, вроде получения информации о предшествующей ошибке, то приходилось создавать монструозные скрипты с циклами for или использовать сторонние утилиты. По счастью, с появлением PowerShell эти проблемы ушли в прошлое.
Основным инструментом для работы с текстовыми журналами является командлет Get-Content, предназначенный для отображения содержимого текстового файла. Например, для вывода журнала сервиса WSUS в консоль можно использовать команду:
Get-Content -Path 'C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log' | Out-Host -Paging
Для вывода последних строк журнала существует параметр Tail, который в паре с параметром Wait позволит смотреть за журналом в режиме онлайн. Посмотрим, как идет обновление системы командой:
>Get-Content -Path "C:\Windows\WindowsUpdate.log" -Tail 5 -Wait
Смотрим за ходом обновления Windows.
Если же нам нужно отловить в журналах определенные события, то поможет командлет Select-String, который позволяет отобразить только строки, подходящие под маску поиска. Посмотрим на последние блокировки Windows Firewall:
Select-String -Path "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" -Pattern 'Drop' | Select-Object -Last 20 | Format-Table Line
Смотрим, кто пытается пролезть на наш дедик.
При необходимости посмотреть в журнале строки перед и после нужной, можно использовать параметр Context. Например, для вывода трех строк после и трех строк перед ошибкой можно использовать команду:
Select-String 'C:\Windows\Cluster\Reports\Cluster.log' -Pattern ' err ' ‑Context 3
Оба полезных командлета можно объединить. Например, для вывода строк с 45 по 75 из netlogon.log поможет команда:
Get-Content 'C:\Windows\debug\netlogon.log' | Select-Object -First 30 -Skip 45
Журналы системы ведутся в формате .evtx, и для работы с ними существуют отдельные командлеты. Для работы с классическими журналами («Приложение», «Система», и т.д.) используется Get-Eventlog. Этот командлет удобен, но не позволяет работать с остальными журналами приложений и служб. Для работы с любыми журналами, включая классические, существует более универсальный вариант ― Get-WinEvent. Остановимся на нем подробнее.
Для получения списка доступных системных журналов можно выполнить следующую команду:
Get-WinEvent -ListLog *
Вывод доступных журналов и информации о них.
Для просмотра какого-то конкретного журнала нужно лишь добавить его имя. Для примера получим последние 20 записей из журнала System командой:
Get-WinEvent -LogName 'System' -MaxEvents 20
Последние записи в журнале System.
Для получения определенных событий удобнее всего использовать хэш-таблицы. Подробнее о работе с хэш-таблицами в PowerShell можно прочитать в материале Technet about_Hash_Tables.
Для примера получим все события из журнала System с кодом события 1 и 6013.
Get-WinEvent -FilterHashTable @{LogName='System';ID='1','6013'}
В случае если надо получить события определенного типа ― предупреждения или ошибки, ― нужно использовать фильтр по важности (Level). Возможны следующие значения:
- 0 ― всегда записывать;
- 1 ― критический;
- 2 ― ошибка;
- 3 ― предупреждение;
- 4 ― информация;
- 5 ― подробный (Verbose).
Собрать хэш-таблицу с несколькими значениями важности одной командой так просто не получится. Если мы хотим получить ошибки и предупреждения из системного журнала, можно воспользоваться дополнительной фильтрацией при помощи Where-Object:
Get-WinEvent -FilterHashtable @{LogName='system'} | Where-Object -FilterScript {($_.Level -eq 2) -or ($_.Level -eq 3)}
Ошибки и предупреждения журнала System.
Аналогичным образом можно собирать таблицу, фильтруя непосредственно по тексту события и по времени.
Подробнее почитать про работу обоих командлетов для работы с системными журналами можно в документации PowerShell:
- Get-EventLog.
- Get-WinEvent.
PowerShell ― механизм удобный и гибкий, но требует знания синтаксиса и для сложных условий и обработки большого количества файлов потребует написания полноценных скриптов. Но есть вариант обойтись всего-лишь SQL-запросами при помощи замечательного Log Parser.
Работаем с журналами посредством запросов SQL
Утилита Log Parser появилась на свет в начале «нулевых» и с тех пор успела обзавестись официальной графической оболочкой. Тем не менее актуальности своей она не потеряла и до сих пор остается для меня одним из самых любимых инструментов для анализа логов. Загрузить утилиту можно в Центре Загрузок Microsoft, графический интерфейс к ней ― в галерее Technet. О графическом интерфейсе чуть позже, начнем с самой утилиты.
О возможностях Log Parser уже рассказывалось в материале «LogParser — привычный взгляд на непривычные вещи», поэтому я начну с конкретных примеров.
Для начала разберемся с текстовыми файлами ― например, получим список подключений по RDP, заблокированных нашим фаерволом. Для получения такой информации вполне подойдет следующий SQL-запрос:
SELECT
extract_token(text, 0, ' ') as date,
extract_token(text, 1, ' ') as time,
extract_token(text, 2, ' ') as action,
extract_token(text, 4, ' ') as src-ip,
extract_token(text, 7, ' ') as port
FROM 'C:\Windows\System32\LogFiles\Firewall\pfirewall.log'
WHERE action='DROP' AND port='3389'
ORDER BY date,time DESC
Посмотрим на результат:
Смотрим журнал Windows Firewall.
Разумеется, с полученной таблицей можно делать все что угодно ― сортировать, группировать. Насколько хватит фантазии и знания SQL.
Log Parser также прекрасно работает с множеством других источников. Например, посмотрим откуда пользователи подключались к нашему серверу по RDP.
Работать будем с журналом TerminalServices-LocalSessionManager\Operational.
Не со всеми журналами Log Parser работает просто так ― к некоторым он не может получить доступ. В нашем случае просто скопируем журнал из %SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-TerminalServices-LocalSessionManager%4Operational.evtx в %temp%\test.evtx.
Данные будем получать таким запросом:
SELECT
timegenerated as Date,
extract_token(strings, 0, '|') as user,
extract_token(strings, 2, '|') as sourceip
FROM '%temp%\test.evtx'
WHERE EventID = 21
ORDER BY Date DESC
Смотрим, кто и когда подключался к нашему серверу терминалов.
Особенно удобно использовать Log Parser для работы с большим количеством файлов журналов ― например, в IIS или Exchange. Благодаря возможностям SQL можно получать самую разную аналитическую информацию, вплоть до статистики версий IOS и Android, которые подключаются к вашему серверу.
В качестве примера посмотрим статистику количества писем по дням таким запросом:
SELECT
TO_LOCALTIME(TO_TIMESTAMP(EXTRACT_PREFIX(TO_STRING([#Fields: date-time]),0,'T'), 'yyyy-MM-dd')) AS Date,
COUNT(*) AS [Daily Email Traffic]
FROM 'C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking\*.LOG'
WHERE (event-id='RECEIVE') GROUP BY Date ORDER BY Date ASC
Если в системе установлены Office Web Components, загрузить которые можно в Центре загрузки Microsoft, то на выходе можно получить красивую диаграмму.
Выполняем запрос и открываем получившуюся картинку…
Любуемся результатом.
Следует отметить, что после установки Log Parser в системе регистрируется COM-компонент MSUtil.LogQuery. Он позволяет делать запросы к движку утилиты не только через вызов LogParser.exe, но и при помощи любого другого привычного языка. В качестве примера приведу простой скрипт PowerShell, который выведет 20 наиболее объемных файлов на диске С.
$LogQuery = New-Object -ComObject "MSUtil.LogQuery"
$InputFormat = New-Object -ComObject "MSUtil.LogQuery.FileSystemInputFormat"
$InputFormat.Recurse = -1
$OutputFormat = New-Object -ComObject "MSUtil.LogQuery.CSVOutputFormat"
$SQLQuery = "SELECT Top 20 Path, Size INTO '%temp%\output.csv' FROM 'C:\*.*' ORDER BY Size DESC"
$LogQuery.ExecuteBatch($SQLQuery, $InputFormat, $OutputFormat)
$CSV = Import-Csv $env:TEMP'\output.csv'
$CSV | fl
Remove-Item $env:TEMP'\output.csv'
$LogQuery=$null
$InputFormat=$null
$OutputFormat=$null
Ознакомиться с документацией о работе компонента можно в материале Log Parser COM API Overview на портале SystemManager.ru.
Благодаря этой возможности для облегчения работы существует несколько утилит, представляющих из себя графическую оболочку для Log Parser. Платные рассматривать не буду, а вот бесплатную Log Parser Studio покажу.
Интерфейс Log Parser Studio.
Основной особенностью здесь является библиотека, которая позволяет держать все запросы в одном месте, без россыпи по папкам. Также сходу представлено множество готовых примеров, которые помогут разобраться с запросами.
Вторая особенность ― возможность экспорта запроса в скрипт PowerShell.
В качестве примера посмотрим, как будет работать выборка ящиков, отправляющих больше всего писем:
Выборка наиболее активных ящиков.
При этом можно выбрать куда больше типов журналов. Например, в «чистом» Log Parser существуют ограничения по типам входных данных, и отдельного типа для Exchange нет ― нужно самостоятельно вводить описания полей и пропуск заголовков. В Log Parser Studio нужные форматы уже готовы к использованию.
Помимо Log Parser, с логами можно работать и при помощи возможностей MS Excel, которые упоминались в материале «Excel вместо PowerShell». Но максимального удобства можно достичь, подготавливая первичный материал при помощи Log Parser с последующей обработкой его через Power Query в Excel.
Приходилось ли вам использовать какие-либо инструменты для перелопачивания логов? Поделитесь в комментариях.
Журналы Windows играют ключевую роль в обеспечении безопасности, производительности и стабильности операционной системы. Они позволяют администраторам отслеживать события, выявлять проблемы и проводить анализ работы системы. В этой статье мы подробно рассмотрим, что такое журналы Windows, как они работают, какие виды журналов существуют, а также как их использовать для диагностики и мониторинга.
Ознакомиться с тарифами Windows хостинга можно тут
Что такое журналы Windows?
Журналы Windows — это записи, содержащие информацию о событиях, происходящих в операционной системе. Каждое событие записывается в виде записи журнала, которая включает в себя временную метку, источник события, уровень важности и описание события.
Зачем нужны журналы Windows?
Журналы служат нескольким целям:
- Мониторинг безопасности: Журналы помогают отслеживать попытки несанкционированного доступа и другие подозрительные действия.
- Диагностика проблем: При возникновении ошибок и сбоев журналы предоставляют информацию, необходимую для их устранения.
- Анализ производительности: Журналы могут помочь в выявлении узких мест в производительности системы.
- Отчетность: Журналы могут использоваться для создания отчетов о состоянии системы и безопасности.
Виды журналов Windows
Windows предлагает несколько типов журналов, каждый из которых предназначен для записи определенных событий:
1. Журнал приложений
Журнал приложений содержит записи о событиях, связанных с установленными приложениями. Это может включать ошибки, предупреждения и другую информацию, которую приложения отправляют в систему.
2. Журнал системных событий
Системный журнал фиксирует события, происходящие на уровне операционной системы. Это могут быть ошибки драйверов, проблемы с оборудованием и другие системные события.
3. Журнал безопасности
Журнал безопасности отслеживает события, связанные с безопасностью, такие как входы в систему, изменения прав доступа и попытки несанкционированного доступа.
4. Журнал установки
Журнал установки фиксирует события, связанные с установкой и обновлением программного обеспечения и драйверов.
5. Журнал Windows PowerShell
Этот журнал хранит записи о выполнении команд и скриптов в PowerShell, что полезно для администраторов и разработчиков.
Как получить доступ к журналам Windows
Для доступа к журналам Windows используется встроенная утилита «Просмотр событий».
Шаги для открытия «Просмотр событий»:
- Нажмите комбинацию клавиш Win + R, чтобы открыть окно «Выполнить».
- Введите команду
eventvwrи нажмите Enter. - В левой панели вы увидите различные категории журналов, такие как «Журналы Windows» и «Журналы приложений и служб».
Основные операции с журналами
Просмотр и фильтрация событий
- Просмотр событий: В правой части окна вы можете видеть список событий. Дважды щелкните на любое событие, чтобы просмотреть его детали.
- Фильтрация событий: Чтобы упростить поиск нужных событий, вы можете использовать фильтры. Нажмите на «Фильтр текущего журнала» в правой части окна и задайте параметры фильтрации (например, по уровню важности или источнику).
Экспорт и импорт журналов
Вы можете экспортировать журналы в файл для дальнейшего анализа или архивирования.
- Для экспорта: щелкните правой кнопкой на нужном журнале и выберите «Сохранить все события как…».
- Выберите формат файла (например, XML или EVTX) и укажите место для сохранения.
- Для импорта: используйте опцию «Открыть сохраненный журнал» в меню.
Очистка журналов
С течением времени журналы могут заполняться, и их очистка может быть необходима для управления дисковым пространством.
- Щелкните правой кнопкой мыши на журнале и выберите «Очистить журнал».
- Подтвердите действие.
Анализ событий в журналах Windows
Анализ журналов Windows может помочь в выявлении проблем и обеспечении безопасности. Рассмотрим несколько важных аспектов анализа:
1. Поиск ошибок
Ошибки и предупреждения в журналах обычно выделяются цветом. Просматривая журнал, обратите внимание на записи с уровнем «Ошибка» или «Предупреждение».
2. Аудит безопасности
Для обеспечения безопасности системы важно отслеживать записи в журнале безопасности. Проверьте, были ли попытки входа в систему с неправильным паролем или изменения прав доступа.
3. Мониторинг производительности
Системный журнал может помочь выявить проблемы с производительностью. Обратите внимание на события, связанные с высоким использованием ресурсов или сбоями оборудования.
4. Использование фильтров
Фильтры позволяют сосредоточиться на конкретных событиях. Вы можете фильтровать события по времени, уровню важности или источнику.
Устранение распространенных проблем
1. Проблемы с приложениями
Если приложение не работает должным образом, проверьте журнал приложений на наличие ошибок, связанных с данным приложением.
2. Проблемы с оборудованием
Журнал системных событий может содержать информацию о проблемах с оборудованием, таких как сбои драйверов или проблемы с жестким диском.
3. Проблемы с безопасностью
Если вы подозреваете, что система была скомпрометирована, проверьте журнал безопасности на наличие подозрительных действий.
4. Перегрузка журналов
Если журнал переполнен, это может привести к проблемам с записью новых событий. Регулярно очищайте и архивируйте журналы, чтобы избежать этой проблемы.
Настройка ведения журналов
1. Изменение параметров журнала
Вы можете настроить параметры ведения журналов, чтобы контролировать, как и когда они записываются. Например, вы можете установить максимальный размер журнала или выбрать, как система будет реагировать на переполнение.
2. Настройка аудита
Вы можете настроить аудит безопасности, чтобы отслеживать определенные действия, такие как вход в систему или изменения в политике безопасности.
Заключение
Журналы Windows являются мощным инструментом для мониторинга и анализа системы. Правильное использование журналов позволяет обеспечить безопасность, производительность и стабильность операционной системы. Надеемся, что эта статья поможет вам эффективно управлять и анализировать журналы Windows, а также быстро устранять проблемы.
Журнал событий Windows (Event Log) — это важный инструмент, который позволяет администратору отслеживать ошибки, предупреждения и другие информационные сообщения, которые регистрируются операционной системой, ее компонентами и различными программами. Для просмотра журнала событий Windows можно использовать графическую MMC оснастку Event Viewer (
eventvwr.msc
). В некоторых случаях для поиска информации в журналах событий и их анализа гораздо удобнее использовать PowerShell. В этой статье мы покажем, как получать информацию из журналов событий Windows с помощью командлета Get-WinEvent.
Содержание:
- Получение логов Windows с помощью Get-WinEvent
- Get-WinEvent: быстрый поиск в событиях Event Viewer с помощью FilterHashtable
- Расширенный фильтры событий Get-WinEvent с помощью FilterXml
- Получить логи Event Viewer с удаленных компьютеров
На данный момент в Windows доступны два командлета для доступа к событиям в Event Log: Get-EventLog и Get-WinEvent. В подавляющем большинстве случаев рекомендуем использовать именно Get-WinEvent, т.к. он более производителен, особенно в сценариях обработки большого количества событий с удаленных компьютеров. Командлет Get-EventLog является устаревшим и использовался для получения логов в более ранних версиях Windows. Кроме того, Get-EventLog не поддерживается в современных версиях PowerShell Core 7.x.
Получение логов Windows с помощью Get-WinEvent
Для использования команды Get-WinEvent нужно запустить PowerShell с правами администратора (при запуске Get-WinEvent от имени пользователя вы не сможете получить доступ к некоторым логам, например, к Security).
Для получения списка событий из определенного журнала, нужно указать его имя. В данном примере мы выведем последние 20 событий из журнала System:
Get-WinEvent -LogName Application -MaxEvents 20
Чаще всего вам нужно будет получать информацию из журналов System, Application, Security или Setup. Но вы можете указать и другие журналы. Полный список журналов событий в Windows можно получить с помощью команды:
Get-WinEvent -ListLog *
Например, чтобы вывести события RDP подключений к компьютеру, нужно указать лог Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational:
Get-WinEvent -LogName Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
Или получить логи SSH подключений к Windows из журнала OpenSSH/Operational:
Get-WinEvent -LogName OpenSSH/Operational
Можно выбрать события сразу из нескольких журналов. Например, чтобы получить информацию о ошибках и предупреждениях из журналов System и Application за последние 24 часа (сутки), можно использовать такой код:
$StartDate = (Get-Date) - (New-TimeSpan -Day 1)
Get-WinEvent Application,System | Where-Object {($_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning") -and ($_.TimeCreated -ge $StartDate )}
Чтобы вывести только определенные поля событий, можно использовать Select-Object или Format-Table:
Get-WinEvent -LogName System | Format-Table Machinename, TimeCreated, Id, UserID
Можно выполнить дополнительные преобразования с полученными данными. Например, в этом примере мы сразу преобразуем имя пользователя в SID:
Get-WinEvent -filterhash @{Logname = 'system'} |
Select-Object @{Name="Computername";Expression = {$_.machinename}},@{Name="UserName";Expression = {$_.UserId.translate([System.Security.Principal.NTAccount]).value}}, TimeCreated
Get-WinEvent: быстрый поиск в событиях Event Viewer с помощью FilterHashtable
Рассмотренный выше способ выбора определенных событий из журналов Event Viewer с помощью Select-Object прост для понимая, но выполняется крайне медленно. Это особенно заметно при выборке большого количества событий. В большинстве случаев для выборки событий нужно использовать фильтрацию на стороне службы Event Viewer с помощью параметра FilterHashtable.
Попробуем сформировать список ошибок и предупреждений за 30 дней с помощью Where-Object и FilterHashtable. Сравнима скорость выполнения этих двух команд PowerShell с помощью Measure-Command:
$StartDate = (Get-Date).AddDays(-30)
Проверим скорость выполнения команды с Where-Object:
(Measure-Command {Get-WinEvent Application,System | Where-Object {($_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning") -and ($_.TimeCreated -ge $StartDate )}}).TotalMilliseconds
Аналогичная команда с FilterHashtable:
(Measure-Command {Get-WinEvent -FilterHashtable @{LogName = 'System','Application'; Level =2,3; StartTime=$StartDate }})..TotalMilliseconds
В данном примере видно, что команда выборки событий через FilterHashtable выполняется в 30 раз быстрее, чем если бы обычный Where-Object (
2.5
сек vs
76
секунд).
Если вам нужно найти события по EventID, используйте следующую команду с FilterHashtable:
Get-WinEvent -FilterHashtable @{logname='System';id=1074}|ft TimeCreated,Id,Message
В параметре FilterHashtable можно использовать фильтры по следующим атрибутам событий:
- LogName
- ProviderName
- Path
- Keywords (для поиска успешных событий нужно использовать значение 9007199254740992 или для неуспешных попыток 4503599627370496)
- ID
- Level (1=FATAL, 2=ERROR, 3=Warning, 4=Information, 5=DEBUG, 6=TRACE, 0=Info)
- StartTime
- EndTime
- UserID (SID пользователя)
- Data
Пример поиска события за определенный промежуток времени:
Get-WinEvent -FilterHashTable @{LogName='System'; StartTime=(get-date).AddDays(-7); EndTime=(get-date).AddHours(-1); ID=1234}
Если нужно найти определенный текст в описании события, можно использовать такую команду:
Get-WinEvent -FilterHashtable @{logname='System'}|Where {$_.Message -like "*USB*"}
Расширенный фильтры событий Get-WinEvent с помощью FilterXml
Фильтры Get-WinEvent с параметром FilterHashtable являются несколько ограниченными. Если вам нужно использовать для выборки событий сложные запросы с множеством условий, нужно использовать параметр FilterXml, который позволяет сформировать запрос на выбор событий в Event Viewer с помощью XML запроса. Как и FilterHashtable, фильтры FilterXml выполняется на стороне сервера, поэтому результат вы получите довольно быстро.
Например, аналогичный запрос для получения последних ошибок из журнала System за последние 30 дней может выглядеть так:
$xmlQuery = @'
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[(Level=2 or Level=3) and TimeCreated[timediff(@SystemTime) <= 2592000000]]]</Select>
</Query>
</QueryList>
'@
Get-WinEvent -FilterXML $xmlQuery
Для построения кода сложных XML запросов можно использовать графическую консоль Event Viewer:
- Запустите
eventvwr.msc
; - Найдите журнал для которого вы хотите создать и выберите Filter Current Log;
- Выберите необходимые параметры запроса в форме. В этом примере я хочу найти события с определенными EventID за последние 7 дней от определенного пользователя;
- Чтобы получить код XML запроса для параметра FilterXML, перейдите на вкладку XML и скопируйте полученный код (CTRL+A, CTRL+C);
- Если нужно, вы можете вручную отредактировать данный запрос.
Для экспорта списка событий в CSV файл нужно использовать командлет Export-CSV:
$Events= Get-WinEvent -FilterXML $xmlQuery
$events| Export-CSV "C:\ps\FilterSYSEvents.csv" -NoTypeInformation -Encoding UTF8
Получить логи Event Viewer с удаленных компьютеров
Для получения события с удаленного компьютер достаточно указать его имя в параметре -ComputerName:
$computer='msk-dc01'
Get-WinEvent -ComputerName $computer -FilterHashtable @{LogName="System"; StartTime=(get-date).AddHours(-24)} | select Message,Id,TimeCreated
Можно опросить сразу несколько серверов/компьютеров и поискать на них определенные события. Список серверов можно получить из текстового файла:
$servers = Get-Content -Path C:\ps\servers.txt
Или из Active Directory:
$servers = (Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"').Name
foreach ($server in $servers) {
Get-WinEvent -ComputerName $server -MaxEvents 5 -FilterHashtable @{
LogName = 'System'; ID= 1234
} | Select-Object -Property ID, MachineName
}
Здесь есть другой пример для поиска событий блокировки учетной записи пользователя на всех контроллерах домена:
$Username = 'a.ivanov'
Get-ADDomainController -fi * | select -exp hostname | % {
$GweParams = @{
‘Computername’ = $_
‘LogName’ = ‘Security’
‘FilterXPath’ = "*[System[EventID=4740] and EventData[Data[@Name='TargetUserName']='$Username']]"
}
$Events = Get-WinEvent @GweParams
$Events | foreach {$_.Computer + " " +$_.Properties[1].value + ' ' + $_.TimeCreated}
}
Logs are constantly recording what is going on on your computer. They can
provide help in tracking what happens with your machine or with troubleshooting.
Logs are kept about both actions by a person or by a running process.
In Windows, logs that are saved contain information about applications and the
operating system itself. Moreover, these logs are structured and human-readable.
For viewing the logs, Windows uses its Windows Event Viewer. This
application displays the event logs and allows the user to search, filter,
export, and analyze background info. In this article, you will learn how to use
the features provided with this program. In addition, this article will also
explore the Event Viewer’s interface and features. Finally, you will also learn
about other application that has their own event viewer built-in, and we will
talk about creating your own repeating tasks.
Prerequisites
- Windows 10 installed
- Administration privileges
Step 1 — Accessing Event Viewer
Event viewer is a standard component and can be accessed in several ways. The
easiest way is to type event viewer to the start menu. If you prefer using
command prompt, you can access it by running the eventvwr command.
Event viewer is also accessible through the control panels. Open the control
panels and list them all by viewing them like small or large icons. After that,
select the Administrative Tools and find Event Viewer in the folder.
The application is user-friendly and provides an intuitive interface. The main
screen is divided into three column sections:
- Navigation page
- Detail page
- Action page
You can also create your own section. We will explain how to do that later in
the tutorial.
Step 2 — Understanding Navigation Page
The navigation page, which is by default positioned on the very left, provides
you with an option to choose the event log to view. Five categories can be found
under Windows logs:
- System — Logs created by the operating system
- Application— Logged by an application hosted locally
- Setup — Logs created in the process of installing or changing the Windows
installation - Security — Logs related to logins, privileges, and other similar events
- Forwarded Events — Events forwarded by other computers
There is also a category for Applications and Services Logs, which contains
logs of the individual applications and Hardware Events. Logs from PowerShell
and other command lines will also be stored there.
Step 3 — Viewing Log Details On Detail Page
When in the default tab, this page displays the Overview and Summary. Select
some item from the previously mentioned navigation page to see more details.
There are several log levels:
- Information — Successful action
- Warning — Occurring of an event that might bring problems
- Error — Occurring of a significant problem
- Critical — Severe problem occurred
You can also see Audit successes and failures, which are associated with
security events.
Events are listed chronologically, starting with the latest event on the very
top. You can furthermore click on the columns to edit the order and groupings.
You can click on the event to view more detailed information:
You can learn more about an event by double-clicking it:
Here you can see the name of the log, source, and other information about the
log.
The following popup window also has two tabs, General and Details. The
first tab shows more information about the error as described above. The second
tab shows the raw event data. You can switch between Friendly View and XML
View.
Step 4 — Using Actions Page
The last page located by default on the right side is the Actions page,
which provides you quick access to the features available to you at the moment.
This page is divided into two parts, the first containing actions available for
the selected Navigation page. The second contains actions available to the
selected event itself.
Various options are available:
Filtering Current Log
Allows you to set criteria for events to be displayed on the Details page.
Clearing Log Events
You can choose this option if the list becomes too large. This will delete all
events stored in the current log. You can check the total number of events by
going to the top directory in the navigation page:
Exporting Log Events
You can click on the Save All Events Asor Save All Events in Custom View As
to export all of the selected events into the special event file with the
.EVTX extension.
Step 5 — Creating Custom Views
Event Viewer gives you the option to create a custom view. To do so, select the
Custom Views folder on the Navigation page and click Create Custom View
on the Actions page. You can, for example, create a custom view for all Windows
Azure events with log level error that occurred in the last 12 hours:
After saving, your new view will now show in the Navigation tab.
You can also export your Custom View. Select it in the Navigation Page and find
an option called Export Custom View on the Actions Page. Enter the name for
the new .XML file you are about to create, and it is done.
You can import the custom view to any other Event Viewer by selecting the option
Import Custom View.
Navigating Summary View
The summary view is the first thing you will come in contact with when opening
the Event Viewer. It is at the top of the Navigation panel.
It includes:
- Overview
- Summary of Administrative Events — displays data and totals related to the
Event Viewer for the past week. - Recently Viewed Nodes — history of the viewed nodes filtered
chronologically while the most recent is at the top. You can double-click on
the node to open the location. - Log Summary — this section displays all of the major properties in each
log file. Double-click to get more details like the events for the viewed log.
Step 6 — Finding Other Application Logs
There are other logs with their event logging:
- DNS Manager
- IIS Access
- Task Scheduler History
- Failover Cluster Manager
- Windows Component Service
DNS Manager
If you run Windows Server that is provisioned as a DNS server, the DNS manager
is available. This manager has its list of events. From there, the DNS manager’s
event viewer works in a similar fashion as the one packed with Windows.
IIS Access
The Internet Information Services logs include info about requested URIs and
statuses. These logs are written in the location specified in the IIS Manager.
By default, the location is:
%SystemDrive%\\inetpub\\logs\\LogFiles
Task Scheduler Library
Task scheduler schedules many sorts of background tasks and applications. The
Task Scheduler Library is associated with it, and you can view it directly from
the application:
From the summary view, you can see the overview, task status, and active tasks.
In the task status, you can view all tasks started in some period.
Double-clicking on the task will give you more information.
In the section underneath, you can see all the active tasks that are currently
enabled and have not expired. Then, by double-clicking on the summary info about
the task, which includes the task name, next run time, triggers, and location,
you can again view more information.
Using this feature, you can display details about every single task and modify
it accordingly. The action page also slightly changes, and a new section for the
selected item is viewed. You can run, end, disable, delete or export information
about the task at your will.
From the action panel, you can also create your own task by selecting the option
Create Basic Task... or adding an existing one with Import Task... After
clicking the first opinion, you are presented with a task creator wizard to add
name, description, triggers, action, and finish statement to your custom task.
Failover Cluster Manager
This is a practical built-in application when running your Windows Server. This
service allows servers to work as a cluster. When one server’s hardware fails,
it is automatically detected and replaced by the other server. All network is
then re-routed to the working instance.
This application also has its local Event Viewer. Using this event viewer, you
can discover more in the events of your clusters failing or not working as
expected.
Windows Component Service
Another application is Windows Component Service Manager. It enables us to
configure DCOM applications on Windows. You can view its logs by clicking on the
local Event Viewer:
Conclusion
Windows and applications installed or associated with the operating system keep
records of various events. Understanding and finding these events can help you
if you are a system administrator, running your Windows server, or even just a
regular user.
Now you should know how to explore and use different methods to use these logs
to your advantage. In addition, you now know how to use the task scheduler and
create your own repeating tasks using it.
Jenda leads Growth at Better Stack. For the past 5 years, Jenda has been writing about exciting learnings from working with hundreds of developers across the world. When he’s not spreading the word about the amazing software built at Better Stack, he enjoys traveling, hiking, reading, and playing tennis.
Got an article suggestion?
Let us know
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Журналы сбоев и ошибок Windows являются важным инструментом для диагностики и решения проблем в операционной системе. Они хранят информацию о различных событиях, включая ошибки, предупреждения и критические сбои, которые происходят на компьютере. Просмотр журналов позволяет пользователям получить более глубокое понимание того, что происходит с их системой и помогает выявить причины возникших проблем.
В этой статье мы рассмотрим, как можно просматривать журналы сбоев и ошибок в Windows, а также какие инструменты можно использовать для этой цели. Мы рассмотрим основные способы доступа к журналам событий, а также дадим обзор инструментов, таких как Средство просмотра событий и Монитор надежности, которые помогут вам анализировать и интерпретировать информацию из журналов.
Основные аспекты
Журналы событий Windows содержат данные о неисправностях, возникших в оборудовании и программном обеспечении, а также об успешных операциях.
Чтобы просмотреть журналы событий разной важности и по разным категориям, можно воспользоваться инструментом просмотра событий (eventvwr.msc) или монитором надежности (Панель управления > Система и безопасность > Безопасность и обслуживание > Обслуживание > Просмотр истории надежности).
Операционная система Windows аккуратно регистрирует и сохраняет информацию о своей деятельности, особенно если произошли какие-либо сбои. Эти данные собираются из различных приложений Windows и компонентов операционной системы.
Эти ошибки сохраняются в каталоге «C:\WINDOWS\system32\config\». Однако при попытке доступа к этому каталогу вы обнаружите файлы, которые невозможно открыть в обычных приложениях, что мешает просмотру журналов ошибок. Для этой цели в операционной системе Windows предусмотрены два полезных инструмента:
- Средство просмотра событий Windows
- Монитор надежности
Эти инструменты позволяют просматривать и анализировать различные ошибки и предупреждения, возникающие на вашем компьютере. Поэтому, если ваши приложения продолжают выдавать ошибки или вы сталкиваетесь с «синим экраном смерти» (BSoD) и не понимаете причину, вы можете обратиться к этим инструментам, чтобы выяснить причину возникновения ошибки и способы ее устранения.
Этот гайд описывает, как получить доступ к средству просмотра событий и монитору надежности на компьютере с операционной системой Windows, а также как использовать их для анализа различных типов ошибок и их причин.
Что такое журналы событий Windows?
Журналы событий Windows — это встроенный инструмент операционной системы, который записывает информацию о различных событиях, происходящих на компьютере. Эти события могут включать ошибки, предупреждения, информационные сообщения и другие сведения о работе системы.
Просмотр журналов событий Windows может помочь пользователям выявить и исправить различные проблемы, такие как сбои программного обеспечения, аномальное поведение системы, неполадки оборудования и другие ошибки, которые могут возникнуть в процессе работы операционной системы.
Журналы событий Windows содержат разнообразную информацию о различных событиях, происходящих на компьютере. Вот основные типы информации, которые могут содержаться в журналах событий:
-
Время и дата: Записи в журналах событий содержат информацию о точном времени и дате каждого события.
-
Идентификатор события: Каждое событие имеет уникальный идентификатор, который помогает идентифицировать его тип и характер.
-
Уровень критичности: События могут быть отмечены разными уровнями критичности, такими как ошибка, предупреждение или информационное сообщение. Это помогает пользователю определить важность события.
-
Описание события: Каждое событие сопровождается описанием, которое содержит подробную информацию о произошедшем событии, его причинах и последствиях.
-
Информация о приложениях и службах: Журналы событий могут содержать информацию о приложениях, службах и компонентах операционной системы, которые вызвали событие или на которые оно повлияло.
-
Дополнительные данные: В некоторых случаях журналы событий могут содержать дополнительные данные, такие как имена файлов, коды ошибок, сообщения от системных компонентов и другие сведения, которые помогают понять причину возникновения события.
Типы и категории журналов событий Windows
Журналы событий Windows разделены на различные типы и категории, чтобы облегчить организацию и поиск информации о событиях на компьютере.
Вот основные типы журналов событий:
-
Журналы приложений (Application): Этот тип журналов содержит информацию о событиях, связанных с приложениями, установленными на компьютере. Сюда входят ошибки, предупреждения и информационные сообщения, связанные с работой различных программ.
-
Журналы системы (System): В этом типе журналов содержится информация о событиях, связанных с работой операционной системы Windows. Сюда входят сообщения о запуске и выключении компьютера, драйверах устройств, системных службах и т. д.
-
Журналы безопасности (Security): Эти журналы содержат информацию о безопасности компьютера, включая попытки входа в систему, аудит доступа к файлам и папкам, а также другие события, связанные с безопасностью.
-
Журналы установки (Setup): В этом типе журналов содержится информация о процессе установки и удаления программного обеспечения на компьютере.
-
Журналы аппаратного обеспечения (Hardware Events): Эти журналы содержат информацию о событиях, связанных с аппаратным обеспечением компьютера, таких как ошибка чтения диска, отказ устройства и т. д.
-
Журналы служб (Forwarded Events): В этом типе журналов содержится информация о событиях, перенаправленных из других компьютеров в сети.
Вот пять основных категорий журналов событий в Windows:
- Информация (Information): Указывает на нормальное функционирование службы или приложения. Например, когда служба Windows успешно запускается, в журнале событий будет зафиксировано информационное сообщение.
-
Предупреждение (Warning): Эти события указывают на потенциальные проблемы или ненормальные условия, которые могут потенциально привести к ошибкам или нежелательным последствиям.
-
Ошибка (Error): Эти события указывают на фактические ошибки или неудачные операции, которые произошли в системе, и могут потребовать вмешательства для их исправления.
-
Аудит успеха (Success Audit): Эти события отображают успешные операции или события, связанные с безопасностью, такие как успешные попытки входа в систему или успешное завершение операций аудита.
-
Аудит сбоев (Failure Audit): Эти события указывают на неудачные операции или события, связанные с безопасностью, такие как неудачные попытки входа в систему или другие сбои в безопасности.
Как просмотреть журналы событий в Windows
С помощью средства просмотра событий
Чтобы просмотреть журналы событий в Windows с помощью средства просмотра событий, следуйте этим шагам:
-
Откройте Средство просмотра событий: Нажмите на клавишу Windows, введите «Средство просмотра событий» в строке поиска и выберите соответствующий результат.
-
Навигация к журналам событий: В левой панели Средства просмотра событий выберите пункт «Журналы Windows». Здесь вы увидите список доступных журналов событий.
-
Выбор журнала событий: Выберите нужный журнал событий, например, «Система», «Приложение» или «Безопасность».
-
Просмотр журнала событий: После выбора журнала событий вы увидите список событий в правой части окна. Прокручивайте этот список для просмотра всех событий.
-
Фильтрация событий (опционально): Для удобства вы можете фильтровать события по различным критериям, таким как уровень важности, источник или ключевые слова.
-
Просмотр подробностей: Чтобы узнать подробности о конкретном событии, щелкните на нем. В нижней части окна появится информация о выбранном событии.
-
Закрытие Средства просмотра событий: После завершения просмотра журналов событий вы можете закрыть окно Средства просмотра событий.
С помощью монитора надежности
Чтобы просмотреть журналы событий в Windows с помощью монитора надежности, выполните следующие шаги:
-
Откройте Панель управления: Нажмите на клавишу Windows, введите «Панель управления» в строке поиска и выберите соответствующий результат.
-
Выберите категорию «Система и безопасность»: В Панели управления найдите и выберите категорию «Система и безопасность».
-
Откройте монитор надежности: В разделе «Система и безопасность» найдите и выберите опцию «Администрирование». Затем щелкните по ссылке «Техническое обслуживание».
-
Навигация к журналам событий: В техническом обслуживании выберите пункт «Просмотреть историю надежности».
-
Выбор журнала событий: В списке журналов событий выберите нужный журнал, например, «Система», «Приложение» или «Безопасность».
-
Просмотр журнала событий: После выбора журнала событий вы увидите список событий в правой части окна монитора надежности.
-
Фильтрация событий (опционально): При необходимости вы можете использовать фильтры для отображения определенных типов событий или определенного временного периода.
-
Просмотр подробностей: Чтобы узнать подробности о конкретном событии, выберите его в списке. Подробная информация об этом событии отобразится в нижней части окна.
-
Закрытие монитора надежности: После завершения просмотра журналов событий вы можете закрыть окно монитора надежности.
Заключительные слова
Понимание содержания журналов событий и ошибок является не менее важным, чем доступ к ним. Простое просматривание журналов событий не имеет смысла, если вы не способны понять их содержание и значение.
В этом подробном руководстве вы узнаете, как просматривать и интерпретировать журналы системных событий, а также как искать ошибки разной степени серьезности в различных категориях. Кроме того, вы сможете отыскать события за определенные периоды времени, если не знаете точно, когда произошла ошибка.
