Просмотрщик файлов журналов lnav для терминалов Linux и Unix

10 lug 2024 3 min di lettura
Просмотрщик файлов журналов lnav для терминалов Linux и Unix
Indice dei contenuti

Введение

Любой, кто работает разработчиком или системным администратором, знает, насколько важно использовать файлы журналов для выявления и устранения ошибок в системах Linux и Unix. Для просмотра этих файлов часто используются такие инструменты, как grep, Tail, Cat или Journalctl, но по мере увеличения количества журналов управление ими может усложниться. Именно здесь на помощь приходит lnav, расширенная программа просмотра файлов журналов, выходящая за рамки базовых функций. Этот инструмент не только распознает журналы, но также определяет временные метки, уровни журналов и другие важные детали. Он также позволяет выполнять SQL-запросы к стандартным файлам журналов и создавать собственные отчеты. Давайте посмотрим, как установить и использовать lnav.

Отличительные особенности lnav

  • Распаковка файлов журналов в реальном времени, аналогично утилитам z* в Linux и Unix.
  • Распознавание формата файла журнала.
  • Объединение файлов журналов в одно представление, отсортированное по времени.
  • Поддержка цвета в терминале для выделения ошибок и предупреждений.
  • Поддержка SSH (SFTP) для просмотра файлов журналов на удаленных компьютерах с Linux и Unix.
  • Следите за файлами по мере их переименования и находите новые файлы в указанных каталогах.
  • Создание указателя ошибок и предупреждений.
  • Распечатка в формате JSON.
  • Быстрая навигация между ошибками и предупреждениями.
  • Поиск с помощью регулярных выражений.
  • Выделение и фильтрация сообщений с помощью регулярных выражений или SQLite.
  • Просмотрите гистограмму сообщений с течением времени.
  • Запрос сообщений с помощью SQLite.

Монтаж

Вот как установить lnav в разных дистрибутивах Linux и Unix:

Дебиан/Убунту Linux:

sudo apt install lnav

CentOS/RHEL/Fedora/Rocky/Alma/Oracle Linux Сначала включите репозиторий EPEL, затем:

sudo dnf install lnav

Арч Линукс:

sudo pacman -S lnav

Альпийский Линукс:

apk add lnav

OpenSUSE/SUSE Linux

sudo zypper install lnav

macOS Сначала включите и установите Homebrew, затем:

brew install lnav

Или используйте:

sudo port install lnav

FreeBSD Юникс:

pkg install lnav

Использование LNAV

Синтаксис использования lnav прост:

# File di log
 lnav /percorso/del/file.log
 lnav /percorso/del/file1.log /percorso/del/file2.log

 # Directory
 lnav /percorso/della/app/log/dir1/lnav /percorso/della/app/log/dir1//var/log/# Wildcard
 lnav /var/log/nginx/app_*_error*log
 lnav /var/log/nginx/app_*_error*log /var/log/*.err

Использование SSH для удаленных хостов

lnav utente@nome-server:/var/log/file.log
 lnav utente@server1:/var/log/lnav utente@server1:/var/log/*.err

Использование с systemd-journald в системах Linux.

journalctl | lnav
 journalctl -f | lnav
 journalctl -u ssh.service | lnav

Чтобы найти ошибки, нажмите e, чтобы перейти к следующей ошибке, или Shift+E, чтобы вернуться к предыдущей. Используйте w и Shift+W для перехода к следующему или предыдущему оповещению. Нажмите q или CTRL+c, чтобы выйти. Для поиска текста в файлах нажмите /, чтобы открыть строку поиска, и TAB, чтобы автоматически заполнить строку поиска.

Просмотр журналов контейнера Docker

docker logs container-id | lnav
 docker logs -f container-id | lnav

Если идентификатор контейнера — 611ac85cc97d или называется «приложение»:

docker logs 611ac85cc97d | lnav
 docker logs -f app | lnav

Вы также можете использовать:

lnav docker://{container_id_or_name}/path/to/log/file
 lnav docker://{container_id_or_name}/var/dir1
 lnav docker://app/var/log/lnav docker://app/var/log/nginx/nginx.app.log

Мониторинг вывода любой команды

Многие команды генерируют выходные данные и журналы во время выполнения. Например, чтобы отслеживать вывод команды make во время компиляции:

lnav -e 'make -j8'

SQLite-интерфейс

lnav позволяет выполнять анализ журналов с помощью SQLite — очень мощная функция. Каждый формат журнала доступен через виртуальные таблицы, что позволяет выполнять SQL-запросы к журналам. Например:

lnav /var/log/nginx/www.example.com_https_access.log

Вы можете активировать приглашение SQL, нажав клавишу ; и напишите простой запрос типа:

SELECT * FROM logline LIMIT 10;

Результаты вы получите прямо в терминале.

Заключение

lnav — это расширенный инструмент для просмотра файлов журналов с функциями, позволяющими выполнять запросы SQL, создавать отчеты и многое другое. Он предлагает простой и интуитивно понятный пользовательский интерфейс и поддерживает множество форматов журналов, контейнеры Linux и удаленный просмотр через SSH. Этот инструмент настоятельно рекомендуется системным администраторам и разработчикам Linux/Unix. Вы можете начать использовать lnav с помощью этих простых команд или посетить страницу проекта для получения дополнительной информации.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.