От редакции. Хорошая новость для независимых разработчиков состоит в том, что никогда ранее отечественный рынок ПО не выглядел столь привлекательно. Растущая платежеспособность, борьба с пиратством, повсеместное распространение широкополосного доступа в Сеть — все это позволяет смотреть в будущее с большим оптимизмом.
Но радужную картину несколько омрачает тот факт, что многие интересные и уникальные разработки так и не нашли своего места под солнцем только потому, что не были должным образом «упакованы» и «продвинуты» на рынок. Пытаясь как-то повлиять на эту тенденцию, мы начинаем в рамках раздела «Сети» серию публикаций, в которой предлагаем независимым разработчикам представлять свои продукты. Вы создали интересное решение и вам есть что о нем рассказать? Сообщайте нам об этом по электронной почте poltev@pcworld.ru. И кто знает, может быть, именно ваш продукт станет отправной точкой для еще одной истории головокружительного успеха в российской индустрии ПО.
Это делает ее пригодной не только для дома или офиса, но и для хостинг-площадки. Задачи интеграции с существующими системами управления клиентами, а также услуги по удобному и своевременному представлению информации для внутреннего (техническим специалистам) и внешнего (клиентам) пользования — со всем этим Alchemy Eye способна работать в одиночку, без дополнительных программ и с минимальной настройкой.
Для выполнения постоянного мониторинга имеет смысл установить Alchemy Eye как NT-службу (программа поддерживает этот вариант, но запускается и в качестве обычного Windows-приложения). Специальная вспомогательная служба WatchDog помогает проводить мониторинг состояния самой Alchemy Eye и перезапускать службу в случае неожиданной остановки.
Интеграция Alchemy Eye с существующей системой скорее всего потребует взаимодействия в первую очередь с базой данных — для загрузки из нее списка наблюдаемых серверов. И такой вариант в программе, естественно, предусмотрен. Включить его можно в настройках программы (меню «Файл•Настройки») в разделе «Загрузка файлов». После выбора варианта загрузки «Импорт серверов из БД ODBC» Alchemy Eye предложит на выбор список всех ODBC-провайдеров, обнаруженных на компьютере. Необходимо задать тип БД, данные для входа (логин и пароль) и, наконец, SQL-запрос для выборки списка серверов. Этот запрос будет выполняться либо при каждом старте программы, либо через заданный интервал, и при этом обновляется список серверов.
В ответах на этот запрос, который должен удовлетворять некоторым простым соглашениям, описанным в справке программы, каждая строка будет соответствовать одному «объекту мониторинга», а в терминах Alchemy Eye — это одна проверка для одного сервера. Таким образом, одному серверу, требующему проведения нескольких разных проверок, могут соответствовать несколько объектов. Для каждого из них помимо «значащих» полей (тип проверки и уведомления о сбоях описаны ниже) задаются название, папка в общем списке объектов, а также, если необходимо, состояние «паузы» (например, оно нужно для серверов, проходящих плановое обслуживание, чтобы они не подавали ложных «сигналов тревоги»).
Количество типов проверок, предоставляемых Alchemy Eye, велико: стандартные, соответствующие, в частности, протоколам ICMP (ping), POP3, SMTP, HTTP, подключения к различного типа БД и исполнения заданных SQL-запросов; Windows-ориентированные проверки, например, работоспособности некоторой службы; различных специфичных возможностей, как то: проверка наличия определенной текстовой строки в каком-либо файле (может пригодиться для анализа логов специализированных программ). Таким образом, с помощью Alchemy Eye легко контролировать не только «включенность»/доступность сервера, но и содержание его работы, что для хостинг-провайдера особенно актуально — претензии вроде «пинги на сервер проходят, а почта не коннектится» для него не редкость.
Alchemy Eye предоставляет множество вариантов оповещений и действий по различным событиям вплоть до перезапуска ОС и отдельных служб на сервере, но наиболее общая и первоочередная задача — информировать технических специалистов компании о возникающих проблемах. Уведомления могут отсылаться в те моменты, когда сервер становится недоступным и когда он «возвращается к жизни», при весьма длительной проверке, а также через заданный интервал в течение всего периода недоступности сервера (как средство, улучшающее плохую память технических специалистов).
Разослать уведомления можно посредством электронной почты, интернет-пейджера (ICQ или MSN) или службы сообщений Windows (так называемый «net send»). Кроме того, Alchemy Eye позволяет выполнять отдельные действия на локальном компьютере, например, запустить программу или проиграть звуковое сообщение, но эти возможности вряд ли пригодятся в крупной сети, разве что в сервисных целях. Так, если выводить звуковые оповещения через громкую связь, можно получить остроумный способ стимуляции производительности труда службы технической поддержки.
Заметим, прежде чем настраивать рассылку по электронной почте, имеет смысл настроить SMTP-сервер (или серверы), которым будет пользоваться Alchemy Eye, а также установить корректный обратный адрес для писем. И то и другое делается в настройках в разделе «Эл. почта». Это же замечание касается ICQ- и MSN-подключений. Впрочем, при импорте серверов из БД оповещение по интернет-пейджеру настроить, увы, невозможно.
Почтовые адреса технических специалистов не обязательно хранить в БД или «дописывать» в результаты запроса. Alchemy Eye поддерживает удобную функцию глобальные макросы (раздел настроек «Макросы»). Это означает, что в настройках программы можно, например, сопоставить макросу %TECH_DEPARTMENT_MAIL% строку с адресом электронной почты техотдела или список адресов, разделенных точкой с запятой. Тогда для каждого сервера в качестве адреса отсылки сообщений (поле результатов запроса Alerts: Send notifications to this email) можно записать ту же строку %TECH_DEPARTMENT_MAIL%, после чего Alchemy Eye автоматически «развернет» ее в список адресов электронной почты в момент отправки уведомления. С помощью макросов можно организовать и более сложную схему уведомлений, к примеру введя отдельные макросы для нескольких разных центров обработки данных (%DATACENTER1_MAIL%,%DATACENTER1_MAIL%), и подставлять любой из них в зависимости от того, в каком из таких центров расположен объект мониторинга.
В Alchemy Eye также включены несколько встроенных макросов, использующих при задании шаблона текстов уведомлений, также с ними можно познакомиться тогда, когда необходимо внести изменения в разделе настроек «Эл. почта».
Помимо «призыва специалистов» в экстренных ситуациях в задачу поддержки уважающего себя провайдера, как правило, входит информирование клиентов о текущем состоянии их серверов и об общей статистике их доступности за отчетный период. Для этого Alchemy Eye имеет две широко настраиваемые функции: автоматизированная рассылка отчетов и предоставление веб-доступа к текущему состоянию сервера и тем же отчетам.
Рассылка отчетов подключается в настройках программы в разделе «Отчеты». При этом можно настроить тип рассылаемого отчета (предварительно в меню «Отчеты» можно описать регулярность рассылки и адресатов, выяснить, как с ними работать и каков их вид). Задавая адресатов, не забудьте о том, что можно использовать макросы.
Важная возможность Alchemy Eye — распределять серверы по папкам (при автоматическом импорте из БД сервер будет помещен в папку, соответствующую полю General: Folder Path). Этим следует пользоваться, чтобы рассылать клиентам отчеты только о тех серверах, которые их интересуют. Например, для случая разделяемого (виртуального) хостинга все проверки некоторого сервера Server1 складываются в папку Shared/Server1 (там окажутся, в частности, объекты мониторинга — Server1 — FTP, Server1 — POP3 и т.п.). Далее, создав макрос %SERVER1_CLIENTS%, содержащий почтовые адреса всех клиентов, чьи сайты расположены на этом сервере, легко настроить отправку на их адреса отчетов только об этом сервере, указав при добавлении отчета «Включать отчеты только из папки Shared/Server1». Кроме того, в случае наличия серьезного клиента, снявшего несколько выделенных серверов, имеет смысл сложить все эти серверы в одну папку, например в Dedicated/Big Client, настроить отсылку отчетов из этой папки на адрес «арендатора».
Наконец, помимо регулярной рассылки отчетов неплохо было бы предоставить клиентам информацию о доступности серверов в онлайновом режиме, в частности, для сервиса, предоставляющего хостинг, такая услуга — просто норма. Так, в Alchemy Eye есть встроенный веб-сервер, благодаря чему к текущему состоянию серверов и ко всем отчетам открыт доступ из любого браузера. Этот сервис включается в разделе настроек Web-сервер, где также настраивается порт, на котором Alchemy Eye будет обрабатывать запросы.
Очевидно, что предоставление полного доступа к статистике всех серверов, а также к функциям запуска-останова наблюдения за сервером не обязательно для хостинг-провайдера. Поэтому Alchemy Eye предоставляет настройку доступа различным пользователям — логин/пароль; папки, информация из которых будет отображаться; возможность просматривать отчеты; останавливать наблюдение за серверами. Таким образом, манипулируя набором серверов и уровнями доступа, можно создать подходящие интерфейсы для самых различных типов пользователей — от клиента дешевого виртуального хостинга, видящего только общее состояние сервера (работает/отключился/проблемы с почтовым сервисом и т. п.), до администратора, способного с удаленного компьютера контролировать работу программы.
Следовательно, программа Alche-my Eye, установленная в центре обработки данных хостинг-провайдера, способна эффективно отслеживать доступность и работоспособность серверов, а также своевременно предоставлять необходимую информацию специалистам фирмы и клиентам. При этом большая часть информации будет обновляться в автоматическом режиме. Alchemy Eye легко интегрируется в существующие системы и без проблем взаимодействует с ними. Удачного мониторинга и стопроцентного рабочего режима!
Об авторе Наталья Яковлева — сотрудник компании Alchemy Lab.