Модуль для Perl, реализующий класс Net::iLO, позволяет написать датчики для мониторинга аппаратных серверов Hewlett-Packard через Nagios, получая всю информацию, которую может предоставить iLO, – температура, скорость вращения вентиляторов, состояние блоков питания и потребляемая мощность
Реализация класса Net::iLO
Подсистема аппаратного мониторинга и удаленного управления Integrated Lights-Out, устанавливаемая в серверы производства компаниии Hewlett-Packard, – это не только средство для удаленного управления с помощью веб-интерфейса илиудаленной консоли. Она также дает возможность разработки средств автоматизации мониторинга и интеграции его в популярные OSS-системы, в частности, в Nagios/Icinga. Они как раз и хороши тем, что для появления поддержки чего-тонового достаточно, чтобы с него снимались данные и отправлялись на сервер в нужном формате.
На самом деле можно даже класс не использовать – все взаимодействие с iLO происходит на уровне XML, и достаточно его только сформировать, чем, собственно, методы класса и занимаются. Но использование объектов упрощает код.
В FreeBSD модуль Net::iLO устанавливается из net-mgmt/p5-Net-ILO, также это можно сделать из исходных текстов, скачав с [1].
Класс реализует полный набор методов для получения данных с iLO и для управления сервером с его помощью. Для получения подробного описания методов и данных, которые можно получить или изменить, обращайтесь к man Net::ILO или perldoc Net::ILO.
Следует сделать замечание по поводу реализации класса в той части, которая относится к работе с сертификатами. Очевидно, автор не предполагал, что к такой ответственной задаче могут подходить безответственно.
CA, выдающий сертификаты, подписанные корпоративным CA, отсутствует, и используются самоподписанные, встроенные в iLO изначально. И попытка подключиться с использованием метода new() закончится безуспешно. SSL выдаст ошибку «к сертификату нет доверия или он самоподписанный».