Обзор системы ALEPIZ
ALEPIZ предназначен для организации мониторинга инфраструктуры и автоматизации инфраструктурных процессов. За счет того, что ALEPIZ объединяет в себе мониторинг и автоматизацию, есть возможность настроить систему обслуживания, в которой все участвующие процессы будут логически связаны между собой на основе мониторинговых данных. Такой подход подразумевает, что процессы по автоматизации будут запускаться в зависимости от текущего состояния инфраструктуры.
Например, упаковка лог файлов будет автоматически запущена после полной остановки сервиса по расписанию на основе информации, полученной из системы мониторинга. Резервное копирование файлов сервиса выполнится после окончания операции по упаковке лог файлов. Автоматическое обновление сервиса на новую версию выполнится сразу после получения информации об окончании процесса резервного копирования. До тех пор, пока не будет закончен процесс обновления сервиса, автоматический запуск сервиса не будет произведен.

Ключевые особенности
После установки, ALEPIZ сразу готов к работе. Он включает в себя все необходимые компоненты, в том числе Web сервер и сервер баз данных. Для своего функционирования система не требует установки дополнительного программного обеспечения
ALEPIZ можно быстро подготовить для использования в небольшой инфраструктуре, вручную создавая статические объекты мониторинга, не прибегая к глубокому изучению системы и разработке собственных компонент.
С помощью ALEPIZ можно настроить обслуживание разветвленной инфраструктуры, объединив все ее части в единое целое, автоматизируя различные процессы и разрабатывая новые компоненты для ее обслуживания.
ALEPIZ позволяет достичь высокого быстродействия и обслуживать большое количество процессов за счет использования параллельных вычислений, асинхронного ядра системы и компонент, производительной базы данных и применения умного кэширования.
Интеллектуальный алгоритм пропуска похожих данных ALEPIZ позволяет уменьшить требования к объему систем хранения в пять и более раз без ущерба информативности. За счет того, что часть похожих данных не обрабатывается, уменьшается нагрузка на вычислительное ядро системы, позволяя использовать меньшее количество серверных ресурсов.
Доступ к ALEPIZ, все настройки и управление системой осуществляется через Web интерфейс. Интерфейс автоматически адаптируется к работе на стационарных ПК, планшетах или смартфонах, в зависимости от размера экрана, разрешения и способа ввода информации

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

Особенности системы мониторинга
ALEPIZ имеет встроенную систему мониторинга, позволяющую собирать и хранить исторические данные поддерживая различные протоколы сбора информации. Настройка системы мониторинга основана на создании зависимостей между счетчиками, собирающими данные. Например, нет никакого смысла собирать прикладные данные сервиса, если он остановлен. Поэтому счетчики, собирающие прикладную информацию о сервисе должны зависеть от счетчика, собирающего информацию о статусе сервиса. Если статус сервиса показывает, что сервис остановлен, условие запуска дочерних счетчиков по сбору прикладных данных выполнено не будет и они не запустятся. Даже стандартный для систем мониторинга сбор данных через временные интервалы настраивается как зависимость от счетчика, который генерирует сигналы в определенные интервалы времени.
Для генерации событий так же используются зависимости между счетчиками. Они, например, могут быть настроены таким образом, что счетчик, генерирующий событие, запускался после того как полученные значения от родительского счетчика превысили установленный предел. Например, можно настроить зависимость, что при уменьшении объема свободной памяти на сервере до 1Gb, будет запущен счетчик генерирующий соответствующее событие. На Дашбоарде появится предупреждение, которое, при необходимости, будет продублировано голосом. Администраторам будет отправлено оповещение по e-mail и\или другими способами.
Все собранные исторические данные доступны для дальнейшего просмотра и анализа. Для предотвращения бесконечного роста базы данных предусмотрена система очистки старых исторических данных. Для быстрого доступа к большому количеству данных используется система трендов, хранящая только среднее арифметическое по значениям исторических данных за определенные интервалы времени.
Запуск задач по обслуживанию системы может выполняться на основе анализа состояния системы по полученным историческим данным, собранным встроенной системой мониторинга.
При отсутствии средств по сбору данных, например в случае, если прикладная система возвращает их нестандартным способом, ALEPIZ позволяет разработать и подключить новый сборщик, адаптированный для прикладной системы.
Алгоритм пропуска похожих данных
Для уменьшения нагрузки на вычислительное ядро и дисковую подсистему, ALEPIZ использует интеллектуальный алгоритм пропуска похожих данных. При получении нового значения, проводится автоматический анализ собранных данных и если новое значение существенно не отличается от данных, которые были получены до этого, оно не будет обрабатываться вычислительным ядром ALEPIZ и не будет записано в базу данных. Например, объем оперативной памяти на сервере собирается раз в 30 секунд и в нормальной ситуации меняется незначительно. ALEPIZ проанализирует изменения и пропустит до шести похожих значений, полученных от счетчика. Это позволяет не занимать дисковое пространство одинаковыми данными, при этом иметь полную картину по историческим значениям. При необходимости, параметры пропуска можно перенастроить или вообще отключить данную технологию для любого сборщика, который ее поддерживает.
Компоненты ALEPIZ
Модульная архитектура ALEPIZ состоит из ядра, к которому подключаются различные компоненты. Ниже дано описание типов компонент, которые можно подключить к ALEPIZ. При необходимости, можно разработать собственные компоненты любого типа.
Сборщики
ALEPIZ позволяет собирать и сохранять данные с различных систем. Для сбора каждого типа данных используется сборщик (collector). Например, ALEPIZ может собирать данные о работе аппаратного обеспечения по протоколу SNMP или данные о работе системы и программного обеспечения с Zabbix агентов, проверять доступность и время отклика сервисов в сети, подключаясь на порт удаленного сервиса по TCP/IP или анализировать время отклика хостов с помощью встроенного сборщика Ping. Так же есть возможность находить новые хосты в сети с помощью сборщика Objects discovery, автоматически формируя мониторинг инфраструктуры. Можно выполнять информирование о событиях, основанных на превышении предельных значений по собранным данным или, например, запускать задачи при выполнении определенных условий.
При необходимости можно разработать свой сборщик, который будет учитывать архитектуру используемой системы и собирать с нее необходимые данные или генерировать собственные.

Действия
ALEPIZ позволяет выполнять определенные действия (actions). Можно выполнить внутреннее действие, например завести новый объект мониторинга в ALEPIZ, либо внешнее, например, запустить сервис, или упаковать лог файлы, или выполнить обновление сервиса. Кроме того, действие может служить для просмотра информации, например можно посмотреть лог файл или данные, собранные встроенной системой мониторинга. С помощью действия можно выполнить подключение к удаленному серверу по протоколу RDP или ILO.
Можно разработать собственные действия, которые будут использоваться в обслуживании любой нестандартной инфраструктуры.

Лаунчеры
Для выполнения действий используются специальные компоненты, позволяющие их запускать, в зависимости от выбранной для действия архитектуры. Такие компоненты называются лаунчерами (launchers). Примером лаунчера может служить модуль для подключения и запуска JavaScript файла, написанного на nodejs, либо запуск внешней программы, которой будут переданы необходимые параметры, либо выполнение программы на удаленном сервере через протокол SSH или WMI.
Если существующих в ALEPIZ лаунчеров не хватает, можно самостоятельно разработать новый.
Средства связи
Для связи с пользователями используются средства связи. Средством связи может быть email, СМС, голосовое оповещение и так далее. Действия и сборщики могут использовать средства связи для передачи различной информации пользователям системы. Например, это может быть события, произошедшие в системе или изменение статуса задачи.
Если существующих в ALEPIZ средств связи не хватает, можно самостоятельно разработать новое.

Сущности ALEPIZ
Архитектура ALEPIZ максимально проста для понимания. В нем существует три встроенные сущности, с помощью которых осуществляется выполнение обслуживания инфраструктуры. Это объекты (objects), счетчики (counters) и задачи (tasks).
Объекты
Объекты это любые сущности, которые могут иметь названия. Примером объекта может быть название сервера, с которого собираются данные для мониторинга, или группа, объединяющая другие объекты (например, объект Servers, объединяющая серверы организации), или шаблон, хранящий стандартные свойства для быстрого создания новых объектов.
Счетчики
Счетчики это сущности, которые служат для сбора или генерации данных, используя сборщики с определенными параметрами. Например, сборщику Ping в качестве параметра необходимо передать имя хоста. Для каждого счетчика выбирается сборщик и настраиваются требуемые параметры для сбора данных. Счетчик всегда подключается к одному или нескольким объектам. Например, счетчик, собирающий объем доступной оперативной памяти, можно подключить к объектам, отвечающим за мониторинг серверов организации. Счетчики могут зависеть друг от друга. Сбор данных производится только при возникновении необходимых условий. Например, нет смысла собирать данные о потреблении процессом памяти до тех пор, пока процесс не запущен. Генерация различных событий мониторинга так же основана на зависимостях счетчиков.
Задачи
Задачи - это действия, объединенные в последовательность. Например, это может быть заведение нового объекта ALEPIZ и подключение к нему счетчиков для сбора необходимой информации. Либо обновление файлов сервиса и запуск SQL скрипта для модификации структуры базы данных. Задачи можно запускать различными способами, например, вручную либо по какому-то условию, либо создав для этого специальный счетчик.

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