Ловушка SNMP в PHP / Linux

Кто-нибудь знает, как отправить SNMP Trap с помощью php? Или как отправлять SNMP-ловушки в Linx? Я использовал Net-SNMP для отправки ловушек с терминала. Но это не говорит, где именно должен быть размещен MIB, и я не могу отправлять ловушки с помощью команды snmptrap. Мне нужно использовать его на сервере RedHat Linux.

Путь поиска в MIB: /home/user/.snmp/mibs:/usr/local/share/snmp/mibs
Не удается найти модуль (MY-MIB): в строке 1 (нет)
MY-MIB :: clientrap: неизвестный идентификатор объекта

Это ошибка, которую я получаю. Я уверен, что я положил файл MIB в /home/user/.snmp/mibs а также / USR / местные / доли / SNMP / MIBs как предполагает NET-SNMP. Тогда я не знаю, как возникла ошибка. Есть ли другой путь поиска MIB? Я не знаю.

0

Решение

Кажется, что в PHP нет прямых методов отправки SNMP-ловушек, и ответы на них тоже. И вот, наконец, я придумал свой путь, опираясь на сам Net-Snmp. Что я действительно хотел, так это отправить ловушку Snmp из программы php. Наконец-то я смог сделать это с помощью библиотеки Net-Snmp через терминал Linux. Ниже приведены шаги.

  1. Установите Net-Snmp: есть два способа установить пакет net-Snmp на ваш Linux-компьютер

    1) Загрузив пакет Net-Snmp с sourceforge.net, как указано в http://www.net-snmp.org/wiki/index.php/Net-Snmp_on_Ubuntu.

    2) Установив модуль pysnmp — этот метод показался более простым. Также вы можете сделать это двумя разными способами.

    • При загрузке библиотеки вручную и извлечении удалось запустить скрипт Python для установки
    • Просто используя команду sudo pip установить pysnmp , при условии, что вы установили пункт.

    оба метода описаны здесь — https://pynet.twb-tech.com/blog/snmp/python-snmp-intro.html

    причина, по которой мы устанавливаем pysnmp, заключается в том, что пакет pysnmp автоматически устанавливает базовые библиотеки NET-SNMP, даже если он предназначен для программ на python.

  2. подтвердите установку NET-SNMP, набрав команды snmpd — версия или же snmpget или же SNMPTRAP и т.п.

  3. Найдите путь поиска MIB с помощью команды snmpget -Dparse-mibs 2>&1 | grep directory, Он покажет пути, по которым Net-Snmp ищет файлы MIB. Обычно результаты таковы:

    parse-mibs: каталог сканирования /var/www/html/User/.snmp/mibs
    parse-mibs: невозможно открыть каталог MIB /var/www/html/User/.snmp/mibs
    parse-mibs: каталог сканирования / usr / local / share / snmp / mibs

  4. Скопируйте (Загрузите) файл MIB в ‘.текст’ отформатировать в один из доступных путей поиска MIB. Обычно это

    / USR / местные / доли / SNMP / MIBs

  5. Отправить ловушку с помощью команды

    snmptrap -v 2c -c public 192.168.1.1:162 «» MIBNAME-MIB :: trapname MIBNAME-MIB :: message1 s «Привет» MIBNAME-MIB :: message2 s «Это работает»

    Теперь у нас есть команда оболочки. Мы можем запустить его в PHP, используя Exec () функция.
    `

       exec("snmptrap -v 2c -c public *192.168.1.1:162* '' MIBNAME-MIB::trapname MIBNAME-MIB::message1 s 'Hi' MIBNAME-MIB::message2 s 'It works'", $output, $result);
    

обратите внимание, что «192.168.1.1:162» — это IP-адрес менеджера вместе с номером порта. MIBNAME — это имя модуля MIB, указанное в файле MIB, а trapname — это имя trapname в файле MIB.

Предполагается, что у вас есть работающий SNMP Manger на данном IP, чтобы получать ловушки Snmp в формате, указанном в файле MIB в SNMP Manager.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]