Источник ловушки 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))
)