Вопрос

PDU pdu = new PDU();
pdu.setType(PDU.SET);

pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.1.1"), new Counter64(System.currentTimeMillis())));
pdu.add(new VariableBinding(new OID("1.3.6.1.4.1.100.2.1"), new OctetString("some string")));

TransportMapping transport = null;
Snmp snmp = null;

try {
    transport = new DefaultUdpTransportMapping();
    transport.listen();

    snmp = new Snmp(transport);
    snmp.send(pdu, getCommunityTarget());
} catch (Exception e) {
    // error occurred
}

Вот как я отправляю свою ловушку SNMP, чтобы поднять тревогу. Я устанавливаю варьируемость в агенте SNMP и просматриваю его в браузере MIB. Я хочу знать, что, если я установил тип PDU как pdu.trap. Он работает на порту 162, а не 161, и я не вижу его в браузере MIB, но в приемнике для ловушек. В чем разница? Какова цель использования pdu.trap? Как мой агент может его поймать? Какова лучшая практика для поднятия и четкой тревоги?

Это было полезно?

Решение 2

При внедрении сущности SNMP часто лучше реализовать так называемую концепцию «Поправочный опрос», а не простой «отправитель ловушек». Для последнего SNMP4J можно использовать из коробки, для первого SNMP4J-агента можно использовать. Это также лицензировано по лицензии Apache 2 с открытым исходным кодом.

Поскольку ловушки могут быть потеряны в сети, подход, направленный на ловушку, имеет много преимуществ, хотя ему нужно больше (мало) усилий для реализации части агента.

Что касается исходного вопроса:

  • При отправке установленного PDU вы попросите респондента команды (агента) изменить некоторую информацию о ее сущности.
  • При отправке ловушки или лучшего уведомления PDU вы хотите проинформировать генератор команд (менеджера) о событии. Благодаря концепции, направленной на ловушку, на месте, генератор команд также будет регулярно отправлять запросы на получение GET (например, каждые 5 человек) на *последних объектах, чтобы эффективно обнаружить изменения данных в определенных (криктических) под деревьях MIB, отвечающего командам. Если обнаружено изменение (либо через уведомление PDU, либо из опроса, измененные данные запрашиваются у Comamnd Responder генератором команд.

Другие советы

Разница в ролях: SET выполняется менеджером против агента, а ловушка - наоборот. Основной SNMP4J поддерживает только реализацию менеджера SNMP. Это является возможно также реализовать некоторые аспекты агента, но не тривиально. Трудно сказать, какие из этих двух вы на самом деле пытаетесь реализовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top