在Win7_CentOS虚拟机上实现python-netsnmp扩展

转载 2018年04月16日 09:43:47

大二菜鸟暑期实习,要实现对某设备的监控,需要用到snmp,此前对python、snmp甚至linux一窍不通,通过近两周的学习差不多入门,在此做下笔记,供以后参考,也希望能得到指正。

 

        公司的这台电脑连不了外网,前期需要的所有东西除了共享全部靠U盘搬运。后面在CentOS上搭建环境时遇到缺少各种东西问题也无法通过yum等命令解决,所有的安装都是源码编译安装,所以非常但藤。

 

        首先是虚拟机,使用的是比较流行的VMware,镜像文件CentOS-7-x86_64-DVD-1511.iso,过程就不赘述了。前后装了四次虚拟机,最后选择的基本环境是工作站那个,因为其他的貌似都没有默认安装tcl/tk模块,我在源码安装tk的时候又遇到缺少X11/Xlib.h 的问题,连不上外网包的资源也找不到,难以解决,而我又想用到tkinter,只有这个基本环境才行得通。这里需要提醒的是在搭建环境的过程中尽量记得保存快照....

 

       重头戏来了。环境搭建:

      

       一、安装python2.7

              centos默认的是2.7.5版本的python,这里我需要用到更低的版本python2.7,原因很复杂就不赘述了..
              cd 到目录下
              解压 tar -zxvf python-2.7.tar.gz
              ./configure
              make
              make install  (install等操作的时候记得sudo...)
              每次都python2.7很麻烦而且会出错,所以需要更改一下默认的python版本
              rm /usr/bin/python  (个人感觉将其改名而不是删除比较好,不过已经删了就懒得管了)
              ln -s /usr/local/bin/python2.7 /usr/bin/python(替代原来的python)
              terminal python 确认一下版本是不是变成了自己需要的

      

       二、安装setuptools

             没有这个东西netsnmp的安装会报错

             还是先解压.tar.gz文件

             python  setup.py  build

             python  setup.py  install 

       

        三、安装net-snmp

             解压,我用的5.7.3版本

             ./configure  这里记得要 --with-python-modules,其他的东西可以--help自己查看一下

             make&&make install

             snmpd -version查看信息确认安装成功

             snmpget(或者snmpwalk) -v2c -c public(没配置community默认是public) 10.1..... (IP address)  .1.3.6.1.4.1.......(oid,snmpwalk的话不用精确到最后或者根本不用)

             能获取到消息说明可以正常工作啦

             然后cd 到 netsnmp/python文件夹中把setup.py install以支持python

             至此基本安装完成

       

       四、配置snmpd.conf snmp.conf,以及导入mibs

            如果没有默认生成这两个文件则需要自己去创建

            touch snmp.conf

            chmod 777 snmp.conf

            照着example写两句就可以了,用默认的也可以

            记住community,后面会用到

            获取到自己需要的mib文件,设备的厂家会有自己的mib文件,将其拷贝到默认的mibs路径

            snmp.conf中记得写入mibs+XXX-MIB 来加载你需要用到的MIB,关于MIB不在这里赘述。

            至此完成环境搭建

            python

    〉〉〉import netsnmp

    〉〉〉import Tkinter

            没有报错

      

      五、中途遇到的一些错误及解决

           遇到太多问题都记不太清了....大多数情况百度到的解决办法都是 yun ......install,让我这个没网的怎么办....

           1、install netsnmp的时候报错没有Makemaker或者 找不到perl5什么什么的,那么确认你安装了perl以及其路径

           2、libnetsnmp.so.30找不到,ln -s /usr/local/lib/libnetsnmp.so.30 /usr/lib创建一个连接一般可以解决,

                但我并不能于是export LD_LIBRARY_PATH=/usr/local/lib每次terminal都要输入一次但确实可行,更好的办法正在寻找中。。

           3、MIB文件复制到mibs默认读取路径,snmp.conf也改了但始终无法正常获取,尝试export MIBS+=XXX-MIB(unset MIBS可以将其删除)  

           

            前面的步骤看起来可以一口气执行下来,然而事实是每一步都可能遇到问题,度娘上的解决办法80%都跟自己的情况多少有些不

            符合,15%的看不懂所以很多都要自己花时间摸索。

       

       六、一个很初级的demo

           到这里就可以自己写.py来为所欲为了- -

           能够手动get到MIB中有的项目了,但是离监控还差得远,下一步要开始研究trap了

            

简易对象垃圾回收框架 for Delphi

1       缘起1.1   我的一个出错程序程序名称:呼叫处理模块的压力测试工具,分为客户端和服务端。开发工具:Delhpi 5相关技术:客户端通过与服务端建立Socket连接来模拟一组电话机的拨...
  • Musicwind
  • Musicwind
  • 2004-05-26 13:08:00
  • 2176

vmware 修改磁盘空间

#mkfs -t ext3 -c /dev/sda3    问题描述:vmware下安装ubuntu10.4,分配磁盘空间大小为15G。磁盘空间用完,ubuntu下df命令显示使用率为100%。系...
  • guolb57
  • guolb57
  • 2011-09-06 09:57:02
  • 1603

在VMware下扩展Ubuntu存储容量的方法

  • 2014年12月17日 11:23
  • 999KB
  • 下载

课程设计:词法分析器设计与实现.

  • 2009年11月19日 14:23
  • 1008KB
  • 下载

如何配置 mobile 虚拟机 使其能收到组播数据

如何配置 mobile 虚拟机 使其能收到组播数据
  • bianqingzhi7793
  • bianqingzhi7793
  • 2017-01-03 06:03:37
  • 380

如何在虚拟机上搭建并配置一个分布式的 Hadoop2.7.4 集群

本文展示了如何在虚拟机上搭建并配置一个分布式的 Hadoop2.7.4 集群一、软件准备VMware-WorkStation ubuntu-16.04.2-desktop-amd64.iso ha...
  • kimichen123
  • kimichen123
  • 2017-09-25 16:36:30
  • 476

会话技术Cookie和Session

会话技术     1.浏览器开始访问网站到访问网站结束期间产生的多次请求响应组合在一起叫做一次会话     会话的过程中会产生会话相关的数据,我们需要将这些数据保存起来。          C...
  • ItJavawfc
  • ItJavawfc
  • 2014-11-01 09:42:14
  • 1260

如何在虚拟机中部署项目,与本地连接

首先,为大家分享一篇特别好的博客,关于vmware的三种链接方式,蛮全的,大家想仔细学的可以去看看,对你肯定有帮助,传送门,:Vmware虚拟机三种网络模式详解。     现在开始步入正题了: ...
  • zhuyin365
  • zhuyin365
  • 2017-12-28 08:33:37
  • 246

怎么在虚拟机上部署你自己的项目?

怎么在虚拟机上部署你自己的项目? (1)、在自己虚拟机的linux系统中先搭建环境 (2)、数据移植,数据库导入到虚拟机 (3)、将自己的项目以war的格式导出。 (4)、启动tomcat访问...
  • haha_66666
  • haha_66666
  • 2017-10-29 11:43:37
  • 600

虚拟机的安装和linux操作系统在虚拟机中的安装

  • 2014年06月13日 17:01
  • 2.79MB
  • 下载
收藏助手
不良信息举报
您举报文章:在Win7_CentOS虚拟机上实现python-netsnmp扩展
举报原因:
原因补充:

(最多只允许输入30个字)