Продолжаем серию материалов о простой и гибкой системе мониторинга PRTG. В прошлый раз речь шла о возможностях PRTG в целом. На этот раз остановимся на создании сенсоров. В базе PRTG — 200 готовых сенсоров и 100 шаблонов для создания новых. В этой статье расскажем, как работать с готовыми сенсорами и как создавать свои.

Детально охватить все сенсоры не получится, поэтому сосредоточимся на общих принципах, которые помогут затем ориентироваться самостоятельно.

Тестовая версия 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.

  1. Скачиваем MIB-файлы, содержащие Axis root и Axis video, либо с сайта вендора, либо с GitLab.
  2. Конвертируем файлы 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.

С конвертацией закончили.

  1. Полученный файл (в нашем случае Axis_partial.oidlib) копируем в папку С:\Program Files (x86)\PRTG Network Monitor\snmplibs.
  2. Заходим в PRTG. В главном меню выбираем Devices → Add Devices. Заполняем поля. Называем устройство Axis.
  3. В дереве устройств находим созданное устройство Axis и кликаем Add Sensor. Затем находим через поиск сенсор SNMP Library sensor и кликаем на него.

INFO

SNMP Library sensor — это специальный сенсор. Он находит OID, сопоставляет их с устройством и помогает создавать к ним сенсоры.

  1. Появится окно Please select a library file. В выпадающем меню выбираем наш файл oidlib.

  1. Если oidlib не соответствует устройству, то мы увидим сообщение the scan for available monitoring items has failed on this device: No such object (SNMP error # 222).
  2. В случае успеха появится окно Add sensor to device. В окне в разделе SNMP Library Specific отмечаем галочкой те OID, что нужны для мониторинга. Можно отметить все. Нажимаем Create.

  1. Сенсоры созданы. Поначалу они будут неактивными — серого цвета. Заходи в сам сенсор и с помощью кнопки Check now справа обнови сенсор.

Добавляем вид с камеры на панель управления

Чтобы добавить любую внешнюю информацию, используются теги IFRAME или IMG в редакторе панели управления. IFRAME или IMG должны вести на страницу. Если необходимая информация реализована в виде скрипта, создай отдельную страницу на веб-сервере и запусти скрипт. На эту страницу будет вести ссылка. Используй адреса HTTPS, поскольку HTTP может не работать.

  1. Заходим в панель управления (Map).
  2. Выбираем раздел Map Designer.

  1. Справа в поле Properties выбираем строку Custom HTML (в самом низу). Перетаскиваем первый доступный объект Custom HTML Element непосредственно на карту.
  2. Кликаем по созданному объекту на карте. Справа в окне 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>

  1. Сохраняем результат.

 

Создаем сенсор для мониторинга заблокированных и недоступных пользователей Active Directory

Принцип следующий: мы можем написать скрипт сами на PowerShell или взять какой-то готовый. Затем сохраняем скрипт в файл в папку С:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML\ и используем сенсор EXE/Script Advanced Sensor, чтобы создать сенсор на основе скрипта.

Разберем на примере. Создадим сенсор, который будет находить в Active Directory заблокированных (locked-out) и недоступных (disabled) пользователей. Сенсор не только укажет количество аккаунтов, но и выведет адреса аккаунтов в поле сообщений (last message field).

  1. Копируем скрипт ниже.
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>"
  1. Сохраняем в виде текстового документа с расширением .ps1, например ADLockDisableUsers.ps1.

  2. Находим папку \Custom Sensors\EXEXML\ в инсталляции PRTG. Копируем туда ADLocktDisableUsers.ps1.

  3. Заходим в PRTG. Добавляем сенсор к устройству, где установлена PRTG (поле Add Sensor). Среди предложенных сенсоров ищем сенсор EXE/Script Advanced Sensor. Сенсор EXE/Script Advanced Sensor запускает файлы .exe и .dll и скрипты (пакетные файлы, PowerShell или VBScript).

Указываем наш файл ADLocktDisableUsers.ps1. Если все верно, будет создан сенсор.


Работа со скриптами требует, чтобы на сервере был запущен модуль Active Directory PS Module. Информация о том, как его установить, доступна в блоге Microsoft.

 

Где взять готовые скрипты

  1. На сайте Paessler в разделе ScriptWorld. Для этого выбираем из списка устройство или решение, мониторинг которого нам необходимо реализовать. В базе более 100 скриптов. Это в дополнение к официально выпущенным 230 сенсорам. В сумме они охватывают все наиболее популярные решения.
  2. В интернете есть сайты и статьи энтузиастов, активных пользователей PRTG, которые делятся готовыми скриптами. Раньше в основном это были англоязычные авторы, сегодня все больше статей выходит на русском языке.

Вопросы и предложения оставляй в комментариях или на сайте в форме обратной связи.

Check Also

Фреймворки для постэксплуатации. Выбираем между Metasploit, Cobalt Strike, Merlin, Apfell, Faction C2, Koadic и другими

В этой статье мы поговорим о фреймворках, которые помогут эксплуатировать уязвимости, закр…

Оставить мнение