Гид по технологиям

LNAV — просмотрщик логов в терминале

• 4 min read • Инструменты • Обновлено 18 Nov 2025
LNAV: терминальный просмотр логов на Linux
LNAV: терминальный просмотр логов на Linux

Что такое LNAV

LNAV (Lateral Navigation) — лёгкий curses‑просмотрщик логов для Linux и macOS. Он индексирует сообщения по времени и типу, объединяет логи из нескольких файлов в одном окне, позволяет выполнять SQL‑запросы к логам и применять фильтры в реальном времени. Поддерживает распознавание многих форматов логов, подсветку по уровню (info/warn/error) и чтение gzip/bzip2.

Короткое определение: LNAV — терминальный инструмент для быстрого интерактивного анализа логов.

Ключевые возможности

  • Поиск «по мере ввода»: строки автоматически ищутся и подгружаются по мере появления.
  • SQL‑запросы к логам для точного анализа и агрегаций.
  • Поддержка множества форматов логов и автоматическое определение шаблонов.
  • Подсветка уровней логов (информация/предупреждение/ошибка).
  • Чтение сжатых файлов (gzip, bzip2) без предварительной распаковки.
  • Просмотр нескольких файлов в одном окне и «живое» обновление.

Требования

  • Сервер с Ubuntu 16.04 (или рабочая машина с Linux/macOS).
  • Неразовый пользователь с правами sudo.

Установка

В репозитории Ubuntu 16.04 lnav уже доступен, поэтому установить можно одной командой:

sudo apt-get install lnav -y

Проверить версию:

lnav -V

(команда выведет версию, например: lnav 0.6.2)

Быстрый обзор опций

Все доступные опции можно посмотреть так:

lnav -h

(Ниже — полный оригинальный вывод справки, сохранённый без изменений.)

usage: lnav [-hVsar] [logfile1 logfile2 ...]

A curses-based log file viewer that indexes log messages by type
and time to make it easier to navigate through files quickly.

Key bindings:
  ?     View/leave the online help text.
  q     Quit the program.

Options:
  -h         Print this message, then exit.
  -C         Check configuration and then exit.
  -d file    Write debug messages to the given file.
  -V         Print version information.
  -s         Load the most recent syslog messages file.
  -a         Load all of the most recent log file types.
  -r         Load older rotated log files as well.
  -t         Prepend timestamps to the lines of data being read in
             on the standard input.
  -w file    Write the contents of the standard input to this file.

Optional arguments:
  logfile1          The log files or directories to view.  If a
                    directory is given, all of the files in the
                    directory will be loaded.

Examples:
  To load and follow the syslog file:
    $ lnav -s

  To load all of the files in /var/log:
    $ lnav /var/log

  To watch the output of make with timestamps prepended:
    $ make 2>&1 | lnav -t

Version: lnav 0.6.2

Основные сценарии использования

  1. Просмотр логов из /var/log (все типы последних логов):
sudo lnav
  1. Просмотр логов из конкретной директории, например Apache2:
sudo lnav /var/log/apache2
  1. Подключение старых (ротированных) логов:
sudo lnav -r
  1. Подключить метки времени при чтении stdin (полезно при просмотре вывода других команд):
sudo lnav -t
  1. Загрузить все последние типы логов:
sudo lnav -a

(Во всех примерах код блоки приведены без изменений — LNAV ожидает те же опции.)

Горячие клавиши и представления

Запустите lnav (sudo или под пользователем, который может читать нужные логи):

sudo lnav

Из основных клавиш:

  • q — выйти.
  • ? — справка внутри интерфейса.
  • i — переключиться в гистограмму (histogram) по времени сообщений.
  • p — показать результат парсера (parser view) и распознанные поля.
  • m — пометить/отметить строки или файлы.

Примеры интерфейса (изображения сохранены в оригинальном каталоге):

Просмотр логов в LNAV

Гистограмма и горячие клавиши LNAV

Результат парсера в LNAV

Пометка топовых строк в LNAV

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

Быстрая методика анализа инцидента с LNAV (mini‑SOP)

  1. Откройте все релевантные логи вместе:
sudo lnav /var/log/foo /var/log/bar
  1. Используйте i для просмотра гистограммы и найдите аномалии по временным всплескам.
  2. Нажмите p, чтобы увидеть распарсенные поля (таймстемпы, уровни, PID, и т.д.).
  3. Примените поиск и фильтры (наберите текст — поиск работает в реальном времени).
  4. Выполните SQL‑запросы для агрегации (пример ниже).
  5. Отметьте важные строки m и экспортируйте результат при необходимости.

Пример простого SQL‑запроса (в интерфейсе LNAV, вводится в командной строке):

SELECT log_time, level, message FROM log WHERE level = 'ERROR' ORDER BY log_time DESC LIMIT 50;

Чек‑лист по ролям

Администратор систем:

  • Убедиться, что у пользователя есть права на чтение нужных логов.
  • Запустить lnav с sudo для системных логов.
  • Использовать -r для старых записей.

Разработчик приложений:

  • Открыть директорию приложения (например, /var/log/myapp).
  • Искать по уникальным маркерам (request_id, trace_id) через поиск.
  • Экспортировать отфильтрованные записи для пост‑обработки.

Операционный инженер (on‑call):

  • Быстро переключиться на гистограмму и найти всплески.
  • Фильтровать по ERROR/WARN и оценить масштаб.
  • Пометить критичные строки и создать тикет с выдержкой.

Когда LNAV не подходит

  • Для очень больших лог‑хранилищ (типа terabytes) лучше использовать централизованные решения (ELK/Graylog/Promtail+Loki) с индексацией и долгосрочным хранением.
  • Для сложной корреляции между машинами в распределённой системе удобнее использовать распределённые трейсинг‑решения (Jaeger, Zipkin).
  • Если требуется хранение и ролевой доступ к логам с аудитом — выбирайте специализированные системы.

Альтернативы

  • grep/awk/sed + less — для простых быстрых проверок.
  • multitail — мониторинг нескольких логов в реальном времени.
  • ELK Stack (Elasticsearch, Logstash, Kibana) — для масштабных аналитики и визуализации.
  • Grafana Loki — для лёгкой агрегации логов и интеграции с Grafana.

Ментальные модели для работы с логами

  • Событие → Контекст → Сопоставление: найдите событие (error), соберите контекст (предыдущие 1–2 минуты), сопоставьте с другими логами по таймстемпу.
  • От аномалии к гипотезе: гистограмма → выделение всплеска → фильтрация по уровню → проверка причин.

Критерии приёмки

  • LNAV успешно открывает заданные логи (без ошибок доступа).
  • Можно найти и пометить записи по ключевому слову.
  • Гистограмма отражает временную картину активности.
  • SQL‑запросы возвращают ожидаемые агрегаты.

Глоссарий (1‑строчно)

  • Log: запись о событии в приложении/системе.
  • Timestamp: временная метка события.
  • Rotated log: старый файл лога, переименованный системой ротации.
  • Parser: компонент, разбивающий лог на поля (time, level, message).

Заключение

LNAV — удобный инструмент «на каждый день» для инженеров и разработчиков. Он прост в установке, позволяет быстро находить и агрегировать события и отлично работает при локальном анализе логов. Для масштабного хранения и ретроспективного анализа имеет смысл комбинировать LNAV с централизованными решениями.

Если есть вопросы или нужен пример SQL‑запроса под вашу структуру логов — оставьте комментарий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро