Цель: - Поиск возможности использования механизма получения ловушек SNMP в качестве пользовательского процессора в Apache Nifi.
Просмотрел ссылки, например, как создать собственный процессор в Nifi (Документы Apache и YouTube видео), Nifi Исходный код GetSNMP (включая AbstractSNMPProcessor), ListenSysLog, GetFile и т. д.
У вас есть простой (Java-код) приемник SNMPTrap, использующий библиотеку SNMP4J, и он может прослушивать определенный адрес с портом на основе UDP или TCP. А затем при возникновении ловушки (может быть смоделирована простым Java-кодом библиотеки SNMP4J) можно распечатать детали PDU.
Теперь, пытаясь написать этот код в Nifi в качестве пользовательского процессора, я не знаю, куда поместить мой механизм прослушивания, а затем обработать фактическую часть PDU. Тут как-то поразило.
Процессор GetSNMP говорит о конкретном OID, и с его помощью у нас есть варианты стратегий GET или Walk для получения информации. Здесь (для моей цели) ищу вариант, когда работает сервер Nifi, и хочу получить ловушки SNMP, выбранные из конкретной системы, где работает Nifi. И для моей цели не получил контекст для расширения кода GetSNMP.
В ListenSyslogProcessor был блокирующий механизм очереди. И из этого я не мог вывести, чтобы пойти на прослушивание по ip-адресу для ловушек и как именно использовать ProcessContext, опцию ProcessSession метода onTrigger для пользовательского процессора Nifi.
Любые материалы приветствуются...





Не удалось создать пользовательский процессор в Apache Nifi для получения ловушек SNMP. Было возможно и другое, я проиллюстрирую это здесь. Возможно, это поможет другим.
На самом деле пытался ловить ловушки SNMP с помощью команд linux, таких как net-snmp, snmptrapd. Эти параметры на самом деле не перехватывали ловушки SNMP, тестировались с помощью отправителя ловушек кода Java, а затем ловушек, созданных с использованием команд из онлайн-источников.
Если у вас есть лучшие идеи, пожалуйста, поделитесь.