Найти в Дзене

«Первые шаги в администрировании: как читать логи и находить ошибки».

Лог‑файл (log file) — это журнал событий системы или программы. Каждая запись фиксирует: Шаг 1. Откройте файл Шаг 2. Найдите ключевые слова Ищите маркеры проблем: Пример поиска в Linux: bash grep -i "error" /var/log/syslog
grep -Ei "error|fail|warn" /var/log/app.log Шаг 3. Отфильтруйте по времени Сосредоточьтесь на периоде, когда возникла проблема: bash grep "Oct 15 14:" /var/log/syslog # события за 15 октября, 14:00–14:59
journalctl --since "1 hour ago" # логи за последний час (systemd) Шаг 4. Определите источник Посмотрите, какой процесс или сервис вызвал ошибку: Пример фильтрации в Linux: bash journalctl -u apache2 -p err # ошибки сервиса apache2
grep "192.168.1.100" /var/log/auth.log # действия с IP 192.168.1.100 Шаг 5. Проанализируйте сообщение об ошибке Разберите текст ошибки: Шаг 6. Проверьте цепочку событий Просмотрите записи до и после ошибки — это поможет найти причину. Например: Шаг 7. Используйте код ошибки Вбейте код и описание в поисковик. Вы найдё
Оглавление

Что такое лог‑файлы

Лог‑файл (log file) — это журнал событий системы или программы. Каждая запись фиксирует:

  • дату и время события;
  • источник (программа, сервис, компонент);
  • тип события (информация, предупреждение, ошибка);
  • описание (что произошло).

Основные типы логов

  1. Системные логи — события ОС (загрузка, ошибки драйверов, работа служб).
  2. Логи серверов — запросы к веб‑серверу, время обработки, коды ответов.
  3. Сетевые логи — подключения, ошибки оборудования, попытки доступа.
  4. Логи безопасности — авторизация, подозрительная активность, атаки.
  5. Логи приложений — ошибки и события внутри программ.
  6. Логи баз данных — запросы, сбои, медленные операции.

Где искать логи

  • Linux: папка /var/log/:
    /var/log/syslog или /var/log/messages — общие системные события;
    /var/log/auth.log — логи аутентификации;
    /var/log/kern.log — сообщения ядра;
    логи веб‑серверов: /var/log/apache2/ или /var/log/nginx/.
  • Windows: «Просмотр событий» (Event Viewer) → журналы Windows.
  • Приложения: папка logs/ в директории программы.

Форматы и расширения

  • .log — стандартный текстовый формат (например, access.log, error.log).
  • .txt — простой текстовый журнал.
  • .out — вывод приложений.
  • .err — поток ошибок (stderr).
  • структурированные форматы (JSON, XML) — для автоматической обработки.

Как читать логи: пошаговая инструкция

Шаг 1. Откройте файл

  • В Linux:bashless /var/log/syslog # постраничный просмотр
    tail -f /var/log/syslog # мониторинг в реальном времени
  • В Windows:
    откройте «Просмотр событий»;
    или текстовый редактор (Notepad, VS Code) для .log-файлов.

Шаг 2. Найдите ключевые слова

Ищите маркеры проблем:

  • ERROR, ERR — ошибки;
  • WARN, WARNING — предупреждения;
  • FAIL, FAILED — сбои;
  • TIMEOUT — превышение времени ожидания;
  • CRITICAL, EMERG — критические ситуации.

Пример поиска в Linux:

bash

grep -i "error" /var/log/syslog
grep -Ei "error|fail|warn" /var/log/app.log

Шаг 3. Отфильтруйте по времени

Сосредоточьтесь на периоде, когда возникла проблема:

bash

grep "Oct 15 14:" /var/log/syslog # события за 15 октября, 14:00–14:59
journalctl --since "1 hour ago" # логи за последний час (systemd)

Шаг 4. Определите источник

Посмотрите, какой процесс или сервис вызвал ошибку:

  • имя сервиса (например, sshd, apache2);
  • IP‑адрес клиента (для сетевых запросов);
  • идентификатор процесса (PID).

Пример фильтрации в Linux:

bash

journalctl -u apache2 -p err # ошибки сервиса apache2
grep "192.168.1.100" /var/log/auth.log # действия с IP 192.168.1.100

Шаг 5. Проанализируйте сообщение об ошибке

Разберите текст ошибки:

  • код ошибки (например, HTTP 500, MySQL 1045);
  • путь к файлу или ресурсу;
  • стек вызовов (для программируемых ошибок);
  • контекст (какие действия предшествовали ошибке).

Шаг 6. Проверьте цепочку событий

Просмотрите записи до и после ошибки — это поможет найти причину. Например:

  1. предупреждение о нехватке памяти;
  2. ошибка выделения ресурсов;
  3. падение сервиса.

Шаг 7. Используйте код ошибки

Вбейте код и описание в поисковик. Вы найдёте:

  • официальную документацию;
  • обсуждения на форумах;
  • инструкции по исправлению.

Инструменты для анализа

Linux:

  • grep — поиск по шаблону;
  • tail -f — мониторинг новых записей;
  • less — просмотр больших файлов;
  • journalctl — работа с логами systemd;
  • awk, sed — обработка текста.

Windows:

  • «Просмотр событий» (Event Viewer);
  • PowerShell — фильтрация и анализ.

Универсальные решения:

  • ELK Stack (Elasticsearch, Logstash, Kibana) — сбор, индексация, визуализация;
  • Splunk, Graylog — платформы для анализа логов;
  • Weblog Expert, Analog — анализаторы веб‑логов.

Что искать в логах в разных ситуациях

  • Система упала: ищите CRITICAL, EMERG, segmentation fault, kernel panic.
  • Приложение не запускается: проверьте ERROR в логах приложения и зависимостей.
  • Медленная работа: ищите slow query, timeout, долгие запросы в access.log.
  • Проблемы с доступом: смотрите auth.log (Linux) или журналы безопасности (Windows) — коды 401, 403, неудачные попытки входа.
  • Подозрительная активность: аномальные IP, массовые запросы, попытки брутфорса.

Признаки повреждённого лог‑файла

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

Решение: используйте резервную копию или инструменты восстановления.

Практические советы

  1. Начинайте с конца файла — последние записи чаще всего содержат нужную ошибку.
  2. Фильтруйте пошагово: сначала по времени, затем по ключевым словам.
  3. Проверяйте соседние строки — контекст важен.
  4. Используйте цвета (например, grep --color) для выделения ошибок.
  5. Автоматизируйте мониторинг: настройте алерты на ключевые ошибки.
  6. Регулярно проверяйте логи — даже если всё работает. Предупреждения (WARN) могут сигнализировать о будущих сбоях.
  7. Настройте ротацию логов — большие файлы сложно анализировать.
  8. Сохраняйте исторические данные — они помогут отследить повторяющиеся проблемы.

Пример разбора ошибки

Ситуация: сайт недоступен.

  1. Открываем tail -f /var/log/apache2/error.log.
  2. Видим строку:[Fri Oct 15 14:30:22.123456] [error] [client 192.168.1.100] AH00130: Unable to connect to database.
  3. Анализируем:
    время: 14:30;
    тип: error;
    источник: Apache;
    причина: не удалось подключиться к БД.
  4. Проверяем логи БД (/var/log/mysql/error.log) и статус сервиса (systemctl status mysql).
  5. Находим причину (например, БД остановлена) и устраняем.

Итог: чтение логов — навык, который развивается с практикой. Начните с простых задач: поиск ошибок по ключевым словам, анализ времени событий. Постепенно вы научитесь быстро находить и устранять проблемы. Если хотите разобрать конкретный пример — приведите фрагмент лога, и я помогу его расшифровать!