SQUARE

Назначение, приципы работы и особенности


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

В отличие от плагинов сборщиков информации, которые пользуются отведенной именно им областью SHM, плагин square пробегает всю Shared Memory в поисках интересующей нас информации. Однако он ничего не пытается изменять ни в своей ни в чужих областях SHM.

Как и всякий другой плагин, square имеет свою область в Shared Memory, но она не отображается плагином. Это сделано с помощью установки параметра плагина Invisible в единицу. Любой другой плагин также может выставить свой параметр Invisible в единицу и собранные им данные перестанут отображаться плагинами-представителями данных. Таким образом полученные этим плагином данные можно будет увидеть либо включив флаг DEBUG при компиляции главного демона eyed, либо воспользовавшись утилитой dump_shm (не входит в програмный пакет). Пожалуй параметр Invisible имеет смысл устанавливать у плагинов - сборщиков информации, тестирование которых не завершено, чтобы не мешать операторам, работающим с системой. Хотя желание "доводить" плагин на работающей системе выглядит странным. Тем более, что на том же хосте может быть запущен еще один экземпляр системы мониторинга, сбор и вывод информации которого абсолютно независимы от сбора и вывода информации рабочей системы мониторинга.

Таким образом, возможность "прятать" вывод результирующей информации определенного плагина имеет смысл использовать при крупной аварии (например недоступности всех серверов веб-хостинга) чтобы уменьшить объем аварийной информации отслеживаемой операторами, либо, что более важно, при дублировании системой мониторинга каких либо других систем, выводить дублирующую информацию только в период неработоспособности основных систем. Возможно, в последнем случае более удобно будет держать отдельную базу с аварийной конфигурацией. Поскольку "спрятанный" плагин будет обычным порядком проводить тестирование заданных сервисов. Отдельной проблемой в этих случаях является синхронизация основной базы (например SNMP мониторинга) и аварийной базы. Поскольку при разработке системы такая задача не ставилась, то готовых средств для ее решения нет. Процедура экспорта/импорта проведенная однажды вручную из базы SNMP мониторинга заняла более двух часов.

Кроме возможности "спрятать" вывод плагина целиком, существует возможность выводить только статусы со значением loglevel больше или равным заданному. Рабочему состоянию (Up для большинства плагинов) соответстует loglevel равный 0.

Параметры сервиса


Хотя таблица описывающая параметры сервиса в карточке объекта существует, она пуста.

eye=# select * from square;
 key | putsection | host 
-----+------------+------
(0 rows)

eye=#

Данная таблица существует лишь для того, чтобы главный демон eyed мог правильно рассчитать длину Shared Memory необходимой для плагинов.

Параметры плагина
eye=# select * from parametrs where nameofcfg = 'square';
 nameofcfg |   parametr   |       value        
-----------+--------------+--------------------
 square    | StartCounter | 20
 square    | Invisible    | 1
 square    | HSplit       | 15
 square    | HtmlPath     | /usr/local/www/eye
(4 rows)

eye=#

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

Применение


Необходимо лишь настроить apache (или любой другой веб сервер) так, чтобы пользователь авторизовывался на этой странице. Хотя страница, генерируемая плагином не требует авторизации, авторизация требуется при пользовании интерфейсом к базе данных. Для работы со страницей не требуется Java Script, что позволяет безопасно просматривать ее в Netscape Navigator 3.04.