Сделать сайт PHP отправлять информацию SNMP в приложение управления сетью

Я пытаюсь заставить PHP-сайт отправлять информацию через SNMP. Я читал много о SNMP, но я все еще немного не знаю, с чего начать.

Я считаю, что мне нужно создать MIB со всеми OIDs, которые мой сайт будет использовать для отправки информации. Правильно ли это? Как и где я могу определить эти переменные (идентификаторы)? Кто-нибудь может указать мне правильное направление?

Я использую FreeBSD на сервере.

спасибо заранее.

3 ответов


то, что вы пытаетесь сделать, это отправить "SNMP-ловушку". Вам не нужно обязательно определять MIB. MIB просто переводит "полу - человеческое дружелюбное" имя в OID, например SNMPv2-MIB::sysContact.0 на .1.3.6.1.2.1.1.4.0 . Для частного приложения вы можете теоретически использовать любой OID, который хотите, так же как теоретически вы можете использовать любой IP-адрес для частной сети, которая не подключена к другим. Я не уверен, есть ли предпочтительная" частная " ветка OID. Есть некоторые хорошие информация, чтобы вы начали вhttp://www.paessler.com/support/kb/questions/49/ . Похоже, PHP напрямую не поддерживает отправку SNMP-ловушек, но вы можете вызвать команду "snmptrap".


есть несколько вопросов:

  • чтобы получить свой собственный идентификатор верхнего уровня, я думаю, вам действительно нужно запросить его где-то (и, вероятно, заплатить деньги?) однако есть экспериментальный диапазон, который вы можете использовать для тестирования. (это не проблема php, это проблема snmp/функция)

  • насколько я знаю, протокол предполагает процесс прослушивания порта, который полностью отличается от порта http, а также не использует TCP, но UDP. Просто создание страница php обычным способом работать не будет.

возможным решением может быть использование модуля snmp в apache (или любом веб-сервере, который вы используете), который позволяет запрограммировать логику ответа на php. Я чувствую, что большинство SNMP php-материалов, с которыми вы сталкиваетесь в интернете, касается не части агента, а части менеджера.


Я знаю, что SNMP-это протокол, в котором хост отправляет запрос на значение определенного OID устройству, а затем получает ответ.

Я не уверен, что у вас может быть сайт php, который отвечает на эти пакеты.

единственная информация, которую я нашел, это то, что PHP имеет класс клиента SNMP PHP SNMP

и Википедия дает вам подробную информацию о SNMP текст ссылки

но я все еще уверен, что веб-сайт не может действуйте как сервер SNMP.