Просмотр логов с помощью MultiTail






Думаю, многим известна утилита tail, которая позволяет просматривать последние строки текстового файла. Удобнейшая вещь при просмотре лог-файлов. Ко всему прочему tail может работать в т. н. follow-режиме. В этом режиме утилита «следит» за изменениями в файле и выводит новые строки в поток вывода по мере их появления в режиме реального времени. Довольно часто необходимо бывает следить одновременно более чем за одним файлом. Согласитесь, переключение между несколькими терминалами -  не самый удобный способ. К счастью, существует MultiTail — утилита, основным назначением которой является вывод содержимого одновременно более чем одного файла в одно окно.


Список возможностей MultiTail впечатляет. Назвать его просто улучшенным tail было бы, мягко говоря, неуважительно. Взгляните на некоторые, основные возможности утилиты:

  • вывод более чем одного файла в терминал, который делится на т. н. окна;
  • терминал может разделяться на окна как горизонтально, так и вертикально;
  • окна можно создавать, перемещать, закрывать, объединять и временно скрывать;
  • в одно окно можно выводить более одного файла;
  • поиск как в одном окне, так и во всех сразу;
  • фильтрация строк перед выводом при помощи регулярных выражений;
  • мерцание экрана или звуковое оповещение при обнаружении определённого текста;
  • подсветка цветом текста на основе регулярных выражений;
  • направление вывода в текстовые файлы (работает, подобно tee);
  • работа в режиме syslog-сервера;
  • подавление вывода дублирующихся строк;
  • изменение конфигурации MultiTail «на лету» в ответ на изменения в наблюдаемом файле;
  • наблюдение за потоком стандартного ввода;
  • преобразование IP-адресов в имена хостов, значений errno в текстовые описания, etc;
  • разнообразные варианты обрезки длинных строк: справа, слева, определённую часть;
  • горизонтальная и вертикальная прокрутка, режим переноса длинных строк;
  • и многое, многое другое!

Впечатляет? Что ж, давайте установим и попробуем понаблюдать за лог-файлами в системе. MultiTail присутствует в репозитариях многих систем, так что вы можете установить его штатными средствами. В Ubuntu достаточно команды:

Во FreeBSD из портов можно установить так:

После установки можно сразу же приступать к работе. Вот так выглядит лог-файл Squid (обратите внимание на автоматическое обратное разрешение имён хостов):

Несколько некрасиво получается с учётом переноса строк. Можно попросить multitail обрезать строки справа (оставлять только начало строки):

или слева (оставлять только конец строки):

Следим за пингом google.com:

Усложняем. Следим за пингом и поглядываем на протокол Squid:

Наблюдаем за двумя пингами и лог-файлом:

Вариант с использованием вертикальных областей (опция «-s 2» делит терминал на две вертикальные области):

Вывод двух команд в одно  окно (опция «-L» добавляет вывод команды в окно предыдущей) и просмотр двух лог-файлов:

Просмотр лога Apache. Опцией «-cS apache» сообщаем multitail, что при выводе лог-файла необходимо использовать цветовую схему «apache». Полный список поставляемых в комплекте цветовых схем можно получить в /etc/multitail.conf.

Поиск и подсветка при помощи регулярных выражений:

Вот такая небольшая демонстрация основных, на мой взгляд, возможностей multitail получилась. Ещё раз повторюсь: утилита очень мощная и гибкая. Чего только стоит возможность выполнения указанной команды при соответствии какой-либо строки регулярному выражению! В общем, ставьте, пробуйте, читайте документацию и вы получите в своё распоряжение мощный инструмент мониторинга системы и оповещения о нужных вам событиях, фиксируемых многими приложениями в обычных текстовых лог-файлах. Удачи!




Просмотр логов с помощью MultiTail: 4 комментария

  1. Какая полезная вещь. Последняя картинка только не загрузилась только у меня?

Комментарии запрещены.