# 4. Постановка на мониторинг серверов под управлением ОС Linux/Windows

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

<span style="color: rgb(0, 0, 0);">Для заведения сервиса типа "**Узел**" н</span><span style="color: #000000;">еобходимо перейти: </span><span style="color: rgb(0, 0, 0);">Общее меню **→ Сервисы →**</span><span style="color: rgb(0, 0, 0);"> ![{3A8414F7-BB15-4333-B47E-B0F490D4FF79}.png](https://wiki.wellink.ru/uploads/images/gallery/2025-10/scaled-1680-/3a8414f7-bb15-4333-b47e-b0f490d4ff79.png)**→ "**+ **Узел"**</span>

<span style="color: rgb(0, 0, 0);">Далее необходимо:</span>

- - <span style="color: rgb(0, 0, 0);">Назвать **сервис**.</span>
    - <span style="color: rgb(0, 0, 0);">Выбрать **Тип узла**, из готовых, либо создать свой.</span>
- <table border="1" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.8711%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/kEximage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/kEximage.png)
    
    </td></tr></tbody></table>
    
    
    - <span style="color: #000000;">Выбрав пункт "Создать тип узла" вам будет открыто модальное окно создания собственного типа узла. Можно создать на основе системных шаблонов: Linux-сервер, Windows-сервер, PostgreSQL и т.д. В таком случае будут автоматически созданы шаблоны под ваш контрагент.</span><table border="1" style="border-collapse: collapse; width: 100.051%;"><colgroup><col style="width: 99.8645%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/p95image.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/p95image.png)
        
        </td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/fPRimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/fPRimage.png)
        
        </td></tr></tbody></table>
    - <span style="color: #000000;">Указать **зонд - агент мониторинга**</span>

<table border="1" id="bkmrk--34" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>[![{E821CDB8-6330-4F94-9971-7E092E33A268}.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/e821cdb8-6330-4f94-9971-7e092e33a268.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/e821cdb8-6330-4f94-9971-7e092e33a268.png)

</td></tr></tbody></table>

- - <span style="color: rgb(0, 0, 0);">Следующий шаг настройка измерений и метрик из шаблона, жмем кнопку [![{B486EE5E-3DCE-4402-A30D-8FC7F6B74069}.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/b486ee5e-3dce-4402-a30d-8fc7f6b74069.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/b486ee5e-3dce-4402-a30d-8fc7f6b74069.png) и приступаем к настройке измерений.</span>  
        <span style="color: rgb(0, 0, 0);">В системе есть возможность редактирования системных шаблонов, включая/выключая профили измерений/метрик. </span>  
        <span style="color: rgb(0, 0, 0);">Есть метрики, которые не требуют дополнительных настроек при постановке на мониторинг, к примеру: метрики по профилям "Процессор" и "Память". Однако есть метрики профилей таких как "Сеть", "Процессы", где потребуется выбрать из выпадающего списка сетевой интерфейс для сбора статистики или заполнить наименование процесса или пользователя.</span><table border="1" style="border-collapse: collapse; width: 100.051%;"><colgroup><col style="width: 99.8645%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/vAEimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/vAEimage.png)
        
        </td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/YDWimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/YDWimage.png)
        
        </td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/rfSimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/rfSimage.png)
        
        </td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/cNDimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/cNDimage.png)
        
        </td></tr></tbody></table>
    - После настройки показателей жмем кнопку сохранить в модальном окне настроек показателей и жмем сохранить на странице создания/редактирования сервиса <table border="1" style="border-collapse: collapse; width: 100.051%;"><colgroup><col style="width: 99.8645%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/rfnimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/rfnimage.png)
        
        </td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2025-12/scaled-1680-/xkGimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2025-12/xkGimage.png)
        
        </td></tr></tbody></table>

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

<span style="color: rgb(52, 73, 94);">**wiProbe Custom Scenario Test**</span> в системе **wiSLA** — это синтетические тесты, которые имитируют деятельность пользователя. **CS** позволяет создавать и исполнять пользовательские скрипты, настраиваемые под конкретные задачи, что делает его незаменимым для мониторинга уникальных или нестандартных процессов в IT-инфраструктуре.  
Для заведения <span style="color: rgb(52, 73, 94);">**wiProbe Custom Scenario Test** необходимо:</span>

1. <span style="color: rgb(52, 73, 94);">Создать тест, где прописан сам текст скрипта.</span>
2. <span style="color: rgb(52, 73, 94);">Создать показатель в системе, который будет отображать метрику в системе.</span>
3. <span style="color: rgb(52, 73, 94);">Добавить показатель к шаблону SLA, по которому оценивается узел. А так же указать пороговые значения, для настройки уведомлений по метрике.  
    </span>
4. <span style="color: rgb(52, 73, 94);">Добавить тест к профилю измерения, в который был включен новый показатель, в настройка "создания сервиса" для его сбора.</span>

##### <span style="color: rgb(52, 73, 94);">4.2.1 Создание теста</span>

- Общее меню <span style="color: rgb(0, 0, 0);">**→ ![{0E75C718-4244-4473-8A6E-14311A9DFEB7}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/0e75c718-4244-4473-8a6e-14311a9dfeb7.png) → ![{0FC4D290-DA20-4191-AB18-5C3C6FDE565A}.png](https://wiki.wellink.ru/uploads/images/gallery/2025-10/scaled-1680-/0fc4d290-da20-4191-ab18-5c3c6fde565a.png)**</span>

<span style="color: rgb(52, 73, 94);">Далее: </span>

- - <span style="color: rgb(52, 73, 94);">Называем тест</span>
    - <span style="color: rgb(52, 73, 94);">В выпадающем списке выбираем тип "**wiProbe Custom Scenario Test**".</span>
    - <span style="color: rgb(52, 73, 94);">После выбора типа теста, потребуется выбрать агент, который будет выполнять этот скрипт.</span>
    - <span style="color: rgb(52, 73, 94);">Выбрать интерфейс на хосте, через который сценарий будет выполняться</span>
    - <span style="color: rgb(52, 73, 94);">Выбрать шаблон из системных или пользовательских. Или написать свой скрипт.</span>

<table border="1" id="bkmrk--35" style="border-collapse: collapse; width: 100%; height: 1317.05px;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr style="height: 289.648px;"><td style="height: 289.648px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/PR3image.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/PR3image.png)

</td></tr><tr style="height: 388.789px;"><td style="height: 388.789px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/1Juimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/1Juimage.png)

</td></tr><tr style="height: 313.926px;"><td style="height: 313.926px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/83gimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/83gimage.png)

</td></tr><tr style="height: 324.688px;"><td style="height: 324.688px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/rgYimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/rgYimage.png)

</td></tr><tr><td>[![{A948B61D-5C82-47D0-929E-DF9009CD4EE4}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/a948b61d-5c82-47d0-929e-df9009cd4ee4.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/a948b61d-5c82-47d0-929e-df9009cd4ee4.png)

</td></tr></tbody></table>

<span style="color: rgb(52, 73, 94);">Для выполнения скрипта вы должны объявить адаптер  
Основным является **CommandLineAdapter**</span>

<span style="color: rgb(52, 73, 94);">Он отвечает за запуск javascript скриптов через командную строку системы. Получение экземпляра адаптера через CommandLineAdapter: getCommandLineAdapter().</span>

<span style="color: rgb(52, 73, 94);">**Пример:** <u>Получение информации о свободном месте на диске С Windows</u></span>

```
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;
```

<span style="color: rgb(0, 0, 0);"><span style="color: rgb(52, 73, 94);">Полный список адаптеров</span> **[по запросу](https://wiki.wellink.ru/books/razdel-dlia-razrabotcikov-wisla/page/spisok-adapterov-custom-scenario-instrukciia-po-formirovaniiu-skripta-dlia-wiprobe-custom-scenario-test-scenarii-ispolzovaniia)** </span>

##### <span style="color: rgb(52, 73, 94);">4.2.2 Создание показателя</span>

<span style="color: rgb(0, 0, 0);"> В предыдущем пункте был описан скрипт, которой собирает данные по свободному месту на диске с</span>

```
output.hdd = free_drive_c;
```

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

<p class="callout info">В системе учитывается регистр!  
Пример: "Hdd", "HDD", "hDD" это три разных показателя в системе.</p>

Для этого:

- - Общее меню <span style="color: rgb(0, 0, 0);">**→ ![{B92431CF-4C7E-4E18-8095-6535F1559F3E}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/b92431cf-4c7e-4e18-8095-6535f1559f3e.png)**</span><span style="color: rgb(0, 0, 0);"> **→ ![{0FC4D290-DA20-4191-AB18-5C3C6FDE565A}.png](https://wiki.wellink.ru/uploads/images/gallery/2025-10/scaled-1680-/0fc4d290-da20-4191-ab18-5c3c6fde565a.png)**</span>

<table border="1" id="bkmrk--36" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>[![{3C502A77-EE97-4D4B-A08F-DE668FA42226}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/3c502a77-ee97-4d4b-a08f-de668fa42226.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/3c502a77-ee97-4d4b-a08f-de668fa42226.png)

</td></tr></tbody></table>

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

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

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

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

Для этого:

- - Сервисы <span style="color: rgb(0, 0, 0);">**→** </span>![{2A6BCE41-63E5-43AB-83E6-E96D9F1CA13C}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/2a6bce41-63e5-43ab-83e6-e96d9f1ca13c.png)
    - Редактировать шаблон (выбираем из списка, действующий шаблон SLA)

<table border="1" id="bkmrk--38" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/8oMimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/8oMimage.png)</td></tr></tbody></table>

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

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

<table border="1" id="bkmrk--39" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/qFtimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/qFtimage.png)

</td></tr><tr><td>[![{D4A61963-9A20-484A-B5BE-8401604B9BF6}.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/d4a61963-9a20-484a-b5be-8401604b9bf6.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/d4a61963-9a20-484a-b5be-8401604b9bf6.png)

</td></tr><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/Cd9image.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/Cd9image.png)

</td></tr></tbody></table>

Жмем кнопку ![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/Uguimage.png)

##### 4.2.4 Добавление теста в сервис

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

<table border="1" id="bkmrk--40" style="border-collapse: collapse; width: 100%; height: 454.609px;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr style="height: 424.57px;"><td style="height: 424.57px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/cwyimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/cwyimage.png)

</td></tr><tr style="height: 30.0391px;"><td style="height: 30.0391px;">[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/PgTimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/PgTimage.png)

</td></tr></tbody></table>

Жмем кнопку ![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/Uguimage.png)

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

<table border="1" id="bkmrk--41" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 99.881%;"></col></colgroup><tbody><tr><td>[![image.png](https://wiki.wellink.ru/uploads/images/gallery/2026-03/scaled-1680-/MwEimage.png)](https://wiki.wellink.ru/uploads/images/gallery/2026-03/MwEimage.png)

</td></tr></tbody></table>

**Примеры скриптов 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)
```

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

```javascript
var cmd = manager.getCommandLineAdapter();
var url = "portal.example.com";
var http_port = "80";
var https_port= "443";

var portal_status = cmd.execute("bash", "-c", "curl -k -s -o /dev/null -w \"%{http_code}\" -L https://" + url + "/#/login | grep -qE \"^200\$\" && echo 1 || echo 0");
output.PORTAL_STAT = portal_status;

var portal_portcheck_http = cmd.execute("bash", "-c", "curl -s -o /dev/null -w \"%{http_code}\" http://" + url + ":" + http_port + " | grep -q \"200\\|301\" && echo 1 || echo 0");
output.PORTAL_CK_HTTP = portal_portcheck_http;

var portal_portcheck_https = cmd.execute("bash", "-c", "curl -k -s -o /dev/null -w \"%{http_code}\" -L https://" + url + ":" + https_port + " | grep -qE \"^(200|301)\$\" && echo 1 || echo 0");
output.PORTAL_CK_HTTPS = portal_portcheck_https;

var portal_downtime = cmd.execute("bash", "-c", "curl -k -o /dev/null -s -w \"%{time_total}\\n\" https://" + url + " | sed 's/,/./' | awk '{print \$1 * 1000}'");
output.PORTAL_DTIME = portal_downtime;

var portal_server_code = cmd.execute("bash", "-c", "echo \"\$(curl -s -k -w \"%{http_code}\" https://" + url + "/#/login | tail -n 1)\"");
output.PORTAL_SRV_CODE = portal_server_code;

var portal_certcheck = cmd.execute("bash", "-c", "echo \"\$(( ( \$(date -d \"\$(curl -vkI https://" + url + " 2>&1 | grep \"expire date\" | awk -F': ' '{print \$2}')\" +%s) - \$(date +%s) ) / 86400 ))\"");
output.PORTAL_CERT_CK = portal_certcheck;
```


### 4.3 Цели обучения

Выполнить заведение следующих системных сущностей

<table border="1" id="bkmrk-%E2%84%96-%D0%A2%D0%B8%D0%BF-%D0%92%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%BE-%D0%9A%D0%BE%D0%BC%D0%BC-2" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 4.43456%;"></col><col style="width: 45.625%;"></col><col style="width: 25.0298%;"></col><col style="width: 25.0298%;"></col></colgroup><tbody><tr><td>№</td><td>Тип</td><td>Выполнено</td><td>Комментарий</td></tr><tr><td>1</td><td>Создать собственный тип узала</td><td>  
</td><td>  
</td></tr><tr><td>2</td><td>Завести сервис типа "Узел"</td><td>  
</td><td>  
</td></tr><tr><td>3</td><td>Добавить пользовательскую метрику к системному шаблону и обеспечить её сбор</td><td>  
</td><td>  
</td></tr></tbody></table>