Существует ли универсальное веб-приложение MIB, позволяющее отправлять пользовательские переменные через ловушку SNMP? - PullRequest
2 голосов
/ 16 сентября 2011

Я ищу Информационную базу управления (MIB), предназначенную для веб-приложений (Примечание: я работаю в PHP), чтобы я мог отправлять несколько переменных в мою систему управления сетью через ловушку SNMP. Я должен спроектировать один или уже есть решение?

Подробнее:

По сути, я хочу отправлять ловушку в свою Систему сетевого управления (Zenoss) всякий раз, когда в моем веб-приложении возникает ошибка. Я хотел бы назвать его в PHP следующим образом (примечание: этот синтаксис может быть неправильным):

( Примечание: очевидно, BOSSJONES-NOTIFICATION не существует; я просто использую его для этого примера. Я хотел бы заменить его на MIB, который я ищу, или тот, который должен быть спроектированным. )

<?php
const SNMPTRAP = '/usr/bin/snmptrap';
$host = 'zenoss.bossjones.com';

if ( some_random_error() ) {
    exec( SNMPTRAP . ' -v 2c -c public -L e ' . $host .
          ' "" BOSSJONES-NOTIFICATION::snmpErrorNotification' .
          ' device s "192.168.1.121" errorType s "image upload fail"' .
          ' errorCode i 340 errorMessage s "Could not upload image at path' .
          ' /path/to/image/blah.gif" ' );
}

Я понимаю, что MIB, возможно, не имеет таких же параметров, конечно, но мне интересно, есть ли там общее решение, которое я могу «обойтись» или извлечь уроки, чтобы я мог создать свой собственный что работает для моих целей?

Кроме того, возможно ли посылать через ловушку список информации (например, массив), а не просто несколько строк?

Извините за длинный вопрос. Хотел предоставить как можно больше подробностей.

( PS: запуск на Ubuntu 11.04 Linux box )

1 Ответ

1 голос
/ 03 октября 2011

Я бы не стал беспокоиться о MIB на этом этапе в вашем приложении, поскольку то, что вы делаете, является легким и не общедоступным. MIB - это просто структура данных / схема, которая сообщает общественности, кто использует ваш продукт SNMP, что это за ловушки и т. Д. Если вы собираетесь использовать его только для себя, я бы не стал беспокоиться о MIB. Я бы предложил просто использовать модуль PHP SNMP для запуска любых ловушек SNMP, которые вы хотите сделать с какими-либо OID, которые ранее не использовались вами, а затем убедиться, что ваша программа управления сетью знает, что означают эти OID. Когда ваша NMS получит эти SNMP-ловушки с помощью привязки OID, вы узнаете, что это за переменные и т. Д., Дайте мне знать, как это происходит.

PHP SNMP

По второму вопросу вы не можете сразу отправить массив ловушек. SNMP настолько легок, что это не имеет значения для вас. Что бы я сделал, если у вас есть массив ловушек, просто сделайте цикл foreach или что-то итеративное, и просто просмотрите ваш массив и отправьте ловушки по одной за раз, где вы даете уникальный OID для каждой ловушки, чтобы ваша NMS знала, какая строка ловушки для какого OID, и чтобы она правильно интерпретировалась на стороне NMS.

SNMP - очень замечательный протокол, но очень эзотерический. Будь здоров.

...