Поиск по сайту:

Как установить и использовать Lnav Log Viewer в Ubuntu 16.04 LTS


На этой странице

  1. Требования
  2. Установить Lnav
  3. Работа с Lnav
  4. Использовать горячую клавишу с Lnav
  5. Заключение

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. Вы также можете обратиться к его официальному сайту для получения более подробной информации. Не стесняйтесь комментировать, если у вас есть какие-либо вопросы.