Приемник Snmp-ловушки в качестве пользовательского процессора в Apache Nifi

Цель: - Поиск возможности использования механизма получения ловушек 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.

Любые материалы приветствуются...

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
991
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Одно возможное решение: -

Не удалось создать пользовательский процессор в Apache Nifi для получения ловушек SNMP. Было возможно и другое, я проиллюстрирую это здесь. Возможно, это поможет другим.

  1. Без изменений в Java-код
  2. Использован процессор ExecuteProcess компании Nifi для запуска приведенного выше Java-кода.
  3. В случае успеха результат передается другим компонентам в Nifi Flow.

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

Если у вас есть лучшие идеи, пожалуйста, поделитесь.

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