【问题标题】:PYSNMP 4.4.12- Cannot compile custom MIBsPYSNMP 4.4.12-无法编译自定义 MIB
【发布时间】:2021-07-07 13:26:35
【问题描述】:

在我第一次尝试 pysnmp 时,我正在努力加载自定义 MIB。我读过旧版本需要编译自定义 mib,而新版本将编译嵌入到后端进程中。当我尝试任何一种方法时,脚本都会挂起......无限期地。自定义 MIB 是 CISCO-PRODUCTS.MIB,我已下载并以 .my 扩展名结尾。

python3 mibdump.py  --mib-source=file://./ --destination-directory=/home/myuser/Desktop/Ansible/mibs --destination-format=pysnmp  CISCO-PRODUCTS-MIB

Source MIB repositories: file://./  Borrow missing/failed MIBs from:
http://mibs.snmplabs.com/pysnmp/notexts/@mib@  
Existing/compiled MIB locations: pysnmp.smi.mibs, pysnmp_mibs  
Compiled MIBs destination directory: /home/myuser/Desktop/Ansible/mibs  
MIBs excluded from code generation: INET-ADDRESS-MIB, PYSNMP-USM-MIB, RFC-1212, RFC-1215, RFC1065-SMI, RFC1155-SMI, RFC1158-MIB, RFC1213-MIB, SNMP-FRAMEWORK-MIB, SNMP-TARGET-MIB, SNMPv2-CONF, SNMPv2-SMI, SNMPv2-TC, SNMPv2-TM, TRANSPORT-ADDRESS-MIB  
MIBs to compile: CISCO-PRODUCTS-MIB  
Destination format: pysnmp  
Parser grammar cache directory: not used  
Also compile all relevant MIBs: yes  
Rebuild MIBs regardless of age: no  
Dry run mode: no  
Create/update MIBs: yes  
Byte-compile Python modules: yes (optimization level no)  
Ignore compilation errors: no  
Generate OID->MIB index: no  
Generate texts in MIBs: no  
Keep original texts layout: no  
Try various file names while searching for MIB module: yes  

Traceback (most recent call last):   File "mibdump.py", line 350, in
<module>
    processed = mibCompiler.compile(   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/compiler.py",
line 227, in compile
    fileInfo, fileData = source.getData(mibname)   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 105, in getData
    for path in self.getSubdirs(self._path, self._recursive, self._ignoreErrors):   File
"/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   File "/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 64, in getSubdirs
    dirs.extend(self.getSubdirs(d, recursive))   [Previous line repeated 44 more times]   File
"/home/myuser/.local/lib/python3.8/site-packages/pysmi/reader/localfile.py",
line 63, in getSubdirs
    if os.path.isdir(d):   File "/usr/lib/python3.8/genericpath.py", line 42, in isdir
    st = os.stat(s) KeyboardInterrupt

同一目录下的文件有:

  • CISCO-PRODUCTS-MIB.my
  • CISCO-SMI.my
  • mibdump.py
  • SNMPv2-CONF.my
  • SNMPv2-SMI.my
  • SNMPv2-TC.my

有谁知道错误在哪里?

【问题讨论】:

    标签: python ansible pysnmp


    【解决方案1】:

    添加--mib-searcher 参数可以解决问题`

    mibdump.py --disable-fuzzy-source --mib-source /home/user/.snmp/mibs --mib-searcher=/home/user/.snmp/mibs --destination-format pysnmp [MIB_ MODULE]
    

    [MIB_MODULE].mib 文件在 /home/user/.snmp/mibs 目录中的位置

    参考:https://snmplabs.thola.io/pysmi/mibdump.html

    【讨论】:

      猜你喜欢
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多