lnav (Log File Navigator) — это консольная утилита для просмотра и анализа логов в Linux.

  • Чтение и поиск по логам различных сервисов (syslog, apache, nginx и др.)
  • Быстрая фильтрация и выделение нужных записей
  • Цветовая подсветка и навигация по ошибкам
  • SQL-запросы к логу прямо из интерфейса для отчетов

Через apt:

    sudo apt-get install lnav 

Через snap:

    sudo snap install lnav 

Скачивание последней версии с GitHub:

    wget https://github.com/tstack/lnav/releases/latest/download/lnav_amd64.deb
    sudo dpkg -i lnav_amd64.deb

Открыть логи:

    lnav /var/log/syslog
    lnav /var/log/*.log

Поиск:

  /ошибка        // поиск слова "ошибка" 

Навигация:

gg начало файла
G конец файла
e / E след./пред. ошибка
h j k lнавигация как в vim

SQL-запрос:

 SELECT log_level, COUNT(*) FROM log GROUP BY log_level;

Запись отчёта в файл:

 :write-csv-to logs.csv
filter-in ERROR Показывать только ошибки
filter-out DEBUG|ERRORСкрыть DEBUG или ERROR
filter-in user=vasyaПоказывать строки по пользователю
filter-out nginxСкрыть логи определённого сервиса

Сочетания клавиш

Нажатие Альтернатива Команда
Пробел PgDn На страницу вниз
b Backspace На страницу вверх
j 🠗 Return На строку вниз
k 🠕 На строку вверх
h 🠔 Левая половина страницы. В представлении журнала — нажатие влево в начале текста покажет имя исходного файла, повторное — полный путь
Shift+h Shift+🠔 Десять столбцов влево
l 🠖 Правая половина страницы
Shift+l Shift+🠖 Десять столбцов вправо
Home g Верхняя часть представления
End G Нижняя часть представления
e Shift+e Следующая/предыдущая ошибка
w Shift+w Следующее/предыдущее предупреждение
n Shift+n Следующее/предыдущее поисковое совпадение
> < Следующее/предыдущее совпадение (по горизонтали)
f Shift+f Следующий/предыдущий файл
u Shift+u Следующая/предыдущая закладка
o Shift+o Вперёд/назад через сообщения журнала с соответствующим полем opid
y Shift+y Следующий/предыдущий результат SQL-запроса
s Shift+s Следующее/предыдущее замедление скорости сообщений
{ } Предыдущее/следующее местоположение в истории
Нажатие Альтернатива Команда
d Shift+d Вперёд/назад на 24 часа
1–6 Shift+1–6 Следующая/предыдущая *n × 10 минут* часа
7 8 Предыдущая/следующая минута
Нажатие Альтернатива Команда
m Отметить/снять отметку с верхней строки
Shift+m Отметить/снять отметку с диапазона строк от последней отмеченной до верхней
Shift+j Отметить/снять отметку со следующей строки после ранее отмеченной
Shift+k Отметить/снять отметку с предыдущей строки
c Копировать отмеченные строки в буфер обмена
Shift+c Очистить выделенные строки
Нажатие Альтернатива Команда
? Просмотр/выход из встроенной справки
q Возврат к предыдущему виду/выход
Shift+q Возврат к предыдущему представлению/выход при совпадении верхнего времени
a Восстановить вид, отображённый ранее с помощью q/Q
Shift+a Восстановить вид, соответствующий верхнему времени представлений
Shift+p Переключение в/из «красивого» печатного вида журнала или текстовых файлов
Shift+t Отображение прошедшего времени между строками
t Переключиться в/из представления текстового файла
i Shift+i Переключиться в/из представления гистограммы
v Shift+v Переключиться в/из представления результатов SQL
p Переключить отображение результатов парсера журнала
Tab Фокус на панели конфигурации (фильтры, список файлов, гистограммы в SQL)
Ctrl+l Режим *lo-fi* (вывод без форматирования)
Ctrl+w Перенос слов
Ctrl+p Показать/скрыть панель предварительного просмотра данных
Ctrl+f Включить/выключить все фильтры текущего представления
x Скрыть поля сообщений журнала (заменяются тремя маркерами)
= Приостановить/возобновить загрузку нового файла
Нажатие Команда
Ctrl+R Сброс текущего состояния сессии
Нажатие Команда
/ Поиск строк по регулярному выражению
; Открыть интерфейс SQLite для выполнения SQL-операторов
: Выполнить внутреннюю команду (см. раздел «Команды»)
\ Выполнить скрипт lnav из каталога формата
Ctrl+] Отменить запрос

Примечание: lnav удобен для экспресс-аналитики и фильтрации больших логов — фильтры, поиск, SQL-запросы ускоряют обработку инцидентов.