Сегодня я расскажу вам про необычную систему мониторинга и управления it инфраструктурой, которую ранее уже описывал и тестировал. Речь пойдет про установку Veliam в виде коробочной self-hosted версии, которую можно развернуть на своем сервере. Раньше режим работы был только в качестве облачного мониторинга по принципу SaaS. Теперь вы можете не беспокоиться о приватности и разместить все внутри своей инфраструктуры.
Введение
Для начала кратко расскажу, что такое Veliam. Вот основное из того, что эта система умеет:
- Мониторинг компьютеров и серверов на базе Windows и Linux. В комплекте есть готовые метрики и триггеры, можно ничего самостоятельно дополнительно не настраивать. Мониторинг безагентный, так что на целевые системы агенты ставить не надо. Windows мониторится через WMI, Linux через SSH.
- Удаленный доступ к добавленным хостам через систему мониторинга. Работает это следующим образом. Добавляете систему в мониторинг, указываете учетные данные для удаленного доступа. После этого по клику на сервер в мониторинге вы автоматически к нему подключаетесь через ssh или rdp. Так же работает и подключение к Mikrotik через Winbox.
- Оповещения на почту или в Telegram. Работает из коробки, отдельно ничего ставить или настраивать не надо. Нужны только учетные данные для отправки.
- Helpdesk система, интегрированная с мониторингом. На каждый триггер автоматически создается заявка. Так же через эту систему заявки могут создавать пользователи. То есть это полноценная helpdesk система.
- Удаленное подключение сотрудников к своим компьютерами или терминальному серверу. Для пользователя можно сформировать .exe файл, запустив который он сразу же подключается к желаемому компьютеру.
Подробно весь этот функционал я описывал в предыдущих статьях:
- Veliam - мониторинг и управление ИТ инфраструктурой
- Удаленный доступ сотрудников и HelpDesk с помощью Veliam
Если вас заинтересовала система, рекомендую начать знакомство с указанных статей, причем именно в приведенном порядке. Сегодня же я рассмотрю новый функционал, а конкретно вот что:
- Коробочная версия Veliam, которая позволяет полностью развернуть всю систему на своих серверах, без привязки к облаку.
- Создание собственных внешних проверок на базе скриптов powershell или bash и триггеров к ним.
- Мониторинг по SNMP.
Начнем по порядку с установки собственного сервера управления всей инфраструктурой Veliam.
Установка собственного сервера Veliam Box
Для начала расскажу пару слов об архитектуре решения, если вы с ним еще не знакомы. Veliam состоит из следующих компонентов:
- Veliam Center - ядро всей системы. В случае SaaS версии, оно расположено на серверах разработчиков. В версии BOX у вас есть возможность развернуть его у себя. Ядро взаимодействует с базой данных. Вся основная информация хранится в нем.
- Veliam Server - сервер мониторинга. Занимается непосредственно сбором данных с объектов мониторинга. Подобных серверов может быть развернуто несколько в зависимости от схемы наблюдаемой инфраструктуры.
- Veliam Client - приложение, которое устанавливается на компьютер администратора системы. С помощью этого приложения происходит управление всей системой. Client подключается напрямую к ядру.
Ечли вы знакомы с архитектурой мониторинга Zabbix, то сопоставить с Veliam их можно следующим образом:
- Veliam Center - Zabbix Server
- Veliam Server - Zabbix Proxy
- Veliam Client - Zabbix web interface
Для того, чтобы развернуть Veliam Center у себя, необходимо его скачать. Это можно сделать в личном кабинете, предварительно зарегистрировавшись в нем.
Дистрибутив весит чуть более 200мб. Установить его можно на любую современную Windows систему. Для экономии можно взять Windows 10, не обязательно серверную версию. Если предполагается мониторинг небольшой инфраструктуры, все 3 компонента системы можно установить на один и тот же компьютер или виртуальную машину. Если же потребуется масштабирование, то каждый компонент может быть установлен отдельно.
Инсталлятор показывает требуемое доступное место с большим запасом. Так как все данные будут храниться локально в базе данных, желательно озаботиться наличием свободного места заранее. Непосредственно для установки достаточно будет примерно 1 Гб свободного места на все.
После установки вам нужно будет подключить Veliam Server к Center. Если все установлено локально на один компьютер, то в качестве адреса укажите 127.0.0.1. Логин и пароль по умолчанию - admin / admin.
Если все прошло успешно, то увидите информационное сообщение об этом.
Теперь можно запустить Veliam Client Box (ярлык должен быть на рабочем столе) и подключиться к системе для дальнейшей настройки. Для этого нужно добавить адрес Center в клиенте. Если подключаетесь локально, указываем 127.0.0.1. Но я бы рекомендовал установить клиент на свое рабочее устройство. Так будет просто удобнее. Если вы будете активно использовать систему, то клиент нужен будет постоянно. При подключении используем ту же самую учетную запись - admin / admin.
После того, как вы первый раз подключитесь к Veliam Center, увидите информацию о том, что он не активирован. Активировать пробную версию на 30 дней можно через личный кабинет. Для этого в клиенте перейдите в раздел Активация и нажмите Активировать офлайн.
Скопируйте строку запроса лицензии и переместитесь в личный кабинет https://lic.veliam.com в раздел Лицензии коробочной версии и сертификаты поддержки. Там выберите строку с неактивированной лицензией и далее в поле с запросом лицензии вставьте запрос, который вы скопировали в клиенте. В ответ получите строку с активацией.
Скопируйте ее и вставьте в клиенте в поле Строка активации. Все, ваш Veliam Box активирован и готов к настройке.
Настройка мониторинга
В предыдущих статьях я подробно рассказывал, как настраивать мониторинг и добавлять объекты в систему. Сейчас кратко покажу самое основное, чтобы можно было двигаться дальше и рассматривать дополнительный функционал в виде собственных триггеров и внешних проверок.
После первого подключения через клиента, вы увидите свой единственный сервер мониторинга. Выберите его и нажмите правой кнопкой мыши. В выпадающем меню выберите раздел Добавить / Удалить -> Добавить объект.
Дальше достаточно указать имя объекта и его адрес. После этого сразу же заработает мониторинг доступности с помощью пингов. Для того, чтобы собирать остальные метрики, необходимо добавить учетную запись с соответствующими правами. Для этого выделите добавленный сервер, нажмите правой кнопкой мыши и выберите раздел Задать пароли для работы аналитики.
Задайте учетную запись WMI для Windows систем или SSH пользователя для Linux. После успешного добавления этой информации, вы можете наблюдать базовые метрики в разделе Информация.
Подобным образом вам следует добавить все объекты мониторинга. Без каких-то ручных настроек вы получите всю базовую информацию по основным метрикам серверов - cpu, память, диски, сеть и т.д. Если у вас возникают трудности с доступом к компьютерам по WMI, смотрите мою статью на эту тему. В случае потребностей в каких-то своих дополнительных метриках, далее я расскажу, как их настроить с помощью запуска внешних powershell скриптов.
Но перед этим еще задержусь на небольшом нюансе, который нам понадобится в будущем. Хосты имеет смысл сразу же объединить в группы. Делается это в Меню -> Группы объектов.
Я сделал отдельные группы для Windows хостов и Микротиков. Это нам понадобится, когда мы будет настраивать шаблон для snmp мониторинга. Изменить принадлежность хоста к той или иной группе можно в Редактировании.
Пользовательские триггеры в Veliam
Собственные проверки в Veliam называются специальные триггеры. С их помощью можно запустить какой-то свой скрипт и анализировать его вывод. На основании этого вывода сработает тот или иной триггер с автоматическим созданием заявки в HelpDesk системе. Я проверю этот функционал на примере Hyper-V и анализа состояния виртуальных машин. Напишу простой powershell скрипт, который будет проверять статус всех виртуалок. И если хоть одна из них будет в состоянии stop, сработает триггер.
Идем на Hyper-V сервер и пишем там простой скрипт примерно следующего содержания.
$VMs = Get-VM $i = 0 foreach ($VM in $VMs){ if($VM.state -eq 'off'){ Write-Host -ForegroundColor red "VM Stop" " - " $VM.name $i++ } } If($i -eq 0){ Write-host -ForegroundColor green "VM_WORK_SUCCESS"}
Мы собираем информацию обо всех VM и если статус хотя бы одной из них off, выводим об этом информацию в консоль. Если таких машин нет, то выводим строку VM_WORK_SUCCESS. Именно по этой строке мы и будем ориентироваться в триггере. Если она есть, то все в порядке, если нет - срабатывает триггер. Сохраняем скрипт по пути C:\bin\get-vm-status.ps1.
Теперь идем в Veliam, выбираем хост Hyper-V и редактируем его. Переходим на вкладку Специальные триггеры и добавляем новый триггер.
Триггер сработает, если указанный в строке текст не будет найден в выводе. Идем проверять вывод, предварительно выключив несколько виртуальных машин. Работа специальных триггеров отражена там же, где и основной мониторинг, в разделе Информация хоста, в отдельной вкладке.
Идем в HelpDesk и сморим, есть ли заявка по данному триггеру.
Таким образом можно бесконечно расширять базовый функционал мониторинга. Возможности ограничены только вашими способностями к написанию скриптов. Подобным же образом работают bash скрипты в Linux, поддержка которых уже запланирована, но еще не включена полностью в предлагаемую для установки версию Box. Например, банальным запросом к состоянию рейда mdadm можно настроить оповещение о его проблемах.
# egrep -c "\[.*_.*\]" /proc/mdstat
На выходе будет 0, если все в порядке, или 1, если есть пропуски в статусах дисков в виде символа нижнего подчеркивания.
Мониторинг по SNMP
Рассмотрю еще одно нововведение Veliam - мониторинг по snmp. Для примера возьму Mikrotik и настрою с помощью snmp мониторинг статуса трех его интерфейсов. В случае, если кто-нибудь из них изменит свой статус на отличный от Up, сработает триггер и будет создана заявка в HelpDesk.
Для того, чтобы добавить свои проверки по snmp, необходимо в Меню выбрать SNMP.
Переходим на вкладку OID Метрики и добавляем новую.
Заполняем все обязательные поля. Я достаточно много работал с микротиками, поэтому знаю его основные oid. Для того, чтобы посмотреть статус интерфейса, достаточно обратиться по адресу 1.3.6.1.2.1.2.2.1.8.1, где последняя цифра это номер интерфейса. Для ether2 и ether3 адреса будут соответственно 1.3.6.1.2.1.2.2.1.8.2 и 1.3.6.1.2.1.2.2.1.8.3. Добавляем по аналогии остальные два интерфейса. При snmp запросе вам будет возвращено число. 1 означает статус up, 2 - down. Остальные статусы не помню, но в контексте данной задачи они меня не сильно волнуют. Меня не устроит любой статус, кроме 1.
Тип принимаемых данных можно изменить с числа на строку и тогда вам будет доступен функционал автозамены строки. Например, строку с числом 1 вы можете заменить на строку Up, 2 - на Down и так далее.
Также для ускорения создания однотипных метрик есть возможность использовать умное копирование элемента, где вы указываете последний символ в виде маски и далее он автоматически заменяется на всех добавляемых элементах. Таким образом мониторинг типового свитча на 24 порта сводится к настройке метртик одного порта, а дальше все автоматически копируется на любое количество портов.
Теперь создадим триггер, который сработает, если статус интерфейса изменится на что-то отличное от 1. Для этого указываем следующие параметры триггера.
По аналогии добавляем такие же триггеры для остальных интерфейсов. Проверить статус snmp проверок можно в соответствующем разделе хоста. Добавленные метрики автоматически распространятся на все хосты группы Mikrotik, которую мы создали ранее.
Я предварительно деактивировал Ether2, чтобы проверить работу триггера. Иду в HelpDesk и смотрю, появился ли там новый инцидент. Инцидент создан, администратору было отправлено уведомление через настроенные способы оповещений.
Подобным образом можно создавать свои шаблоны мониторинга по snmp и экспортировать / импортировать их. Разработчики обещают свои базовые шаблоны из коробки для мониторинга типовых метрик наиболее популярных устройств.
Я рассмотрел не весь функционал snmp мониторинга. Дополнительно вы можете настраивать:
- Предобработку сырой метрики. Например, перевести трафик сетевого интерфейса из битов в байты делением на 8. Или вычислить изменение значения в секунду.
- Вычисляемые значения. В них вы можете производить математические операции над несколькими метриками. Складывать, делить, вычислять среднее, % от какого-то числа и т.д.
Заключение
Система комплексного управления IT инфраструктурой Veliam получила функционал, позволяющий практически неограниченное расширение мониторинга. Отличительной чертой Veliam была простота и скорость настройки, когда практически все работает сразу же из коробки. Но минусом тут были ограниченные возможности, зашитые изначально в систему. Проста установки и запуска в работу никуда не делись, но теперь добавилась гибкость в способах эксплуатации. Плюс, у вас есть возможность разместить все у себя, если вы не доверяете облачной модели распространения сервисов, когда данные хранятся у третьей стороны.
Хоть и пост старый, но думаю, что имеет смысл указать информацию от разработчика:
Всем добрый день.
Исключительные права на ПО Veliam проданы. На текущий момент, новые регистрации недоступны. А старые облачные аккаунты могут быть реорганизованы. Лично у меня нет возможности гарантировать сейчас бесперебойную работу.
В скором времени, после некоторых доработок, продукт появится под новым брендом от нового владельца.
Когда будет новый продукт и облачная версия, к сожалению, я не знаю.