Источник ловушки snmp-сервера, использующий pysnmp

Я относительно новичок в pysnmp. Мое текущее требование - поддерживать источник ловушек для ловушек snmp. Я пытаюсь понять, как я могу поддержать это с помощью конструкции pysnmp ntforg.NotificationOriginator.

Мой текущий фрагмент кода для отправки ловушек выглядит следующим образом:

varBinds = rfc1902.ObjectIdentity('SNMPv2-MIB', 'coldStart')
    trapVarBinds = trapAgent.VarBinds(varBinds,'','')
    trapPdu = rfc1902.NotificationType(
                varBinds
            ).resolveWithMib(self.mibViewController)        
    SendTrap(trapAgent.TrapData(trapPdu,trapVarBinds))

 def SendTrap(self,trapData):
    for server in trapServer:  #list of trapServer config info
        data = trapServer[server]
        print 'Trap server:%s'%(data,)
        sendRequestHandle = ntforg.NotificationOriginator(snmpContext).sendVarBinds(
        snmpEngine,
        data.Name,
        #None,'',
        snmpContext.contextEngineId,'',
        trapData.trapPdu
        )

Любые идеи / советы о том, как поддержать источник ловушек, будут очень полезны. Спасибо!

1 ответ

См. Уведомление Отправителя

Вы можете указать IP-адрес источника и порт, как показано ниже

from pysnmp.entity import config
from pysnmp.carrier.asynsock.dgram import udp

config.addSocketTransport(
snmpEngine,
udp.domainName,
udp.UdpSocketTransport().openClientMode(iface=('127.0.0.1', 1024))
)
Другие вопросы по тегам