Рисование Числами

Если вы хотите оценить свои файлы журнала, вполне возможно, что воспользуетесь средством просмотра журнала. Простейшие программы такого рода представят данные в виде таблицы, более сложные – как минимум выведут небольшую столбчатую, круговую или линейную диаграмму. Как бы то ни было, эти графические представления являются просто моментальным снимком. Больше разъяснений смогла бы внести возможность отслеживать нагрузку веб-сервера за какой-либо период времени.

Технической визуализацией занимаются такие программы, как Gource, code_swarm, Logstalgia, Fudgie, Conky и cpuplayer. Каждая из них имеет очень узкую сферу применения. Logstalgia, например, анимирует журналы регистрации доступа к веб-серверу, а Gource раскрывает изменения в системе управления версиями. Каждое из средств также использует различный формат визуализации. Однако точки и круги кажутся довольно популярным методом.

Все кандидаты были разработаны для стандартных настольных ПК и не нацелены для прямого использования на (виртуальном) сервере. Кроме некоторых исключений, администратору необходимо переместить данные для анализа на свой собственный компьютер. Logstalgia и Gource выводят свои графические данные с помощью интерфейса OpenGL.

Gource

Содержимое системы управления версиями похоже на разноцветное дерево – как минимум, если администратор позволит Gource это сделать. После запуска программы вы вначале увидите маленькие цветные шарики, каждый из которых отвечает за свой (исходный) файл. Цвет шариков зависит от типа файлов: файлы С++, например, окрашены в синий. Все файлы, размещенные в общей папке, собраны в небольшую кучку. Gource отображает структуру папки в виде тонких белых веток

Рисунок 1: Gource отображает собственный SVN репозиторий. Конечно, статическое изображение не сравнится с анимацией

Разработчики проекта изображают элементы Gource как аватары. Они используют конус света для подсветки только что созданных или измененных файлов. Тем самым менеджер проекта или администратор может по аватару легко отслеживать файлы, созданные или измененные разработчиком (а также дату создания или изменения).

Программы визуализации для своих целей обращаются к репозиториям, которые принадлежат Subversion, Git, Mercurial и Bazaar. Однако администраторы также могут обучить средства работать с другими форматами журнала.

Gource отвечает на два вопроса: какие разработчики были особенно активны и как изменялась структура проекта со временем. Плотные скопления цветных точек обозначают большое количество различных файлов в папке и могут также являться индикатором плохо структурированного проекта.

Рисунок 2:Даже с небольшим количеством файлов выходные данные Gource могут быть неразборчивыми, что приводит к исчезновению деталей

Это также относится к чёткому ветвлению, что обозначает громоздкую структуру папок.

Наконец, администраторы могут взглянуть на активность проекта: большое количество подсвеченных лучей обозначает большую активность. Но при очень масштабных проектах трудно отслеживать действия, несмотря на наличие функции замедленного воспроизведения и опций навигации. Ядро Linux, например, выглядит как большая хлопушка.

code_swarm

Одной из альтернатив Gource является программа code_swarm, которая написана на Java и уже считается довольно старой. Разработчики программы описывают ее как «эксперимент в органической визуализации ПО”. Как и Gource, code_swarm анимирует изменения, сделанные в системе управления версиями проекта. Файлы представлены в виде точек. Опять же, их цвет обозначает тип файла.

Рисунок 3: Графика, представленная code_swarm, отображает файлы в системе управления версиями и напоминает карту звёздного неба

Если кто-либо изменяет файл, соответсвующая точка передвигается к имени программиста. Code_swarm постепенно скрывает неактивных разработчиков. Кроме того, гистограмма в нижней части экрана отображает недавнюю активность. Пиками обозначено большое количество изменений. Исходя из размера имени,  вы можете узнать, какой разработчик в последнее время был очень усердным.

Logstalgia

Если вы хотите взглянуть, как веб-сервер играет в понг, тогда стоит выбрать Logstalgia. Эта небольшая программа считывает и отображает журналы доступа, хранящиеся на сервере как маленькие точки. Они перемещаются от исходного IP-адреса или доменного имени слева экрана к запрошенному URL адресу на сервере справа.

Рисунок 4: Если сервер получает слишком много запросов, даже натренированный глаз сможет упустить главное

Предоставляемые в Logstalgia файлы журналов должны иметь обычный либо смешанный формат, который используется также в Apache и Nginx.

Каждому хосту назначается уникальный цвет, который также появляется в запросах Logstalgia. Это позволяет администратору легко различать точки, пока они двигаются слева направо. Когда сервер отвечает на запрос, небольшой столбик отправляет соответствующую точку назад. Если же запрос завершился ошибкой, точка вылетает за правый край экрана. В таком случае индикатор состояния начинает быстро мигать.

Такая игра в понг происходит в режиме реального времени. Logstalgia мягко пропускает периоды простоя. Если вы смотрите на веб-сайт лишь с несколькими запросами в день, то увидите только несколько точек, летающих по экрану. И наоборот, если у вас очень большое количество посетителей, всё, что сможете наблюдать – это хаос из пикселей.

Даже если вы остановите анимацию при помощи нажатия клавиши «Пробел» или воспользуетесь кнопками «+» и «-» для увеличения или уменьшения скорости анимации, вам все еще будет трудно интерпретировать происходящее. Вы можете увидеть лишь то, какой хост сделал много запросов и какие запросы для каких URL адресов чаще заканчивались сообщениями об ошибке.

Как только свободное место в левой части экрана заканчивается, Logstalgia объединяет URL адреса, но это препятствует проведению более детального анализа для более крупных сайтов. Программа как минимум формирует группы, где это необходимо. К примеру, все запрошенные изображения (URL адреса, заканчивающиеся на .png, .gif или .jpg) указываются в правой стороне экрана под заголовком Изображения (Images).

Также Logstalgia может непрерывно вести мониторинг журнала доступа, что превращает программу в привлекательное средство мониторинга. Если Вы запустите ее в отдельном окне, то можете краем глаза следить, когда нагрузка на сервер непропорционально увеличивается, тем самым позволяя Вам вмешаться.

Fudgie

Fudgie также работает с журналами доступа. Выходные данные похожи на данные Logstalgia: хосты, указанные слева, подают запросы в форме кругов в центр экрана.

Рисунок 5: Fudgie запускает запросы в центр экрана в качестве кругов

Чем больше круг, тем крупнее запрос. В правой стороне экрана находятся запрошенные URL адреса, которые в свою очередь посылают круг в середину. В конечном счёте все круги медленно падают через воронку в нижнюю часть экрана. Кроме того, Fudgie вычисляет число запросов, сделанных за минуту. Если вы захотите, программа может сама зайти на веб-сервер и извлечь файлы журнала.

В отличие от Logstalgia, администраторы не могут видеть, какой запрос к какому URL адресу был сделан и имела ли место ошибка. Всё, что видно из кругов, собирающихся в воронку, это какой хост максимально загрузил сервер своими запросами. Наиболее часто запрашиваемый URL адрес создает наибольшее количество кругов. Таким образом, наиболее плотный луч обозначает многочисленные запросы, сделанные в быстрой последовательности, которые могут перегрузить сервер.

Если вы хотите попробовать Fudgie, будьте готовы к довольно сложной установке. Вам потребуется среда Ruby со специальными пакетами, а также нужно будет создать файл конфигурации в формате YAML. Кроме того, установка Fudgie на данные дистрибутивы подразумевает некоторые усилия и знание Ruby.

Пользователям Ubuntu также потребуется установить Ruby 1.9, объявить ее стандартной системой Ruby, затем удалить запрос версии из исходной программной версии Fudgie (удалить запятую в 28 строке и все последующие символы в файле lib/gl_tail.rb) и установить все пакеты, которые последовательно будет запрашивать Fudgie.

В конце концов, в нашей тестировочной лаборатории для написания данной статьи воронка не работала стабильно; все круги падали прямо в бездну. Автор Fudgie описывает свой программный код как «ужасный». И я не буду с ним спорить.

Conky

В сети и в хранилищах дистрибутивов доступно огромное количество небольших програм, которые отображают активность процессора и использование системы, а также подобных виджетов или апплетов для настольных сред. Как бы то ни было, одна программа особо привлекает внимание – популярное средство Conky, которое является наиболее универсальным.

В отличие от некоторых из своих конкурентов, Conky позволяет пользователям влиять на способ отображения активности процессора или его использования и самим его конфигурировать. По умолчанию информация выводится в виде чисел, простых линеек или гистограм. Обычно Conky сохраняет результат прямо на рабочий стол – а точнее, в корневое окно. Но по желанию Conky будет выводить информацию в отдельное (прозрачное) окно.

Рисунок 6: Conky не особо привлекает внимание своим простым стандартным файлом конфигурации

Администраторы могут «оживить» выводимую информацию, немного изменив файл конфигурации: от цветовых схем до изогнутых линий, настроить можно практически всё.

Рисунок 7: Conky с грамотно измененным файлом конфигурации. Администраторы могут найти огромное количество советов по конфигурации в интернете

Интернет просто изобилует примерами. В своем сообщении Пушакр Гаур (Pushakr Gaur) представляет небольшую галерею отменной графики.

Детище Хенрика Брикс Андерсена (Henrik Brix Andersen) было также довольно разумным: фоновым изображением он выбрал набросок своего блокнота, а информацию Conky он разместил в нужных местах с помощью стрелок. В конечном итоге, данная графика содержит только столбчатые диаграммы, изогнутые под различными углами, а также разумно размещенные цифры, которые немного сложнее прочитать, чем их стандартные аналоги.

Кроме информации об использовании процессора, Conky может выводить различные данные о системе, в том числе входящий и исходящий сетевой траффик и затраты памяти. Программа ведет журнал о входящих email сообщениях и даже позволяет Вам интегрировать уже устаревающий XMMS аудиоплеер. В общей сложности Conky предоставляет более чем 250 источников данных. Для дополнительных функций и провайдеров информации пользователи могут обратиться к Shell или Lua скриптам.

По умолчанию Conky оторбажает лишь текущую информацию об активной системе. Вам необходимо считать сохраненную информацию с помощью соответствующего скрипта, обработать ее и передать Conky для визуализации. И наоборот, Conky может сохранять отображаемые данные в файл журнала.

cpuplayer

В cpuplayer применяется немного другой подход: в нём используется барицентрическая система координат. Возможно, это звучит довольно сложно. Однако выглядит всё как треугольник, где каждый процессор представлен в виде точки.

Рисунок 8: Cpuplayer, отображающий 4 активных процессора, из которых лишь один используется в достаточной мере

Если один из процессоров не используется, точка, которая его обозначает, передвигается к левому нижнему углу. Если он активно работает, то точка перемещается вверх. Если значение времени, использованного системой, высоко, это отображается в правом нижнем углу.

Расположение треугольника ясно показывает, какие процессоры работают, объем нагрузки и ее источник. Цветная сетка также позволяет довольно четко прочитать каждую нагрузку: Вам нужно всего лишь определить, в каком из маленьких треугольников находится процессор, затем дойти по линии сетки до края и прочитать значение шкалы. Представление в виде треугольника немного непривычное, но через какое-то время весь процесс прочтения идёт быстрее и с более точными результатами, особенно если сравнить с маленькими столбчатыми диаграммами, которые используются в аналогичных программах.

К сожалению, cpuplayer не может проводить мониторинг активной системы. Он визуализирует лишь прошлые журналы, которые должны иметь очень специфичный формат. Например, если формат данных mpstat, сперва нужно его изменить с помощью собственного скрипта. Также cpuplayer отображает лишь изменение нагрузки с течением времени. Пользователю придётся самому узнать, почему ядро внезапно начало активно использовать один процессор.

Выводы

Программы, которые были рассмотрены, предоставляют великолепную возможность заглянуть в журналы доступа, управление версией, а также использование процессора. Выразительность генерируемых изображений и анимации ограничена.

В конце концов, маловероятно, что такие программы, как Logstalgia, с разноцветными точками, летающими по экрану, способны предоставить больше информации, чем простое прочтение объемных журналов доступа, несмотря на всю свою привлекательную графику.

Графические анализаторы журналов, используемые для других целей, смогут предупредить администратора о проблемах. К примеру, если в Logstalgia видите слишком много точек, причём по другую сторону от «ракетки для настольного тенниса», появляются ошибки 404, вполне вероятно, что что-то не так с ссылками на веб-сайте. Чтобы выяснить, так ли это, придётся более детально изучить проблему с помощью других програм.

На сайтах большинства рассмотренных программ представлены видео, которые дают администраторам хороший обзор функций. Конечно, намного интереснее смотреть на то, как в воронку падают круги. Или, например, как сервер отбрасывает точки, чем копаться в длинных колонках цифр в файлах журнала.

Тим Шюрманн (Tim Schürmann)

Версия для печатиВерсия для печати

Рубрики: 

  • 1
  • 2
  • 3
  • 4
  • 5
Всего голосов: 0
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!