Асинхронный скрипт Python SNMP для получения информации о VLAN от маршрутизаторов CiscoPython

Программы на Python
Anonymous
Асинхронный скрипт Python SNMP для получения информации о VLAN от маршрутизаторов Cisco

Сообщение Anonymous »

Я разрабатываю сценарий Python, использующий pysnmp с asyncio для сбора информации о VLAN с маршрутизаторов и коммутаторов Cisco. На данный момент я успешно выполнил операции обхода SNMP на нескольких устройствах. Однако я изо всех сил пытаюсь найти «по умолчанию» или универсальный MIB, который надежно работает в различных моделях Cisco для получения информации о VLAN.
Я использовал следующие MIB для запроса данных VLAN:< /p>

Код: Выделить всё

CISCO-VLAN-BRIDGING-MIB (1.3.6.1.4.1.9.9.214)
CISCO-VLAN-GROUP-MIB (1.3.6.1.4.1.9.9.46)
CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB (1.3.6.1.4.1.9.9.68)
CISCO-VLAN-MEMBERSHIP-MIB (1.3.6.1.4.1.9.9.68)
CISCO-VLAN-TRANSLATION-MIB (1.3.6.1.4.1.9.9.150)
Несмотря на использование этих MIB, некоторые устройства по-прежнему не возвращают никакой информации о VLAN. Вот версия моего скрипта:

Код: Выделить всё

import asyncio
from pysnmp.hlapi.v1arch.asyncio import *

async def run():
snmpDispatcher = SnmpDispatcher()

iterator = await getCmd(
snmpDispatcher,
CommunityData("Redacted", mpModel=0),
await UdpTransportTarget.create(("Redacted", 161)),
("1.3.6.1.4.1.9.9.68", None),
)

errorIndication, errorStatus, errorIndex, varBinds = iterator

if errorIndication:
print(errorIndication)
elif errorStatus:
print(
"{} at {}".format(
errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or "?",
)
)
else:
for varBind in varBinds:
print(" = ".join([x.prettyPrint() for x in varBind]))

snmpDispatcher.transportDispatcher.closeDispatcher()

asyncio.run(run())
Существуют ли какие-либо передовые методы или общие подходы для запроса информации VLAN с устройств Cisco с использованием SNMP? Например, следует ли мне попытаться последовательно запросить несколько MIB в качестве резервной стратегии, чтобы максимизировать шансы на успех? Как только я получу информацию, мне следует проанализировать ее, чтобы затем сохранить в базе данных, поэтому я ищу метод с высокой вероятностью успеха.

Подробнее здесь: https://stackoverflow.com/questions/790 ... co-routers

Вернуться в «Python»