From: Дмитрий Петухов
Date: Mon, 20 Mar 2009 17:02:14 +0000 (UTC)
Subject: Hyperic HQ - система мониторинга корпоративного уровня
Материал предоставлен редакцией журнала Системный администратор.
Опубликовано в журнале "Системный администратор" N 1 2009
Компьютерная инфраструктура - критически важная среда для ведения
бизнеса, требующая постоянного контроля и обеспечения ее бесперебойной
работы. Всегда быть в курсе происходящего и предотвратить какие-либо
проблемы поможет внедрение системы мониторинга ресурсов сети.
Внедрение на предприятии системы мониторинга ресурсов сети является
верным шагом на пути управления развивающейся инфраструктурой. За счет
постоянного контроля всех важных узлов и элементов повышается
надежность и отказоустойчивость всей системы в целом. При возникновении
критических ситуаций, система оповестит ключевой персонал о возникших
неполадках, либо и вовсе поможет предотвратить проблему. Одной из
основных проблем при внедрении такой системы, становится выбор из всего
многообразия предлагаемых продуктов. В этом обзоре мы подробно
остановимся на одном из таких вариантов - системе мониторинга
корпоративного уровня Hyperic HQ.
О системе Hyperic HQ
Hyperic HQ - это всеобъемлющий набор инструментов, который позволяет:
- отслеживать производительность системы;
- собирать и хранить данные об аппаратных средствах сети, средствах
виртуализации и приложениях;
- создавать оповещения об интересующих нас событиях - используя единый
центр управления, доступный через веб-интерфейс.
Комплекс достаточно прост в установке и может быть развернут на Linux,
Solaris 10 или старше, Mac OS X (Intel x86), Windows 2003 Server,
посредством инсталлируемых на серверы агентов.
Hyperic HQ доступна в двух вариантах для загрузки: Enterprise и Open
Source. На настоящий момент последней стабильной версией является 3.2.
Отличие версии Enterprise от Open Source заключается в отсутствии у
последней некоторой функциональности, в частности технической
поддержки, возможности создания своих шаблонов оповещения, авторизации
LDAP и Kerberos, но, несмотря на это, она вполне пригодна для
использования на малых предприятиях со средней сложности
инфраструктурой.
Также стоит упомянуть о существовании совместного открытого проекта
компаний Red Hat и Hyperic, под названием RHQ, нацеленного на
управление корпоративной информационно-технической инфраструктурой. RHQ
разрабатывается как единый набор инструментов, которые будут включены в
будущие издания продуктов Red Hat, таких как JBoss Operations Network и
Red Hat Network, а также в сам Hyperic HQ.
Архитектура системы базируется на следующих четырех основных
абстракциях:
- Platform (платформа) - машина, операционная система или любая
комбинация сетей и устройств хранения данных. Платформы являются самым
нижним уровнем в архитектуре управления и могут включать в себя такие
элементы, как процессоры, сетевые интерфейсы, жесткие диски, а также
файловые системы.
- Server (сервер) - это любое серверное программное обеспечение,
которое установлено на платформу. Hyperic HQ способно управлять
различными типами серверов, такими как веб-серверы с базами данных,
серверы обмена и многое другое.
- Service (служба) - это один из компонентов серверов, который
выполняет конкретную задачу. Примером такой службы может являться
виртуальный хост в настройках Apache.
- Application - это понятие представляет собой идею того, что одна
общая задача выполняется на различных платформах и обеспечивается
разными серверами. Пользовательский интерфейс предлагает способ
управления инфраструктурой с прикладной точки зрения в противовес
аппаратной. Смысл в том, чтобы объединить службы, выполняющие одну
глобальную задачу в единые группы. Для большей наглядности и понимания
этой абстракции предлагаю взглянуть на рис. 1.
Рисунок 1. Модель Application
Системные требования
Необходимое аппаратное обеспечение для нормальной работы серверной
части:
* Процессор Pentium 4 или эквивалент, 1 ГГц или выше (рекомендуется
два процессора Pentium Xeon 2.4 ГГц или эквивалент);
* 1 Гб или выше (рекомендуется 4 Гб или более);
* 1-5 Гб свободного дискового пространства;
* Поддерживаемые операционные системы Linux, Windows XP или 2003
Server, Solaris 8 или выше, HP-UX.
Hyperic HQ Server по умолчанию настроен на работу со своей собственной
базой данных, однако есть возможность хранения информации и в других
базах данных. Поддерживаются следующие БД:
* PostgreSQL 8 или выше;
* Oracle 9i или 10g;
* MySQL 5.0.45 или выше.
Необходимое аппаратное обеспечение для нормальной работы агента:
* Celeron 500 МГц или выше, или эквивалент;
* 256 Мб ОЗУ;
* 500 Мб свободного дискового пространства;
* поддерживаемые операционные системы Linux, Windows XP или 2003
Server, Solaris 8 или выше, HP-UX, AIX, FreeBSD.
Общими требованиями для сервера и агента является наличие JRE или JDK
1.4 или 1.5. И сервер, и агент уже содержат в комплекте JRE, которое
рекомендовано для использования. Однако иногда бывает предпочтительнее
использовать JRE (или JDK), которые могут быть уже установлены в
системе.
Установка Hyperic HQ
Установка и тестирование системы производилось мной на Windows Vista
Ultimate SP1 и CentOS 5.1. Хотя Windows Vista и не заявлена в
документации как поддерживаемая платформа, Hyperic HQ была
проинсталлирована, и без каких- либо проблем выполняла свои функции.
Процесс установки системы на Windows достаточно прост. После скачивания
архива распаковываем его в корень системного диска и запускаем файл
setup.bat из корня установочной директории. Откроется консоль со
следующим содержимым:
C:<Installation Directory>setup.bat
Initializing Hyperic HQ Installation...
Choose which software to install:
1: Hyperic HQ Server
2: Hyperic HQ Shell
3: Hyperic HQ Agent
You may enter multiple choices, separated by commas.
Здесь предлагается выбрать компоненты для установки, причем можно
выбрать сразу несколько компонентов через запятую. Выбираем установку
сервера и агента, то есть вводим "1, 3".
Далее предлагается выбрать путь для установки сервера, по умолчанию это
C:Program Files, мы не будем мудрить и просто нажмем клавишу <Enter>.
Если на вашей системе не обнаружен SMTP-сервер, который будет
использоваться системой для отправки уведомлений, то будет запрошен его
адрес или доменное имя. Следующим шагом установщик запросит путь для
установки агента, по умолчанию это опять все тот же C:Program Files.
На этом вопросы заканчиваются, и начинается установка сервера, агента и
встроенной базы данных. Если установка остановится на Starting built-in
database... то нажмите <Enter> для продолжения. По завершении установки
инсталляционный скрип сообщит вам об удачной установке.
Следующим шагом инсталляции будет установка сервера, в качестве службы
Windows. Для этого проследуйте в директорию C:Program
Filesserver-x.x.xbin, где x.x.x номер версии, и запустите оттуда файл
hq-server.exe с ключом -i. После чего стартует сервис из оснастки
"Управление компьютером -> Службы". Заметьте, что вместе со службой
сервера была также установлена служба Hyperic HQ Database, которая
стартует автоматом сразу после запуска сервера.
Далее переходим к агенту. Запуск производится из директории C:Program
Filesagent-x.x.xbin, где x.x.x номер версии. После старта
hq-agent.exe в консоль выводится:
Starting agent
- Unable to load agent token file. Generating a new one ... Done
- Invoking agent
Agent successfully started
[ Running agent setup ]
What is the HQ server IP address:
Здесь предлагается ввести IP-адрес сервера, так как серверная часть
находится на той же машине, что и агент, то мы пишем 127.0.0.1.
Затем спрашивается, хотим ли мы, чтобы соединение между сервером и
агентом было безопасное, - по умолчанию это нет. Включить эту опцию
имеет смысл в том случае, если сервер и агент для соединения используют
Интернет. В нашем же случае оставляем все как есть и жмем <Enter>.
Should Agent communications to HQ always be secure [default=no]:
Далее, предлагается ввести номер порта для связи с сервером - по
умолчанию это порт 7080. Жмем <Enter> и переходим к следующему пункту.
What is the HQ server port [default=7080]:
Следующими двумя пунктами будут запрошены логин и пароль для доступа к
серверу - по умолчанию это hqadmin/hqadmin, если вы не изменяли ни то,
ни другое, то жмем <Enter> и идем далее.
- Testing insecure connection ... Success
What is your HQ login [default=hqadmin]:
What is your HQ password:
Теперь определяем IP-адрес и порт, которые сервер будет использовать
для связи с агентом, здесь также все оставляем по умолчанию.
What IP should HQ use to contact the agent [default=127.0.0.1]:
What port should HQ use to contact the agent [default=2144]:
Если инсталляция прошла успешно, вы должны увидеть следующее:
- Received temporary auth token from agent
- Registering agent with HQ
- HQ gave us the following agent token
1104817706987-8534327776788402831-4021000845020676153
- Informing agent of new HQ server
- Validating
- Successfully setup agent
Вся установка агента завершена успешно. Для того чтобы агент выполнялся
в качестве службы, запускаем его, так же как и сервер с ключом -i, и
стартуем сервис. Установка агента и сервера под Linux производится
путем запуска установочного скрипта setup.sh и никаких затруднений
вызывать не должна. После установки запускаем сервер
/home/hyperic/bin/hq-server.sh start и агент
/home/hyperic/bin/hq-agent.sh start. Все вопросы, выводимые в консоль,
полностью идентичны тем, что выводятся при запуске сервера и агента в
Windows.
Работа с программой
После того как сервер и клиент установлены и сконфигурированы, можно
переходить к проверке работоспособности и настройке программы. Для
контроля и анализа полученных сервером данных, а также оповещения об
интересующих нас событиях, программа имеет весьма удобный
веб-интерфейс. Если вы не меняли номер порта при установке, то он
доступен на порту 7080, поэтому набираем в адресной строке вашего
любимого браузера your _ip:7080 и попадаем на страницу авторизации, по
умолчанию логин/пароль для доступа к серверу hqadmin/ hqadmin, после
регистрации на сервере в целях безопасности рекомендуется сразу же
сменить пароль - это можно сделать в разделе Administration
веб-интерфейса.
При успешной регистрации вы попадете на стартовую страницу Dashboard
(см. рис. 2), здесь собрана вся основная информация о работе системы,
избранные ресурсы, недавние оповещения и тому подобные вещи,
позволяющие видеть картину происходящего в целом. На данный момент нас
интересует раздел Auto-Discovery - это автообнаружение сервисов. Если
при инсталляции вы выбрали установку агента, и он у вас запущен и
нормально функционирует, то вы увидите, что компьютер, на котором
установлен агент, в нашем случае, это тот же компьютер, на котором
установлен сервер, то он появился в списке вместе с перечнем ресурсов
для мониторинга. Ставим галочки напротив тех сервисов, которые желаем
контролировать, и жмем Add to Inventory - все наши ресурсы добавлены в
опись сервисов.
Рисунок 2. Обобщенная информация о ресурсах
Теперь посмотрим, что у нас получилось. Переходим через главное меню на
вкладку "Resource -> Browser" (см. рис. 3). Здесь мы видим уже
знакомые нам из описанной выше архитектуры системы разделы. В разделе
Platforms отображается наша платформа, пока она у нас одна. В разделе
Servers - наши серверы, среди которых виден и наш агент, согласно
архитектуре системы агент, также является сервером. В разделе Services
находятся наши сервисы, которые в данный момент мониторятся системой.
Также имеются разделы Compatible Groups/Clusters, Mixed Groups и
Applications, которые мы можем создать при необходимости через Tools
Menu, расположенные в верхнем левом углу. Просмотр списков ресурсов
может осуществляться двумя способами: по умолчанию - это List View,
т.е. простой список, либо Chart View - каждый пункт отображается с
миниатюрами графиков и цветовым представлением доступности сервиса.
Переключение между режимами просмотра осуществляется одноименными
кнопками, расположенными в верхнем правом углу списка.
Рисунок 3. Наши сервисы
Теперь, если мы в разделе Platforms нажмем на нашу, пока что
единственную платформу, то попадем в раздел текущего состояния
ресурсов. Так можно сделать, нажав на любой из имеющихся ресурсов, будь
то платформа, сервер или сервис. Но мы начнем с платформы, так как она
является самым нижним уровнем абстракции в архитектуре системы. Итак,
здесь сверху мы видим краткую информацию о конфигурации нашей
платформы: операционная система, параметры сети, количество оперативной
памяти, тип процессора. Ниже несколько вкладок, в нашем случае их
четыре, в зависимости от того, что открыто, их может быть разное
количество. Первая вкладка Monitor (см. рис. 4), в левой колонке
Resources - список сервисов и серверов, находящихся на данной
платформе. Середина страницы разделена на две вкладки, первая
Indicators, здесь расположены индикатор доступности, ниже отображаются
графики метрик, обычно это загрузка процессора, использование
оперативной памяти, это опять же зависит от того, что открыто, и еще
ниже индикатор отслеживания событий. Во вкладке Metric Data (см. рис.
5) мы видим все то же самое, только в виде таблицы с отображением
минимального, среднего, пикового значений, также показатели доступности
и интервал обновления данных.
Рисунок 4. Индикаторы метрик
Рисунок 5. Данные метрик
Теперь, чтобы описание системы не сводилось к сухому описанию вкладок,
давайте здесь мы перейдем к практике, и для наибольшей понятности и
наглядности создадим сервис. Итак, перейдем на вкладку Inventory (см.
рис. 6), здесь в разделе Services отображаются сервисы, относящиеся
непосредственно к нашей платформе. Жмем кнопу NEW и попадаем на
страницу создания нового сервиса. Тут пишем имя создаваемого сервиса,
при желании его описание, и ниже выбираем тип. Для примера давайте
создадим сервис, контролирующий состояние службы Windows "Диспетчер
печати", выберем Windows Service и нажмем OK. Далее, в разделе
Configuration Properties жмем кнопку Edit и в поле service_name
вписываем реальное имя службы, в нашем случае это Spooler, жмем OK.
Все, сервис создан, теперь, перейдя на вкладку Monitor, мы можем
отслеживать состояние нашей службы.
Рисунок 6. Опись данных о ресурсе. Вкладка Inventory
Имея данные о доступности службы и используемых ей ресурсов, мы можем
на основании этого строить систему оповещения. Например, мы хотим
получить оповещение, если наша служба Spooler стала недоступна. Для
создания оповещения переходим во вкладку Alert и жмем NEW (см. рис. 7),
задаем имя и описание в соответствующих полях. Ниже в Condition Set
задаем наше условие. Выбираем метрику Availability и условие "is
!=(Not Equal to) 100%", то есть доступность службы не равна 100%, и
жмем OK. После нажатия кнопки OK мы попадаем на страницу нашего
оповещения, здесь внизу мы можем задать схему эскалации оповещения, что
бывает удобно для некоторых событий, схемы эскалации можно создавать в
разделе Administration главного меню, а также кому будут отправлять
оповещения. Оповещения можно отправлять пользователям, которые имеются
в системе, - вкладка Notify HQ Users, а также на произвольно заданные
почтовые ящики - вкладка Notify Other Recipients. Ну вот теперь, если
остановить службу "Диспетчер печати" , вы получите оповещение об этом
на свой почтовый ящик.
Рисунок 7. Страница создания оповещений
Понятие о том, как создавать оповещения, мы получили, теперь переходим
к следующей вкладке. Вкладка Control имеется не везде, но в нашем
случае она есть, здесь можно производить какие-либо действия над
контролируемым объектом, в нашем случае это служба Windows, и мы можем
произвести над ней действия Start, Stop и Restart прямо через
веб-интерфейс. Также можем посмотреть историю выполняемых действий в
подвкладке History.
Следующая вкладка Views, но, перейдя на нее, вам сообщат, что для
данного ресурса элементы просмотра отсутствуют. В этой вкладке доступны
для просмотра данные в реальном режиме времени, поступающие с
платформы, поэтому при помощи меню Map, расположенного в верхнем левом
углу экрана, переходим к нашей Win32 platform. Там появилась кнопка
Live Exec (см. рис. 8), нажав на нее, мы переходим к экрану просмотра.
Слева есть выпадающее меню, в котором доступна для выбора информация
о центральном процессоре и его использовании, информация о файловой
системе, информация о статистике и конфигурации сети, а также процессы,
запущенные в системе, и информация о залогинившихся пользователях.
Рисунок 8. Просмотр информации о системе
Следующий раздел интерфейса Analyze содержит в себе два инструмента,
предназначенные для просмотра и анализа оповещений Alert Center и
событий Event Center. Они могут быть полезны, если вам необходимо
просмотреть какие-либо события или оповещения, отфильтровав их в
разрезе каких-либо критериев.
В последнем разделе Administration предоставляется возможность
управления пользователями системы, схемами эскалации, а также
настройками самой системы и платинами.
Заключение
Данная система, конечно, в первую очередь предназначена для крупных
компаний, таких как дата-центры и хост провайдеры, система может
применяться в гетерогенных сетях, осуществляет сбор данных по SNMP,
поддерживает мониторинг виртуальных машин, таких как VMware или Xen,
имеется возможность кластеризации. Для небольших компаний она менее
пригодна, ввиду того, что для своей работы требует достаточно больших
вычислительных мощностей, и как следствие выделение под себя отдельного
сервера, что не всем по карману, в любом случае выбор за вами.
Удачи!
1. Сайт проекта Hyperic HQ - http://www.hyperic.com
2. Сайт проекта RHQ-Project - http://www.rhq-project.org
1347 Прочтений • [Hyperic HQ - система мониторинга корпоративного уровня (monitoring)] [08.05.2012] [Комментариев: 0]