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

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

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

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

- - Назвать **сервис**.
    - Выбрать **Тип узла**, из готовых, либо создать свой.
- <div class="tableWrap"><table border="1"><colgroup><col></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>
    
    </div>
    - Выбрав пункт "Создать тип узла" вам будет открыто модальное окно создания собственного типа узла. Можно создать на основе системных шаблонов: Linux-сервер, Windows-сервер, PostgreSQL и т.д. В таком случае будут автоматически созданы шаблоны под ваш контрагент. <div class="tableWrap"><table border="1"><colgroup><col></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>
        
        </div>
    - Указать **зонд - агент мониторинга**

<div class="tableWrap" id="bkmrk-"><table border="1" id="bkmrk--34"><colgroup><col></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>

</div>- - Следующий шаг настройка измерений и метрик из шаблона, жмем кнопку [![{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) и приступаем к настройке измерений.  
        В системе есть возможность редактирования системных шаблонов, включая/выключая профили измерений/метрик.   
        Есть метрики, которые не требуют дополнительных настроек при постановке на мониторинг, к примеру: метрики по профилям "Процессор" и "Память". Однако есть метрики профилей таких как "Сеть", "Процессы", где потребуется выбрать из выпадающего списка сетевой интерфейс для сбора статистики или заполнить наименование процесса или пользователя. <div class="tableWrap"><table border="1"><colgroup><col></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>
        
        </div>
    - После настройки показателей жмем кнопку сохранить в модальном окне настроек показателей и жмем сохранить на странице создания/редактирования сервиса <div class="tableWrap"><table border="1"><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>
        
        </div>

<details id="bkmrk-%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82"><summary>Добавление пользовательской метрики</summary>

### 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](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)**

Далее:

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

<div class="tableWrap"><table border="1" id="bkmrk--35"><colgroup><col></col></colgroup><tbody><tr><td>[![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><td>[![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><td>[![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><td>[![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>

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

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

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

<div><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1u"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">var cmd = manager.getCommandLineAdapter(); </div><div class="cm-line">var free_drive_c = cmd.execute('cmd /c wmic logicaldisk where "DeviceID=\'C:\'" get FreeSpace | find /V "FreeSpace"'); </div><div class="cm-line">output.hdd = free_drive_c;</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div></div>Полный список адаптеров **[по запросу](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)**

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

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

<div><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1v"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">output.hdd = free_drive_c;</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div></div>Нам нужно создать показатель в системе соответствующий названию переменной после **output.** в данном примере потребуется создать показатель hdd

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

Для этого:

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

<div class="tableWrap"><table border="1" id="bkmrk--36"><colgroup><col></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>

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

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

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

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

Для этого:

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

<div class="tableWrap"><table border="1" id="bkmrk--38"><colgroup><col></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>

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

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

<div class="tableWrap"><table border="1" id="bkmrk--39"><colgroup><col></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>

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

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

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

<div class="tableWrap"><table border="1" id="bkmrk--40"><colgroup><col></col></colgroup><tbody><tr><td>[![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><td>[![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>

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

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

<div class="tableWrap"><table border="1" id="bkmrk--41"><colgroup><col></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>

</div>**Примеры скриптов Custom Scenario.**

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

<div><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1w"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div><div class="cm-gutterElement">4</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">var cmd = manager.getCommandLineAdapter();</div><div class="cm-line">var serviceName = "guacd.service";</div><div class="cm-line">var zodiacServiceStatus = cmd.execute("bash", "-c", "systemctl is-active " + serviceName + " &gt;/dev/null 2&gt;&amp;1 &amp;&amp; echo 1 || echo 0");</div><div class="cm-line">output.zodiacServiceStatus = zodiacServiceStatus;</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div></div>Скрипт проверки размера директории Linux:

<div><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1x"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div><div class="cm-gutterElement">4</div><div class="cm-gutterElement">5</div><div class="cm-gutterElement">6</div><div class="cm-gutterElement">7</div><div class="cm-gutterElement">8</div><div class="cm-gutterElement">9</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" role="textbox" spellcheck="false" translate="no" writingsuggestions="false"><div class="cm-line">var cmd = manager.getCommandLineAdapter();</div><div class="cm-line">var catalogOpt = "/opt";</div><div class="cm-line">var catalogVar = "/var";</div><div class="cm-line">var valueOpt = cmd.execute("bash", "-c", "df -h " + catalogOpt + " | awk 'NR==2 {print $5}' | tr -d '%'");</div><div class="cm-line">var valueVar = cmd.execute("bash", "-c", "df -h " + catalogVar + " | awk 'NR==2 {print $5}' | tr -d '%'");</div><div class="cm-line">output.valueOptProcent = valueOpt;</div><div class="cm-line">output.valueVarProcent = valueVar;</div><div class="cm-line">logger.tryLog('Процент занятого места в каталоге OPT: ' + output.valueOptProcent);</div><div class="cm-line">logger.tryLog('Процент занятого места в каталоге VAR: ' + output.valueVarProcent);</div></div><div aria-hidden="true" class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div aria-hidden="true" class="cm-layer cm-selectionLayer">  
</div></div></div></div>Скрипт проверки работы веб-портала любого приложения, доступного по сети:

<div><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1y"><div aria-live="polite" class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div aria-hidden="true" class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div><div class="cm-gutterElement">4</div><div class="cm-gutterElement">5</div><div class="cm-gutterElement">6</div><div class="cm-gutterElement">7</div><div class="cm-gutterElement">8</div><div class="cm-gutterElement">9</div><div class="cm-gutterElement">10</div><div class="cm-gutterElement">11</div><div class="cm-gutterElement">12</div><div class="cm-gutterElement">13</div><div class="cm-gutterElement">14</div><div class="cm-gutterElement">15</div><div class="cm-gutterElement">16</div><div class="cm-gutterElement">17</div><div class="cm-gutterElement">18</div><div class="cm-gutterElement">19</div><div class="cm-gutterElement">20</div><div class="cm-gutterElement">21</div><div class="cm-gutterElement">22</div></div></div><div aria-multiline="true" aria-readonly="true" autocapitalize="off" autocorrect="off" class="cm-content" contenteditable="true" data-language="javascript" role="textbox" spellcheck="false" translate="no" writingsuggestions="false">  
</div></div></div></div></details>### Видеоролик

[**Узлы – windows &amp; linux** ](https://rutube.ru/video/47afb183f48fe1b7be84704f62cc5ba8/)