NetworkAdmin.ru
4.77K subscribers
224 photos
26 videos
2 files
511 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
👀 Анализ логов Windows с PowerShell и LogParser

1️⃣ Анализ логов через PowerShell. PowerShell позволяет извлекать события из журнала Windows через Get-WinEvent или Get-EventLog.

📍 Пример 1: Найти все неудачные попытки входа (Event ID 4625):


Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Select-Object TimeCreated, Id, Message


📍 Пример 2: Вывести последние 10 ошибок из системного журнала:


Get-WinEvent -LogName System -MaxEvents 10 | Where-Object { $_.Level -eq 2 }


📍 Пример 3: Фильтрация по дате и пользователю:


$start = (Get-Date).AddDays(-1) # Логи за последние 24 часа
Get-WinEvent -LogName Security | Where-Object { $_.TimeCreated -ge $start -and $_.Message -match "admin" }


PowerShell удобен, но не всегда эффективен при анализе больших логов. Тут поможет LogParser.

2️⃣ LogParser: SQL-запросы к логам Windows. LogParser - инструмент от Microsoft, который позволяет выполнять SQL-запросы к журналам событий, файлам и даже реестру.

⚙️ Установка: Скачиваем LogParser с официального сайта Microsoft и устанавливаем.

📍 Пример 1: Вывести все ошибки из системного журнала:


LogParser.exe "SELECT TimeGenerated, EventID, Message FROM System WHERE EventType = 1" -i:EVT


📍 Пример 2: Найти неудачные попытки входа:


LogParser.exe "SELECT TimeGenerated, SID, Message FROM Security WHERE EventID = 4625" -i:EVT


📍 Пример 3: Вывести топ-10 процессов, потребляющих ресурсы:


LogParser.exe "SELECT TOP 10 Image, COUNT(*) AS Hits FROM 'C:\Windows\System32\winevt\Logs\Application.evtx' GROUP BY Image ORDER BY Hits DESC" -i:EVT


LogParser умеет анализировать не только логи, но и файлы CSV, IIS-логи, текстовые файлы и даже WMI-запросы.

#windows #logs

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
📄 Разделение логов по уровням и сервисам с systemd-journald

Если вы работаете на современном дистрибутиве linux, то почти наверняка используете systemd, а значит - и journald для сбора логов. Это система логирования, которая умеет куда больше, чем просто показывать логи командой journalctl. Сегодня - о том, как удобно фильтровать и разделять логи по уровню важности (info, warning, error и т.д.) и сервисам, чтобы быстро находить нужную информацию.

▪️ Фильтрация логов по юниту. Чтобы посмотреть логи конкретного сервиса:


journalctl -u nginx.service


Добавьте -b для вывода только с текущей загрузки:


journalctl -u ssh.service -b


▪️ Логи по уровню важности. Вы можете указать минимальный уровень важности:


journalctl -p err # Только ошибки и критичнее


Список уровней (от менее к более важным):

0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug


Пример: показать все warning и выше от sshd:


journalctl -u ssh.service -p warning


▪️ Ограничение по времени. Чтобы не утонуть в огромных логах:


journalctl --since "1 hour ago"
journalctl --since "2025-09-18" --until "2025-09-19 03:00"


▪️ Разделение логов по каталогам. По умолчанию journald пишет в /run/log/journal (в RAM), если /var/log/journal отсутствует. Чтобы сохранять логи между перезагрузками:


mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald


▪️ Настройка persist-логирования и лимитов. В файле /etc/systemd/journald.conf можно настроить:


Storage=persistent
SystemMaxUse=500M
RuntimeMaxUse=100M
MaxRetentionSec=7day


После правок - перезапустите journald:


systemctl restart systemd-journald


▪️ Глубокие фильтры. Вывести только ошибки от ядра:


journalctl _TRANSPORT=kernel -p err


Фильтр по PID:


journalctl _PID=1234


По имени бинарника:


journalctl _COMM=nginx


#logs #systemd

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135
👀 Смотрим логи systemd через браузер

Systemd умеет не только собирать и хранить логи, но и отдавать их по HTTP. Для этого есть служба systemd-journal-gatewayd, которая позволяет просматривать журнал прямо в браузере. Настраивается все буквально в пару шагов (пример для debian).

▪️ Установка и запуск. Устанавливаем пакет:


apt install systemd-journal-remote


Запускаем службу:


systemctl start systemd-journal-gatewayd.service


По умолчанию используется порт 19531.

▪️ Просмотр логов. Обзор всех логов:

http://10.25.1.55:19531/browse


Только логи текущей загрузки:


http://10.25.1.55:19531/entries?boot


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

▪️ Работа через curl. Те же данные можно забирать в JSON-формате. Например, логи для ssh.service:


curl --silent -H 'Accept: application/json' \
'http://10.25.1.55:19531/entries?UNIT=ssh.service'


▪️ Логи с удаленных машин. systemd-journal-gatewayd умеет работать не только с локальным журналом, но и с логами, собранными с других серверов. Для этого можно указать директорию с журналами:


systemd-journal-gatewayd -D /path/to/logs


#systemd #logs

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8