Как установить и использовать Lnav Log Viewer в Ubuntu 16.04 LTS
На этой странице
- Требования
- Установить Lnav
- Работа с Lnav
- Использовать горячую клавишу с Lnav
- Заключение
LNAV, также известный как Lateral Navigation, представляет собой бесплатное расширенное средство просмотра файлов журнала с открытым исходным кодом, которое можно использовать для поиска информации о просматриваемых файлах вместе с отметками времени и уровнями журнала. LNAV — это средство просмотра файлов журнала командной строки, созданное для небольших решений. Он прост, удобен в использовании и настраивается. LNAV — это полностью бесплатное приложение, работающее в операционных системах Linux и Mac. Это позволяет пользователю отображать журналы из нескольких файлов в одном окне, и вы также можете видеть обновление этих журналов в реальном времени.
LNAV имеет множество функций, некоторые из них перечислены ниже:
- Позволяет вести журнал запросов с помощью SQL.
- Возможность обнаружения и чтения журналов из различных форматов журналов.
- Есть функции осветления, которые помогают пользователям легко находить различия между информацией, предупреждениями и ошибками.
- Автоматическое извлечение данных из сжатых файлов, таких как gzip и bzip2.
- Возможность поиска в журналах по мере ввода. Новые строки журнала автоматически загружаются и просматриваются по мере их добавления.
В этом руководстве мы объясним, как установить и использовать lnav на сервере Ubuntu 16.04.
Требования
- Сервер под управлением Ubuntu 16.04.
- Пользователь без полномочий root с привилегиями sudo.
Установить Lnav
По умолчанию lnav доступен в репозитории по умолчанию Ubuntu 16.04. Таким образом, вы можете установить его, просто выполнив следующую команду:
sudo apt-get install lnav -y
После установки lnav вы можете просмотреть версию lnav, выполнив следующую команду:
lnav -V
Вы должны увидеть следующий вывод:
lnav 0.6.2
Работа с Лнав
Вы можете просмотреть все параметры lnav, используя следующую команду:
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
Теперь давайте запустим команду lnav, чтобы увидеть информацию в реальном времени на основе самых последних меток времени из всех файлов журнала. Эта команда соберет журнал из всех файлов внутри каталога /var/log.
sudo lnav
Вы должны увидеть следующий вывод:
Jan 28 16:56:01 icingaclient wpa_supplicant[926]: wlan0: CTRL-EVENT-SCAN-STARTED Jan 28 16:59:46 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 16:59:46 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 16:59:46 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 273 seconds. Jan 28 16:59:46 icingaclient NetworkManager[865]:(wlan0): DHCPv4 state changed reboot -> renew Jan 28 16:59:46 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 16:59:46 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 16:59:46 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 16:59:46 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 16:59:46 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 16:59:46 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 16:59:46 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jan 28 17:04:19 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 17:04:19 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:04:20 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 226 seconds. Jan 28 17:04:20 icingaclient NetworkManager[865]: (wlan0): DHCPv4 state changed renew -> renew Jan 28 17:04:20 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:04:20 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:04:20 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:04:20 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:04:20 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:04:20 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:04:20 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jan 28 17:05:01 icingaclient CRON[3964]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1) Jan 28 17:08:06 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 17:08:06 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:08:06 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 297 seconds. Jan 28 17:08:06 icingaclient NetworkManager[865]: (wlan0): DHCPv4 state changed renew -> renew Jan 28 17:08:06 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:08:06 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:08:06 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:08:06 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:08:06 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:08:06 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:08:06 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Если вы хотите просмотреть журнал из каталога /var/log/apache2, выполните следующую команду:
sudo lnav /var/log/apache2
Иногда последняя информация недоступна в самых последних файлах. Таким образом, вы можете отобразить информацию из старых лог-файлов, используя опцию -r:
sudo lnav -r
Вы должны увидеть следующий вывод:
Jan 28 17:04:20 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 226 seconds. Jan 28 17:04:20 icingaclient NetworkManager[865]:(wlan0): DHCPv4 state changed renew -> renew Jan 28 17:04:20 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:04:20 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:04:20 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:04:20 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:04:20 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:04:20 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:04:20 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jan 28 17:05:01 icingaclient CRON[3964]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1) Jan 28 17:08:06 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 17:08:06 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:08:06 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 297 seconds. Jan 28 17:08:06 icingaclient NetworkManager[865]: (wlan0): DHCPv4 state changed renew -> renew Jan 28 17:08:06 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:08:06 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:08:06 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:08:06 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:08:06 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:08:06 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:08:06 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jan 28 17:12:47 icingaclient dnsmasq[1174]: nameserver 192.168.137.1 refused to do a recursive query Jan 28 17:13:03 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 17:13:03 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:13:03 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 291 seconds.
Вы также можете просмотреть файл журнала с отметками времени, используя параметр -t
:
sudo lnav -t
Вы должны увидеть следующий вывод:
Jan 28 17:08:06 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:08:06 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 297 seconds. Jan 28 17:08:06 icingaclient NetworkManager[865]:(wlan0): DHCPv4 state changed renew -> renew Jan 28 17:08:06 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:08:06 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:08:06 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:08:06 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:08:06 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:08:06 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:08:06 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher' Jan 28 17:12:47 icingaclient dnsmasq[1174]: nameserver 192.168.137.1 refused to do a recursive query Jan 28 17:13:03 icingaclient dhclient: DHCPREQUEST of 192.168.137.101 on wlan0 to 192.168.137.1 port 67 (xid=0xcd468e) Jan 28 17:13:03 icingaclient dhclient: DHCPACK of 192.168.137.101 from 192.168.137.1 Jan 28 17:13:03 icingaclient dhclient: bound to 192.168.137.101 -- renewal in 291 seconds. Jan 28 17:13:03 icingaclient NetworkManager[865]: (wlan0): DHCPv4 state changed renew -> renew Jan 28 17:13:03 icingaclient NetworkManager[865]: address 192.168.137.101 Jan 28 17:13:03 icingaclient NetworkManager[865]: prefix 24 (255.255.255.0) Jan 28 17:13:03 icingaclient NetworkManager[865]: gateway 192.168.137.1 Jan 28 17:13:03 icingaclient NetworkManager[865]: nameserver '192.168.137.1' Jan 28 17:13:03 icingaclient NetworkManager[865]: domain name 'mshome.net' Jan 28 17:13:03 icingaclient dbus[779]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper) Jan 28 17:13:03 icingaclient dbus[779]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Чтобы загрузить все самые последние типы файлов журнала, выполните следующую команду:
sudo lnav -a
Используйте горячую клавишу с Lnav
Вы также можете перемещаться по выходным данным команды lnav, используя различные варианты горячих клавиш.
Сначала запустите команду lnav:
sudo lnav
Вы должны увидеть следующий вывод:
Теперь используйте клавишу i
на клавиатуре, чтобы переключить вывод lnav на вид гистограммы, как показано ниже:
Затем используйте клавишу p
, чтобы просмотреть результат анализатора журнала, как показано ниже:
Затем используйте клавишу m
, чтобы отметить верхние файлы журнала, как показано ниже:
Заключение
Я надеюсь, что теперь вы можете легко определять проблемы с помощью lnav. Вы также можете обратиться к его официальному сайту для получения более подробной информации. Не стесняйтесь комментировать, если у вас есть какие-либо вопросы.