Консольная программа для просмотра логов: преобразует JSON и logfmt в удобный для чтения формат, поддерживает фильтрацию, сортировку и слежение за обновлениями.
tstack/lnav
Терминальный просмотрщик логов, который объединяет несколько файлов, отслеживает изменения и ищет по ним с помощью SQL и регулярных выражений.
Open source альтернатива:Splunk
- Звёзды
- 10,754
- Форки
- 414
- Открытые issues
- 297
- Последний коммит
- 4 дня назад
Что это?
lnav — просмотрщик логов, работающий в терминале. Получив файлы или каталоги, он при необходимости распаковывает их, определяет формат и объединяет записи из нескольких файлов в одном представлении, упорядоченном по времени. lnav продолжает отслеживать изменения файлов, обрабатывает их переименования и подхватывает новые файлы, появляющиеся в отслеживаемых каталогах.
В интерактивном интерфейсе lnav позволяет переходить между ошибками и предупреждениями, искать и фильтровать данные с помощью регулярных выражений или выражений SQLite, а также подсвечивать шаблоны. Структурированные строки, например JSON-lines, можно форматировать для удобного чтения; гистограмма показывает объём сообщений во времени. Кроме того, сообщения логов можно запрашивать с помощью SQLite прямо в просмотрщике.
Это удобная замена связке tail, grep и less, когда нужно работать сразу с несколькими логами. lnav доступен в виде статического бинарного файла для Linux, macOS и Windows, а также через Homebrew и пакеты FreeBSD.
Ключевые возможности
- 01Объединяет несколько файлов и каталогов в одном представлении, упорядоченном по времени.
- 02Распаковывает файлы и автоматически определяет форматы логов.
- 03Отслеживает изменения и переименования файлов, а также подхватывает новые файлы в отслеживаемых каталогах.
- 04Фильтрует данные и выполняет поиск с помощью регулярных выражений или выражений SQLite.
- 05Форматирует JSON-lines для удобного чтения и показывает гистограмму сообщений во времени.
- 06Позволяет выполнять SQL-запросы к сообщениям логов прямо в просмотрщике.
Сценарии использования
- Поиск причин ошибок сразу в нескольких серверных логах.
- Чтение архивов ротированных или сжатых логов без ручной распаковки.
- Мониторинг логов в реальном времени с переходом между предупреждениями и ошибками.
- Передача вывода journalctl в удобное для навигации представление.
Быстрый старт
- 1
Установите lnav с помощью Homebrew в macOS
brew install lnav - 2
Установите lnav во FreeBSD
pkg install lnav - 3
Или скачайте статически скомпонованный бинарный файл для Linux, macOS или Windows со страницы релизов
- 4
Укажите lnav файлы журналов или каталоги с ними
lnav /path/to/file1 /path/to/dir
Что важно знать
- Для сборки из исходного кода требуется множество зависимостей, включая PCRE2, SQLite, libcurl, libarchive и инструментарий Rust.
- Для чтения файлов pcap требуется программа tshark из Wireshark.
Темы
Частые вопросы
- Что такое lnav?
- Терминальный просмотрщик логов, который объединяет несколько файлов, отслеживает изменения и ищет по ним с помощью SQL и регулярных выражений. lnav — просмотрщик логов, работающий в терминале. Получив файлы или каталоги, он при необходимости распаковывает их, определяет формат и объединяет записи из нескольких файлов в одном представлении, упорядоченном по времени. lnav продолжает отслеживать изменения файлов, обрабатывает их переименования и подхватывает новые файлы, появляющиеся в отслеживаемых каталогах.
- lnav можно использовать бесплатно? Какая у него лицензия?
- lnav распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lnav всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lnav — 18 окт. 2026 г..
- Для чего можно использовать lnav?
- Поиск причин ошибок сразу в нескольких серверных логах. Чтение архивов ротированных или сжатых логов без ручной распаковки. Мониторинг логов в реальном времени с переходом между предупреждениями и ошибками. Передача вывода journalctl в удобное для навигации представление.
- Как установить lnav?
- Установите lnav с помощью Homebrew в macOS: brew install lnav Установите lnav во FreeBSD: pkg install lnav Или скачайте статически скомпонованный бинарный файл для Linux, macOS или Windows со страницы релизов Укажите lnav файлы журналов или каталоги с ними: lnav /path/to/file1 /path/to/dir
- Где скачать lnav?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tstack/lnav
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Функциональный терминальный пейджер для просмотра текста: режимы колонок, слежения и exec, а также поиск по мере ввода.
Терминальный интерфейс на Go для анализа логов в реальном времени: графики, разбивка по уровням важности, фильтрация по regex и необязательные AI-инсайты.
Терминальный интерфейс с управлением с клавиатуры для подключения к разным базам данных SQL и выполнения запросов, вдохновлённый lazygit.
Небольшая консольная утилита на Go для подсветки, фильтрации и преобразования логов в формате logfmt, переданных через stdin.
Терминальный интерфейс для Git на Rust: управление с клавиатуры, подготовка изменений, коммиты, ветки, stash и просмотр истории.