奥飞火千万电 发表于 2019-2-18 12:23:20

ubuntu18.04 安装python netsnmp

  第一部分: 安装snmp程序以及服务。
  在Ubuntu中安装snmp的支持,有两种方法,第一种是直接通过apt-get进行安装。第二种是从netsnmp官网下载源码net-snmp-5.7.3.tar.gz,进行编译安装。
  本人对于第二种方法,查阅了网络上的方法不胜列举,很遗憾,最后还是没有成功过,所以在这里推荐第一种。
  第一步,安装snmpd,snmp,和snmp-mibs-downloader
  #snmpd是一个监听snmp服务的进程,绑定在某个端口上,等待来自请求者的SNMP的请求,进行处理,返回信息给请求者。
  #snmp就是一个请求者的snmp命令集。
  #snmp-mibs-downloader
  如下,就是安装的命令:
  ~$sudo apt-get install snmp
  ~$sudo apt-get install snmpd
  ~$sudo apt-get install snmp-mibs-download
  第二步,就是启动snmpd服务
  ~$sudo service snmpd restart
  最后,测试以下是否成功
  ~$snmpwalk -v 2c -c public localhost
  如果数据返回正确,那么就表示安装的snmp已经可以正常使用了。
  第二部分:安装netsnmp对应的python编程包。
  这里主要是安装netsnmp-py,https://pypi.org/project/netsnmp-py/.
  首先,安装对应的依赖库。
  ~$sudo apt-get install libsnmp30 libsnmp-dev libczmq-dev
libsnmp-dev libczmq-dev名字不能错,否则就找不到了。
  其次,安装pyzmq,pyczmq. http://pyzmq.readthedocs.io/en/latest/index.html
  ~$sudo pip install pyczmq
  接下来,安装netsnmp-py就大功告成。
  ~$sudo pip install netsnmp-py
  最后,就是测试一下,netsnmp-py的函数是否在python在程序中可用。
  #netsnmp-py中,提供了一个SNMPSession的类,此类给出了三个基本函数get/getnext/walk。
  具体可以参看: usr/local/lib/python3.6/dist-packages/netsnmp/init.py中的sample。
  例子:
  ~$python
  Python 3.6.5 (default, Apr 1 2018, 05:46:30) on linux Type "help", "copyright", "credits" or "license" for more information. >>> import netsnmp >>> with netsnmp.SNMPSession('localhost', 'public') as ss: ... ss.get(['.1.3.6.1.2.1.1.1.0', '.1.3.6.1.2.1.1.3.0']) ... [('.1.3.6.1.2.1.1.1.0', 'STRING', '"Linux laosierLinux 4.15.0-22-generic #24-Ubuntu SMP Wed May 16 12:15:17 UTC 2018 x86_64"'), ('.1.3.6.1.2.1.1.3.0', 'Timeticks', '0:3:13:31.57')] >>>
  如果上述的信息返回了,哈哈,祝福你成功了。

页: [1]
查看完整版本: ubuntu18.04 安装python netsnmp