Продолжаем серию материалов о простой и гибкой системе мониторинга PRTG. В прошлый раз речь шла о возможностях PRTG в целом. На этот раз остановимся на создании сенсоров. В базе PRTG — 200 готовых сенсоров и 100 шаблонов для создания новых. В этой статье расскажем, как работать с готовыми сенсорами и как создавать свои.
Детально охватить все сенсоры не получится, поэтому сосредоточимся на общих принципах, которые помогут затем ориентироваться самостоятельно.
Тестовая версия PRTG доступна на сайте. Можно пользоваться ей бесплатно тридцать дней, а дальше — либо оплатить лицензию, либо продолжать так же, но уже с ограничением на 100 сенсоров.
По умолчанию PRTG самостоятельно обнаруживает устройства сети и создает сенсоры для этих устройств. В этом случае используются только готовые сенсоры. Если ты отключил автоматическое сканирование (это, кстати, хороший способ снизить нагрузку на сервер) или PRTG не добавил нужный сенсор — можешь добавить сенсор сам.
Вот как это делается:
Посмотрим, как это делать, на примере. Добавим сенсор для мониторинга загрузки процессора на любое устройство.
Заходим в приложение PRTG.
В главном меню вверху экрана выбираем Devices. Переходим в дерево устройств.
У устройства HP ProLiant не задан сенсор мониторинга процессора. Добавим его.
Открываем список сенсоров в дереве устройств и нажимаем кнопку Add Sensor. В последних версиях кнопка расположена в самом дереве устройств справа от сенсоров.
Как вариант — можешь кликнуть правой клавишей по устройству и выбрать Add Sensor. Сразу попадаем в меню с перечнем сенсоров.
Появляется окно со списком сенсоров.
В середине экрана — поисковая строка. Вводим туда текст: CPU. Находим сенсор SNMP CPU Load Sensor и кликаем на него, чтобы добавить.
Обрати внимание на список сенсоров: у каждого иконка в виде заряда батареи. Красный цвет на иконке говорит, что сенсор сильно нагружает сервер. Сравни иконки SNMP CPU Load Sensor и Windows CPU Load Sensor, чтобы увидеть, какой сенсор больше нагружает систему.
Тебя попросят изменить базовые настройки — сканируемый интервал (scanning interval). Если нужно, внеси изменения. Чем больше сканируемый интервал (то есть время между двумя сканированиями), тем меньше нагрузка на систему.
Кликаем Create и переходим дальше. PRTG добавит и сохранит сенсор.
Сенсор не сразу станет активным, нужно подождать его активации. На это указывает серая кнопка рядом с сенсором. Чтобы ускорить активацию, зайди в сам сенсор и нажми кнопку Check Now справа несколько раз, пока иконка не станет цветной.
Сенсор SNMP CPU Load отображает загрузку процессора в процентах. Сверху — вкладки c настройками и доступом к данным за прошлый период. В правом нижнем углу рядом с изображениями стрелки — иконка настроек. Здесь можем выставить пороговое значение, при достижении которого сенсор объявит тревогу.
Добавить готовый сенсор очень просто. Другое дело, когда готовых шаблонов не хватает и нужно создавать уникальные сенсоры.
Мы можем создать сенсоры для серверов, файрволов, хранилищ данных, камер наблюдения и прочего оборудования с помощью файлов MIB или добавляя собственные скрипты. Во втором случае требуется знание PowerShell или VBScript. В первом случае нужно найти MIB.
В целом процесс выглядит так:
/snmplibs
;Разберем на примере мониторинга видеокамеры.
Попробуем запустить мониторинг статуса камеры видеонаблюдения через файл MIB. Заодно научимся выводить изображения с внешних источников на дашборд PRTG, как на скриншоте ниже.
Если есть доступ к внешним камерам наблюдения, то можно и так.
Здесь контролируется не только ситуация снаружи, но и состояние самих камер.
В нашей группе на GitLab собраны файлы MIB для оборудования разных производителей. Там же ты найдешь шаблоны и сенсоры, не вошедшие в основной релиз, а также файлы для мониторинга устройств Sophos, Mikrotik, Palo Alto Networks, Juniper, Fortinet, Brocade, Cisco и других.
В качестве примера рассмотрим мониторинг камеры Axis.
Чтобы превратить MIB в библиотеку формата OID, проделываем следующее.
Сконвертированные MIB-файлы отражены в окне слева. Если их раскрыть, найдем OID-файлы.
Переходим File → Enable Partial Selection, раскрываем файлы MIB и отмечаем галочками файлы OID, которые будут нужны для мониторинга. Можно отметить все.
Axis_partial.oidlib
. Название может быть любым, но расширение должно быть oidlib
.С конвертацией закончили.
Axis_partial.oidlib
) копируем в папку С:Program Files (x86)PRTG Network Monitorsnmplibs
.
SNMP Library sensor — это специальный сенсор. Он находит OID, сопоставляет их с устройством и помогает создавать к ним сенсоры.
the scan for available monitoring items has failed on this device: No such object (SNMP error # 222)
.Чтобы добавить любую внешнюю информацию, используются теги IFRAME
или IMG
в редакторе панели управления. IFRAME
или IMG
должны вести на страницу. Если необходимая информация реализована в виде скрипта, создай отдельную страницу на веб-сервере и запусти скрипт. На эту страницу будет вести ссылка. Используй адреса HTTPS, поскольку HTTP может не работать.
<iframe src='https://АДРЕС ТВОЕЙ ВЕБ-КАМЕРЫ' style='border:0px #ffffff none;' name='myiFrame' scrolling='no' frameborder='1' marginheight='0px' marginwidth='0px' height='400px' width='600px' allowfullscreen=''></iframe>
Принцип следующий: мы можем написать скрипт сами на PowerShell или взять какой-то готовый. Затем сохраняем скрипт в файл в папку С:Program Files (x86)PRTG Network MonitorCustom SensorsEXEXML
и используем сенсор EXE/Script Advanced Sensor, чтобы создать сенсор на основе скрипта.
Разберем на примере. Создадим сенсор, который будет находить в Active Directory заблокированных (locked-out) и недоступных (disabled) пользователей. Сенсор не только укажет количество аккаунтов, но и выведет адреса аккаунтов в поле сообщений (last message field).
Import-Module ActiveDirectory $server=Search-ADAccount -AccountDisabled -UsersOnly | select SamAccountName if ($server.count -eq $null -and $server -eq $null){ $a=0 } Elseif ($server.count -eq $null -and $server -ne $null){ $a=1 } Else { $a=@($server.count) } Write-Host "<prtg>" Write-Host "<result>" "<channel>Locked Out Users</channel>" "<value>"+ $a +"</value>" "</result>" "<text>" + (($server | select SamAccountName | ConvertTo-Csv -NoTypeInformation | select -skip 1 ) -join ", ").replace("""","") + "</text>" Write-Host "</prtg>"
Сохраняем в виде текстового документа с расширением .ps1, например ADLockDisableUsers.ps1
.
Находим папку Custom SensorsEXEXML
в инсталляции PRTG. Копируем туда ADLocktDisableUsers.ps1
.
Заходим в PRTG. Добавляем сенсор к устройству, где установлена PRTG (поле Add Sensor). Среди предложенных сенсоров ищем сенсор EXE/Script Advanced Sensor. Сенсор EXE/Script Advanced Sensor запускает файлы .exe и .dll и скрипты (пакетные файлы, PowerShell или VBScript).
Указываем наш файл ADLocktDisableUsers.ps1
. Если все верно, будет создан сенсор.
Работа со скриптами требует, чтобы на сервере был запущен модуль Active Directory PS Module. Информация о том, как его установить, доступна в блоге Microsoft.
Вопросы и предложения оставляй в комментариях или на сайте в форме обратной связи.
Читайте также
Последние новости