Содержание статьи
Детально охватить все сенсоры не получится, поэтому сосредоточимся на общих принципах, которые помогут затем ориентироваться самостоятельно.
Тестовая версия PRTG доступна на сайте. Можно пользоваться ей бесплатно тридцать дней, а дальше — либо оплатить лицензию, либо продолжать так же, но уже с ограничением на 100 сенсоров.
Готовые сенсоры
По умолчанию PRTG самостоятельно обнаруживает устройства сети и создает сенсоры для этих устройств. В этом случае используются только готовые сенсоры. Если ты отключил автоматическое сканирование (это, кстати, хороший способ снизить нагрузку на сервер) или PRTG не добавил нужный сенсор — можешь добавить сенсор сам.
Вот как это делается:
- ищем кнопку Add Sensor;
- выбираем нужный нам сенсор из предложенного списка;
- если необходимо, устанавливаем пороговые значения, интервал сканирования;
- всё подтверждаем.
Посмотрим, как это делать, на примере. Добавим сенсор для мониторинга загрузки процессора на любое устройство.
Заходим в приложение PRTG.
В главном меню вверху экрана выбираем Devices. Переходим в дерево устройств.
У устройства HP ProLiant не задан сенсор мониторинга процессора. Добавим его.
Открываем список сенсоров в дереве устройств и нажимаем кнопку Add Sensor. В последних версиях кнопка расположена в самом дереве устройств справа от сенсоров.
Как вариант — можешь кликнуть правой клавишей по устройству и выбрать Add Sensor. Сразу попадаем в меню с перечнем сенсоров.
Появляется окно со списком сенсоров.
В середине экрана — поисковая строка. Вводим туда текст: CPU. Находим сенсор SNMP CPU Load Sensor и кликаем на него, чтобы добавить.
INFO
Обрати внимание на список сенсоров: у каждого иконка в виде заряда батареи. Красный цвет на иконке говорит, что сенсор сильно нагружает сервер. Сравни иконки SNMP CPU Load Sensor и Windows CPU Load Sensor, чтобы увидеть, какой сенсор больше нагружает систему.
Тебя попросят изменить базовые настройки — сканируемый интервал (scanning interval). Если нужно, внеси изменения. Чем больше сканируемый интервал (то есть время между двумя сканированиями), тем меньше нагрузка на систему.
Кликаем Create и переходим дальше. PRTG добавит и сохранит сенсор.
Сенсор не сразу станет активным, нужно подождать его активации. На это указывает серая кнопка рядом с сенсором. Чтобы ускорить активацию, зайди в сам сенсор и нажми кнопку Check Now справа несколько раз, пока иконка не станет цветной.
Сенсор SNMP CPU Load отображает загрузку процессора в процентах. Сверху — вкладки c настройками и доступом к данным за прошлый период. В правом нижнем углу рядом с изображениями стрелки — иконка настроек. Здесь можем выставить пороговое значение, при достижении которого сенсор объявит тревогу.
Добавить готовый сенсор очень просто. Другое дело, когда готовых шаблонов не хватает и нужно создавать уникальные сенсоры.
Собственные сенсоры
Мы можем создать сенсоры для серверов, файрволов, хранилищ данных, камер наблюдения и прочего оборудования с помощью файлов MIB или добавляя собственные скрипты. Во втором случае требуется знание PowerShell или VBScript. В первом случае нужно найти MIB.
Создаем сенсоры для мониторинга камеры видеонаблюдения добавлением MIB
В целом процесс выглядит так:
- скачиваем MIB;
- конвертируем MIB в библиотеку OID;
- библиотеку OID перемещаем в папку
/snmplibs
; - используем сенсор SNMP Library sensor, чтобы обнаружить нашу библиотеку OID;
- когда обнаружим, сенсоры будут созданы автоматически.
Разберем на примере мониторинга видеокамеры.
Попробуем запустить мониторинг статуса камеры видеонаблюдения через файл MIB. Заодно научимся выводить изображения с внешних источников на дашборд PRTG, как на скриншоте ниже.
Если есть доступ к внешним камерам наблюдения, то можно и так.
Здесь контролируется не только ситуация снаружи, но и состояние самих камер.
В нашей группе на GitLab собраны файлы MIB для оборудования разных производителей. Там же ты найдешь шаблоны и сенсоры, не вошедшие в основной релиз, а также файлы для мониторинга устройств Sophos, Mikrotik, Palo Alto Networks, Juniper, Fortinet, Brocade, Cisco и других.
В качестве примера рассмотрим мониторинг камеры Axis.
- Скачиваем MIB-файлы, содержащие Axis root и Axis video, либо с сайта вендора, либо с GitLab.
- Конвертируем файлы MIB в файл OID с помощью конвертера. Для этого скачиваем бесплатный конвертер с сайта Paessler.
Чтобы превратить MIB в библиотеку формата OID, проделываем следующее.
- Распаковываем скачанный архив с MIB конвертером Paessler и устанавливаем. Это займет несколько минут.
- В конвертере выбираем File → Import MIB Files. В проводнике находим скачанные MIB-файлы Axis. Это файлы AXIS-ROOT-MIB.mib и AXIS-VIDEO-MIB.mib. Файлы будем конвертировать по очереди. Запускаем конвертацию. После ее завершения в появившемся окне видим Import Succesful и количество OID-файлов, доступных для PRTG.
-
Сконвертированные MIB-файлы отражены в окне слева. Если их раскрыть, найдем OID-файлы.
-
Переходим File → Enable Partial Selection, раскрываем файлы MIB и отмечаем галочками файлы OID, которые будут нужны для мониторинга. Можно отметить все.
- Создаем библиотеку. Для этого переходим File → Saved Partial Selection As… и сохраняем библиотеку в файл
Axis_partial.oidlib
. Название может быть любым, но расширение должно бытьoidlib
.
С конвертацией закончили.
- Полученный файл (в нашем случае
Axis_partial.oidlib
) копируем в папкуС:\Program Files (x86)\PRTG Network Monitor\snmplibs
. - Заходим в PRTG. В главном меню выбираем Devices → Add Devices. Заполняем поля. Называем устройство Axis.
- В дереве устройств находим созданное устройство Axis и кликаем Add Sensor. Затем находим через поиск сенсор SNMP Library sensor и кликаем на него.
INFO
SNMP Library sensor — это специальный сенсор. Он находит OID, сопоставляет их с устройством и помогает создавать к ним сенсоры.
- Появится окно Please select a library file. В выпадающем меню выбираем наш файл oidlib.
- Если oidlib не соответствует устройству, то мы увидим сообщение
the scan for available monitoring items has failed on this device: No such object (SNMP error # 222)
. - В случае успеха появится окно Add sensor to device. В окне в разделе SNMP Library Specific отмечаем галочкой те OID, что нужны для мониторинга. Можно отметить все. Нажимаем Create.
- Сенсоры созданы. Поначалу они будут неактивными — серого цвета. Заходи в сам сенсор и с помощью кнопки Check now справа обнови сенсор.
Добавляем вид с камеры на панель управления
Чтобы добавить любую внешнюю информацию, используются теги IFRAME
или IMG
в редакторе панели управления. IFRAME
или IMG
должны вести на страницу. Если необходимая информация реализована в виде скрипта, создай отдельную страницу на веб-сервере и запусти скрипт. На эту страницу будет вести ссылка. Используй адреса HTTPS, поскольку HTTP может не работать.
- Заходим в панель управления (Map).
- Выбираем раздел Map Designer.
- Справа в поле Properties выбираем строку Custom HTML (в самом низу). Перетаскиваем первый доступный объект Custom HTML Element непосредственно на карту.
- Кликаем по созданному объекту на карте. Справа в окне Properties увидим поле HTML Before, куда вставляем ссылку. Например, такую:
<iframe src='https://АДРЕС ТВОЕЙ ВЕБ-КАМЕРЫ' style='border:0px #ffffff none;' name='myiFrame' scrolling='no' frameborder='1' marginheight='0px' marginwidth='0px' height='400px' width='600px' allowfullscreen=''></iframe>
- Сохраняем результат.
Создаем сенсор для мониторинга заблокированных и недоступных пользователей Active Directory
Принцип следующий: мы можем написать скрипт сами на PowerShell или взять какой-то готовый. Затем сохраняем скрипт в файл в папку С:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML\
и используем сенсор 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 Sensors\EXEXML\
в инсталляции 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.
Где взять готовые скрипты
- На сайте Paessler в разделе ScriptWorld. Для этого выбираем из списка устройство или решение, мониторинг которого нам необходимо реализовать. В базе более 100 скриптов. Это в дополнение к официально выпущенным 230 сенсорам. В сумме они охватывают все наиболее популярные решения.
- В интернете есть сайты и статьи энтузиастов, активных пользователей PRTG, которые делятся готовыми скриптами. Раньше в основном это были англоязычные авторы, сегодня все больше статей выходит на русском языке.
Вопросы и предложения оставляй в комментариях или на сайте в форме обратной связи.