Онлайн мониторинг логов

Если Вам необходимо мониторить один/два файла логов в режиме онлайн (не требуется поиск по истории), есть отличная утилита под названием frontail написанная на Node.js для стриминга логов.

Разберемся в её настройке и особенностях работы.

Онлайн мониторинг логов
Пример работы

Для установки и начала работы утилиты достаточно выполнить:
npm i frontail -g

frontail /var/log/syslog

и перейти по ссылке: http://127.0.0.1:9001

Характеристики

  • Ротация логов
  • Авто-прокрутка
  • Маркировка логов
  • Количество непрочитанных логов в favicon
  • Темы (светлая и тёмная)
  • Подсветка текста
  • Поиск (Tab для фокусировки, Esc очистить)
  • Мониторинг нескольких файлов логов
  • Базовая авторизация

Опции установки

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


frontail [options] [file ...]

Options:

  -h, --help                    output usage information
  -V, --version                 output the version number
  -h, --host <host>             listening host, default 0.0.0.0
  -p, --port <port>             listening port, default 9001
  -n, --number <number>         starting lines number, default 10
  -l, --lines <lines>           number on lines stored in browser, default 2000
  -t, --theme <theme>           name of the theme (default, dark)
  -d, --daemonize               run as daemon
  -U, --user <username>         Basic Authentication username, option works only along with -P option
  -P, --password <password>     Basic Authentication password, option works only along with -U option
  -k, --key <key.pem>           Private Key for HTTPS, option works only along with -c option
  -c, --certificate <cert.pem>  Certificate for HTTPS, option works only along with -k option
  --pid-path <path>             if run as daemon file that will store the process id, default /var/run/frontail.pid
  --log-path <path>             if run as daemon file that will be used as a log, default /dev/null
  --url-path <path>             URL path for the browser application, default /
  --ui-hide-topbar              hide topbar (log file name and search box)
  --ui-no-indent                don't indent log lines
  --ui-highlight                highlight words or lines if defined string found in logs, default preset
  --ui-highlight-preset <path>  custom preset for highlighting (see ./preset/default.json)
  --path <path>                 prefix path for the running application, default /
  --disable-usage-stats         disable gathering usage statistics

Мониторинг нескольких файлов

[file …] поддерживает несколько путей, *, ? и другие спец.символы.

stdin

Используйте

-
для мониторинга stdin:


./server | frontail -
Онлайн мониторинг логов

Подсветка текста

—ui-highlight опция включает подсветку текста, по умолчанию используется конфигурация из ./preset/default.json :


{
    "words": {
        "err": "color: red;"
    },
    "lines": {
        "err": "font-weight: bold;"
    }
}

Данная запись означает, что везде где встретится err оно будет отмечено красным цветом, строка содержащая err будет отмечена жирным шрифтом.

При подключении пользовательского файла с настройками подсветки, по-мимо указания —ui-highlight-preset <path> также необходимо указывать —ui-highlight в противном случае текст не будет подсвечиваться.

Доступные конфигурации:

  • default
  • npmlog
  • python

По умолчанию будет отправляться статистика по использованию приложения, чтобы этого не происходило нужно добавить опцию —disable-usage-stats