Рубрика:
Администрирование /
Мониторинг
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Сергей Яремчук
Мониторинг сети с BixData
Управление компьютерной сетью – задача, требующая выполнения множества функций включающих планирование, внедрение, контроль за безопасностью, бесперебойной работой, учетными данными и прочее. Немаловажную роль в этом играет мониторинг ресурсов.
Задачу мониторинга сетевых ресурсов можно решить с помощью разных инструментов, на страницах журнала уже рассматривались такие системы, как Nagios [3] и Cacti [4]. Они имеют как достоинства, так и недостатки. К достоинствам Nagios можно отнести функциональность, но вот развертывание такой системы потребует времени и некоторого опыта, новички, как правило, встречаются с трудностями. Cacti, несмотря на простоту в его установке и настройке, при большом количестве отслеживаемых сервисов, потребует некоторого времени на доведение системы мониторинга до нужной функциональности. В гетерогенных сетях эта задача еще более усложняется.
Проект BixData
Задачей компании BixData [1], образованной в 2004 году, являлась разработка нового поколения системы мониторинга, которая одновременно должна быть легкой в использовании, работать в сетях любых размеров с самым разнообразным оборудованием и операционными системами.
Система мониторинга сети, построенная на основе BixData, позволяет контролировать практически все параметры систем, приложений и оборудования на компьютерах, работающих под управлением FreeBSD, Linux (протестирован CentOS 3/4, Debian 3, Fedora FC1-FC5, Redhat 7.1, Redhat 9, SUSE Linux 9/10, Ubuntu 5/6), Windows 98/NT4/2000/XP/2003 и Mac OS X.
Это может быть: проверка доступности определенных портов (HTTP, POP3, SMTP) или URL, статус процесса или сервиса, загрузка процессора (до 8 CPU) и системы, использование памяти, подкачки, работа диска и контроль SMART, информация о системе, установленном ПО и оборудовании компьютера, контроль Xen и VMware, загрузка сети, WMI и некоторые другие. Результат может быть представлен в виде графиков и отчетов, позволяющих определить складывающиеся тенденции и спланировать ресурсы для будущих модернизаций, так и выводящих информацию в реальном времени. В случае возникновения некоторых событий может отправляться сообщение на указанный почтовый адрес или с помощью сценариев выполняться некоторые действия, направленные на их устранение.
Чтобы легче было интегрировать BixData в любую среду и упросить настройку и сбор данных, вся система разделена на три компонента:
- BixAgent – агент, устанавливаемый на компьютерах, которые требуют удаленного управления и сбора информации;
- BixServer – многофункциональный компонент, так как в его задачи входит не только сбор информации с агентов и сохранение данных в базе данных SQL, но самостоятельный мониторинг удаленных систем, на которых не установлен BixAgent, кроме этого, он предоставляет веб-интерфейс для просмотра статистики и отбора сообщений.
- BixDesktop – интерфейс для настройки системы мониторинга, просмотра данных в реальном времени и вывода отчетов.
Для хранения информации может быть использована в принципе любая СУБД, официально поддерживаются MySQL, PostgreSQL, MS SQL Server, Firebird и ODBC. Все соединения могут быть защищены посредством шифрованных SSL-туннелей. Таким образом, с помощью BixData можно легко создать систему мониторинга в сети с любой топологией.
В настоящее время доступны две версии BixData: Professional и Community Edition. Последняя ориентирована на сети небольшого и среднего размера, предоставляется бесплатно, но имеет некоторые ограничения. Так, количество систем и сервисов, контролируемых с помощью Community Edition, не может превышать 30, а информации, собранной в базу данных за день, – 2 Гб, отсутствует поддержка SNMP. Официальная поддержка продукта также не предоставляется, но ответы на возникшие вопросы можно получить на форуме проекта.
Установка BixData
В качестве тестовой системы сервер, графический интерфейс и агент были установлены на Linux Ubuntu 7.04 и Windows XP SP2. Каких-либо особенностей в работе в этих вариантах нет, все отличия связаны только с процессом установки и запуска. Агенты выдают для контроля специфические для своей системы параметры. Скачиваем со страницы Downloads нужные файлы. Обратите внимание, что пакет Server помечен как DB, так как по умолчанию содержит СУБД PostgresSQL, если на компьютере уже имеется установленная база данных, то следует выбирать файл с графы «Advanced Use», они не имеют базы данных, о ее подключении придется заботиться самому. Мы же будем использовать первый вариант. Процесс установки в Linux выглядит так.
Сначала устанавливаем сервер:
$ wget -c http://www.bixdata.com/files/BixServer-2.7-linux-1-DB.tar.gz
$ sudo tar xzvf BixServer-2.7-linux-1-DB.tar.gz
А затем GUI:
$ wget -c http://www.bixdata.com/files/BixDesktop-2.7-linux-1.tar.gz
$ sudo tar xzvf BixDesktop-2.7-linux-1.tar.gz
Теперь запускаем, права суперпользователя не требуются, даже наоборот – скрипт завершает работу, если пробовать его выполнить как root. Рекомендуется создать для запуска сервера и агента специального пользователя и выполнять программы от его имени. В Windows такой пользователь создается автоматически при установке любого компонента BixData.
$ adduser bixdata
$ cd bixdata
$ su bixdata
$ nohup ./runserver.sh &
И под текущим пользователем:
$ ./rundesktop.sh
Using data path: /home/grinder/source/BixData/bixdata/bixdesktop/data/
Warning, missing x509 or private key file. Generating new files
Public Key Signature 9876356F0E71118602EF5F4097006A8FD8965ACC
|
При постоянном использовании придется самостоятельно создать скрипты запуска.
Появится окно ввода пароля, в котором будет указана учетная запись «Guest», пароля она не требует, поэтому для входа можно нажать кнопку «Login», но все настройки после выхода будут утеряны. Поэтому выбрав знак «+», лучше сразу создать новую учетную запись. Одновременно запустится браузер, загружающий страницу для обновления системы. В появившемся окне в строке server:// вводим IP-адрес или имя компьютера, на котором установлен сервер. Так как он у нас установлен на локальной системе, используем server://localhost и нажимаем кнопку, расположенную правее.
Клиент устанавливается аналогично, распаковываем и запускаем находящийся внутри скрипт:
$ nohup ./bixagent -> out &
При использовании Windows следуем стандартной процедуре установки, в процессе можно выбрать вариант запуска, удобнее, когда выбранный компонент стартует в качестве сервиса. Подключаются агенты в поле Agent.
При установке варианта со встроенной БД при запуске сервера автоматически стартует полностью настроенный PostgreSQL. Иначе вначале следует подготовить базу данных. Здесь ничего сложного. Создаем базу, затем устанавливаем привилегии на эту базу для выбранного пользователя, например для MySQL:
$ mysqladmin --user=root create bixdata
$ mysql -u root bixdata
mysql> GRANT ALL ON bixdata.* TO ' bixdata'@'localhost' IDENTIFIED BY 'password'
Query OK, 0 rows affected (0.05 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.03 sec)
mysql> quit
|
Теперь вызываем BixDesktop, подключаемся к серверу и заходим во вкладку Setup и в поле «Database Properties» заполняем параметры доступа к выбранной БД. Тип СУБД выбирается в раскрывающемся списке «Database type».
Работа с интерфейсом BixDesktop
После регистрации всех серверов и агентов в GUI переходим во вкладку «localhost -> Situation Room«. Здесь собраны все известные системы. Чтобы добавить новый компьютер для мониторинга, следует нажать кнопку «+» и указать IP-адрес или доменное имя. Если узлов много, лучше воспользоваться встроенным сканером. Для этого переходим во вкладку «Network» и в поле «Host to Scan» вводим отдельные IP-адреса или диапазон адресов, которые нужно просканировать. По окончании добавляем найденные узлы в Situation Room. Щелчком на найденном компьютере в контекстном меню выбираем пункт «Send to -> Network topology view», добавляем узел в окно просмотра топологии сети Topology. Для удобства компьютерам можно присвоить этикетки Tags, в этом случае вместо отдельных машин просто указывается ассоциированный Tags.
Теперь когда сервер «знает» обо всех системах, пора устанавливать предупреждения. Для того чтобы просмотреть выставленные предупреждения и установить новые параметры контроля, необходимо перейти в «Notifications».
Во вкладке «Setup» несколько полей. В «Service Check» по умолчанию два параметра HTTP ServiceCheck и Ping ServiceCheck, отвечающие соответственно за контроль работы HTTP-сервиса и доступности компьютера. Чтобы посмотреть их установки, следует отметить мышкой, и в остальных окнах будут показаны его параметры.
Нажимаем кнопку «+» и добавляем новый пункт, в появившемся меню, используя раскрывающийся список, выбираем сервис (см. рис. 1): HTTP, Mail POP3, Mail SMTP, Ping, Port Status, и для Remote Agent CPU, FileSystem, Memory и Custom.
Рисунок 1. Выбираем сервис для Notification
Вводим название в поле Name. В поле Actions указываем действие. Это может быть вывод всплывающего сообщения (Desktop Message), отправка e-mail (Email Action), выполнение команд (Execute Command и Execute Command Removely), отправка SMS-сообщения (Send to Mobile Phone Action) и отправка команды на виртуальную машину (Execute Virtual Machine Action).
После выбора Action отмечаем его и в появившемся внизу поле, уточняем его параметры: электронный адрес, команду, номер телефона, сообщение и прочее.
При подстановке используются макросы, поэтому текст полученного сообщения, будет соответствовать ситуации.
Это мы определили только список возможных действий. Чтобы указать, в каком случае их использовать, необходимо перейти в Notifications. Теперь для разных состояний: запуск сервиса (While Up), отказ (Up->Down), появления (Down->Up), отказ в течение длительного времени (While Down), указываем свой тип предупреждений (см. рис. 2). Здесь, используя контекстное меню, можно: игнорировать событие (Do Nothing), установить таймер (Wait) на произвольное время, после которого будет выдано предупреждение.
Рисунок 2. Указываем Action для разных состояний (GUI в Windows)
Само предупреждение для данного состояния выбираем в «Set Action», причем можно установить несколько Actions, которые, например, будут выполняться последовательно по истечении определенного промежутка времени.
Все выбранные действия будут показаны на графике State Diagram. В небольшой полосе «Service Check» внизу экрана, которую может быть не видно на мониторах с небольшим разрешением, отмечаем флажком сервис, а в Hosts указываем узлы или Tags, для которых будут действительны эти установки.
В полях «Options» и «Properties» выставляется интервал проверки, номер порта, время ожидания в случае неудачи и прочее. Если контролируется превышение допустимого порога некоего параметра, его значение указывается в поле «Notification Trigger». Да и после некоторых изменений вверху появляется незаметный запрос, предлагающий сохранить настройки. Выбрав «Undo», можно их отменить.
Это мы настроили только предупреждения. Теперь перейдем к мониторингу и отчетам. Если контролируется агент, то здесь все просто, так как у него всего одно окно с тремя вкладками.
В «Overview» можно получить общую информацию о системе, а если подвести и задержать на время мышку около значков вверху, то будет выдана более подробная информация о загрузке процессора, занятости разделов жесткого диска и использовании памяти.
Во вкладке «Processes» выводится список процессов, а в «Real Time Graph» выбираем уже готовые графики или указываем свои.
Принцип создания нового графика аналогичен работе с предупреждениями. Сначала в «NameSpaces» выбираем параметр (например Smart), затем в «Instances» уточняем объект (выбираем жесткий диск), в «Keys» выбираем значение (Temperature Celsius), а в «Fields», дважды щелкнув, выбираем поле (Raw Value string) (см. рис. 3).
Рисунок 3. Выбираем новый график
В результате в «Selected Patch» появится новый параметр, который в новой вкладке будет выводить текущее значение температуры жесткого диска. Значения некоторых полей, вроде Color и Style, можно изменить, дважды щелкнув по ним мышкой. Чтобы сохранить настройки для дальнейшего использования, следует выбрать «Save Template».
Всевозможные отчеты в сервере настраиваются в Reporting. Здесь также несколько вкладок. В Browse найдете готовые отчеты, по умолчанию их немного и они соответствуют Notifications (см. рис. 4).
Рисунок 4. Графики BixData
Чтобы создать новый график, выбираем «Setup Reports», нажимаем «+» и в появившейся строке дважды щелкаем на «Template» и выбираем шаблон. Затем указываем Tag, временной интервал, который будет отображать на графике и интервал обновления. Все, график готов. Через некоторое время он наполнится информацией и можно смотреть результат. Сами шаблоны доступны в «Setup Templates», где можно подкорректировать некоторые параметры (см. рис. 5).
Рисунок 5. Шаблоны графиков
Кстати, на странице «Script Addons» сайта проекта можно найти несколько обновленных шаблонов, предназначенных для сбора данных и вывода информации.
Повышаем защищенность BixData
По умолчанию BixAgent и BixServer не используют аутентификацию вообще, возможно, в закрытых сетях этого и достаточно, но при работе через Интернет однозначно следует защитить соединение. Поддерживается аутентификация, основанная на логине и пароле. Кроме этого, соединение можно защитить с помощью SSL. Оба варианта настраиваются в файле data/config-security.xml каталога, в котором установлено приложение. По умолчанию он содержит такие поля:
<?xml version="1.0" encoding="utf-8" ?>
<Config>
<SSL>
<acceptonly>false</acceptonly>
</SSL>
<Authentication>
<enable>false</enable>
<Users>
<User>
<username>Admin</username>
<password></password>
</User>
<User>
<username>server</username>
<password>serverpass</password>
</User>
</Users>
</Authentication>
</Config>
Как видите, это простой XML-файл с понятной структурой. Чтобы разрешить аутентификацию по паролю, устанавливаем:
<enable>true</enable>
И для каждого разрешенного пользователя указываем пароль:
<username>Admin</username>
<password>password</password>
Теперь при подключении через GUI к конкретному агенту или серверу будет появляться окно для ввода пароля.
Для того чтобы сервер мог автоматически подключаться к агентам, в его файле config-security.xml используется секция AgentLogin, в которой добавляются все логины и пароли:
<AgentLogin>
<Login>
<username>Admin</username>
<password>pass</password>
</Login>
</AgentLogin>
Чтобы включить SSL, достаточно указать:
<acceptonly>true</acceptonly>
Сертификаты и ключи, как уже говорилось, генерируются при первом запуске и находятся в файлах privkey.pem и x509.pem. Как вариант для этих настроек можно использовать вкладку «Setup -> Security».
По умолчанию BixAgent и BixServer слушают соединения на всех сетевых интерфейсах, при этом сервер использует 7071 порт, а агенты 17070.
При необходимости можно указать конкретный сетевой адрес и изменить порт по умолчанию, для этого нужно создать файл data/config-network.xml такого содержания:
<?xml version="1.0" encoding="utf-8" ?>
<config>
<network>
<connect-default>
<client>17070</client>
<server>7071</server>
</connect-default>
<bind>
<default-port>17071</default-port>
<listener>
<ipaddress>192.168.1.58</ipaddress>
<port>17070</port>
</listener>
</bind>
</network>
</config>
Здесь для соединений с удаленными системами по умолчанию будут использоваться порты 7071 и 17070, а ожидать соединения на порту 17070 с IP-адресом 192.168.1.58.
Как видите BixData очень прост в установке и настройке, и главное, легко интегрируется в гетерогенную среду. Система предупреждений и отчетов очень удобна и позволяет получить информацию практически по большинству вопросов, которые могут заинтересовать администратора.
Удачи!
- Сайт проекта BixData – http://www.bixdata.com.
- Сравнение версий Professional и Community – http://www.bixdata.com/professional_edition.
- Бешков А. «Установка Nagios». //Системный администратор, №2, 2003 г. – С. 6-14.
- Яремчук С. «Cacti – простой и удобный инструмент для мониторинга и анализа сети». //Системный администратор, №4, 2007 г. – С. 22-27.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|