Краткая инструкция по lnav
lnav (Log File Navigator) — это консольная утилита для просмотра и анализа логов в Linux.
Для чего нужна lnav
- Чтение и поиск по логам различных сервисов (syslog, apache, nginx и др.)
- Быстрая фильтрация и выделение нужных записей
- Цветовая подсветка и навигация по ошибкам
- SQL-запросы к логу прямо из интерфейса для отчетов
Полезные ссылки
Установка на Debian
Через 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-запросы ускоряют обработку инцидентов.