Перейти к основному контенту

Мониторинг серверов и виртуальных машин. (Windows&Linux)

4.1 Общая постановка на мониторинг через системные шаблоны

Для заведения сервиса типа "Узел" необходимо перейти: Общее меню → Сервисы → {3A8414F7-BB15-4333-B47E-B0F490D4FF79}.png→ "+ Узел"

Далее необходимо:

    • Назвать сервис.
    • Выбрать Тип узла, из готовых, либо создать свой.
  • image.png

    • Выбрав пункт "Создать тип узла" вам будет открыто модальное окно создания собственного типа узла. Можно создать на основе системных шаблонов: Linux-сервер, Windows-сервер, PostgreSQL и т.д. В таком случае будут автоматически созданы шаблоны под ваш контрагент.

      image.png

      image.png

    • Указать зонд - агент мониторинга

{E821CDB8-6330-4F94-9971-7E092E33A268}.png

    • Следующий шаг настройка измерений и метрик из шаблона, жмем кнопку {B486EE5E-3DCE-4402-A30D-8FC7F6B74069}.png и приступаем к настройке измерений.
      В системе есть возможность редактирования системных шаблонов, включая/выключая профили измерений/метрик. 
      Есть метрики, которые не требуют дополнительных настроек при постановке на мониторинг, к примеру: метрики по профилям "Процессор" и "Память". Однако есть метрики профилей таких как "Сеть", "Процессы", где потребуется выбрать из выпадающего списка сетевой интерфейс для сбора статистики или заполнить наименование процесса или пользователя.

      image.png

      image.png

      image.png

      image.png

    • После настройки показателей жмем кнопку сохранить в модальном окне настроек показателей и жмем сохранить на странице создания/редактирования сервиса

      image.png

      image.png

       

Добавление пользовательской метрики

4.2 Добавление пользовательских метрик с использованием CS-тестов

wiProbe Custom Scenario Test в системе wiSLA — это синтетические тесты, которые имитируют деятельность пользователя. CS позволяет создавать и исполнять пользовательские скрипты, настраиваемые под конкретные задачи, что делает его незаменимым для мониторинга уникальных или нестандартных процессов в IT-инфраструктуре.
Для заведения wiProbe Custom Scenario Test необходимо:

  1. Создать тест, где прописан сам текст скрипта.
  2. Создать показатель в системе, который будет отображать метрику в системе.
  3. Добавить показатель к шаблону SLA, по которому оценивается узел. А так же указать пороговые значения, для настройки уведомлений по метрике.
  4. Добавить тест к профилю измерения, в который был включен новый показатель, в настройка "создания сервиса" для его сбора.

4.2.1 Создание теста
  • Общее меню → {0E75C718-4244-4473-8A6E-14311A9DFEB7}.png → {0FC4D290-DA20-4191-AB18-5C3C6FDE565A}.png

Далее:

    • Называем тест
    • В выпадающем списке выбираем тип "wiProbe Custom Scenario Test".
    • После выбора типа теста, потребуется выбрать агент, который будет выполнять этот скрипт.
    • Выбрать интерфейс на хосте, через который сценарий будет выполняться
    • Выбрать шаблон из системных или пользовательских. Или написать свой скрипт.

image.png

image.png

image.png

image.png

{A948B61D-5C82-47D0-929E-DF9009CD4EE4}.png

Для выполнения скрипта вы должны объявить адаптер
Основным является CommandLineAdapter

Он отвечает за запуск javascript скриптов через командную строку системы. Получение экземпляра адаптера через CommandLineAdapter: getCommandLineAdapter().

Пример:
Получение информации о свободном месте на диске С Windows


var cmd = manager.getCommandLineAdapter(); 
var free_drive_c = cmd.execute('cmd /c wmic logicaldisk where "DeviceID=\'C:\'" get FreeSpace | find /V "FreeSpace"'); 
output.hdd = free_drive_c;

Полный список адаптеров по запросу

4.2.2 Создание показателя

 В предыдущем пункте был описан скрипт, которой собирает данные по свободному месту на диске с


output.hdd = free_drive_c;

Нам нужно создать показатель в системе соответствующий названию переменной после output. в данном примере потребуется создать показатель hdd

В системе учитывается регистр!
Пример: "Hdd",  "HDD", "hDD" это три разных показателя в системе.

Для этого:

    • Общее меню → {B92431CF-4C7E-4E18-8095-6535F1559F3E}.png → {0FC4D290-DA20-4191-AB18-5C3C6FDE565A}.png

{3C502A77-EE97-4D4B-A08F-DE668FA42226}.png

В модальном окне потребуется:

  • Ввести код показателя, соответствующие названию в скрипте
  • Ввести название на русском и английском
  • Выбрать или создать свою ЕИ

4.2.3 Добавление показателя в SLA

После того как мы создали показатель, требуется добавить его в шаблон мониторинга:

Для этого:

    • Сервисы → {2A6BCE41-63E5-43AB-83E6-E96D9F1CA13C}.png 
    • Редактировать шаблон (выбираем из списка, действующий шаблон SLA)

image.png
    • Добавляем показатель к существующему измерению, либо создаём новое. Так же не забудьте указать пороговые значения отказа и деградации.

Что добавить показатель к существующему измерению, требуется добавить его к шаблону и прописать пороговые значения в соответствующем столбце. Добавить отдельный профиль SLA, для отображения на отдельной вкладке, можно через кнопку "+"

image.png

{D4A61963-9A20-484A-B5BE-8401604B9BF6}.png

image.png

Жмем кнопку  image.png

4.2.4 Добавление теста в сервис
    • Возвращаемся на страницу редактирования сервиса
    • К измерению, к которому добавили показатель, добавляем тест, который собирает наш показатель.

image.png

image.png

Жмем кнопку  image.png

Далее переходим на страницу текущих показателей качества сервиса. Переходим на измененный нами профиль.

image.png

Примеры скриптов Custom Scenario.

Скрипт проверки статуса службы Linux:


var cmd = manager.getCommandLineAdapter();
var serviceName = "guacd.service";
var zodiacServiceStatus = cmd.execute("bash", "-c", "systemctl is-active " + serviceName + " >/dev/null 2>&1 && echo 1 || echo 0");
output.zodiacServiceStatus = zodiacServiceStatus;

Скрипт проверки размера директории Linux:


var cmd = manager.getCommandLineAdapter();
var catalogOpt = "/opt";
var catalogVar = "/var";
var valueOpt = cmd.execute("bash", "-c", "df -h " + catalogOpt + " | awk 'NR==2 {print $5}' | tr -d '%'");
var valueVar = cmd.execute("bash", "-c", "df -h " + catalogVar + " | awk 'NR==2 {print $5}' | tr -d '%'");
output.valueOptProcent = valueOpt;
output.valueVarProcent = valueVar;
logger.tryLog('Процент занятого места в каталоге OPT: ' + output.valueOptProcent);
logger.tryLog('Процент занятого места в каталоге VAR: ' + output.valueVarProcent);

Скрипт проверки работы веб-портала любого приложения, доступного по сети:



 

Видеоролик

Узлы – windows & linux