Несколько субагентов для одной таблицы в Net-SNMP

Я пишу пользовательский MIB, чтобы выставить таблицу по SNMP. Будет одна таблица с заданными столбцами, но с переменным количеством строк. Возможно ли, с Net-SNMP, чтобы добавить несколько строк в таблицу из нескольких процессов (например, процесс A создает строку 1, процесс B создает строку 2 и т. д...)? Я хотел бы, если возможно, избегать использования одного "главного субагента" (кроме того, что является частью Net-SNMP, лайк snmpd/snmptrapd/так далее).

Я хотел бы использовать mib2c чтобы помочь генерировать код, если это возможно, но я могу обойти это, если он не может выполнить то, что мне нужно.

я использую Net-SNMP 5.5 в данный момент. Обновление возможно, если в новых версиях добавлена ​​поддержка того, что мне нужно.

1 ответ

При написании AgentX для snmpd, похоже, что вы не можете совместно использовать OID таблицы для двух или более AgentX, snmpd отвечает ошибкой, что oid является дубликатом для некоторых субагентов. Таким образом, я продолжаю свои источники с моими собственными суб-суб-агентами (на основе Enduro/X), которые собирают данные в один AgentX, который будет заполнять таблицу SNMP.

Согласно https://www.rfc-editor.org/rfc/rfc2741.html#section-7.1.4.1 :

7.1.4.1. Обработка повторяющихся и перекрывающихся поддеревьев

В результате этого алгоритма регистрации могут быть дублированные и/или перекрывающиеся поддеревья в хранилище регистрационных данных главного агента. Всякий раз, когда алгоритм диспетчеризации главного агента (см. раздел 7.2.1, «Отправка PDU AgentX») определяет, что существует несколько поддеревьев, которые потенциально могут содержать одни и те же экземпляры объекта MIB, главный агент выбирает один из них для использования, называемый «уполномоченным регионом». следующее:

        1) Choose the one whose original agentx-Register-PDU r.subtree
    contained the most subids, i.e., the most specific r.subtree.
    Note: The presence or absence of a range subid has no bearing
    on how "specific" one object identifier is compared to another.

 2) If still ambiguous, there were duplicate subtrees.  Choose the
    one whose original agentx-Register-PDU specified the smaller
    value of r.priority.

Таким образом, в лучшем случае вы можете получить, что данные собираются случайным образом из того или иного AgentX, если один и тот же oid зарегистрирован из разных процессов AgentX.

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