python netsnmp_使用 Net-SNMP 和 IPython

使用 Net-SNMP 和 IPython

使用 IPython 同带 Python 绑定的 Net-SNMP 进行交互,用于管理 UNIX 和 Linux 系统

5306f93707cd3f72287b713386ca7134.png

Noah Gift

2008 年 2 月 21 日发布

f5ae626516dbd4f2ed77ba02fce5d28c.png

引言

对于简单网络管理协议 (SNMP),大多数系统管理员都具有一定的使用经验,或者至少听说过它。如果您正在一个数据中心工作,那么您每天都可能采用某种方式与 SNMP 进行交互。有许多给人印象深刻的、同等规模的网络管理系统 (NMS) 或者网络监视系统使用了 SNMP 监视,但本文并不打算介绍这些系统。本文主要涉及的是通过 Python™ 语言来研究 SNMP,并亲自编写相关的代码。

一位朋友最近告诉我,有时候遇到的情况就像:只是希望沿着街道一路走到奶奶家,而不需要乘坐像 Saturn V 火箭一样飞快。有许多任务,如果利用或者配置大规模的 NMS,就好像是一个 Saturn V 火箭,在填满液氧罐之前,先尝试一下使用 Python,那么您将得到更好的服务。了解如何编写灵活的 Python 代码与 SNMP 进行交互,这可能是系统管理员可以获得的、最有趣且最高效的技能之一。尽管 SNMP 的设置和使用非常复杂,但本文中所讨论的内容将使它变得非常有趣。

安装和配置 Net-SNMP

要学习本文中的内容,您需要在您的 *nix 计算机中安装最新的 Python(即 Python 2.3 或者更高版本)。在撰写本文时,Python 2.5.1 是 Python 的最新版本。您还需要 IPython,以便以交互的方式使用带 Python 绑定的 Net-SNMP 库。Net-SNMP 团队对各种操作系统中的支持进行了详细测试,具体包括 AIX®、HP-UX®、GNU/Linux® 分发版(如 Red Hat)、Windows®,甚至 OS X™。

安装 IPython 是一项非常简单的工作。一个很好的选择是使用 Easy Install 来管理 Python 包。通过运行 ez_setup.py 脚本,您可以很容易地安装任何 Python 包。例如,您只需要键入以下命令:easy_install ipython

其他可选的安装方式包括,使用您最喜欢的包管理系统、或者只需下载 IPython 并键入以下命令:python setup.py install

请注意,干线 (trunk) 指的是版本控制系统中的根路径,其中保存了最近的代码副本。此外,干线还常常表示一个子版本和版本控制系统。有关更详细的内容,请参见参考资料部分中的子版本链接。

要学习本文中的内容,您需要确保您的客户端计算机、或者运行所有代码的计算机都安装了 NET-SNMP Version 5.4.x 或者更高版本,因为从这个源代码版本开始,包括了 Python 绑定。在大多数情况下,绑定的安装需要对源文件进行编译;然而,也可以使用 Red Hat Package Managers (RPM)。如果你有兴趣和时间,那么可以从 Net-SNMP Web 站点查看一下它的最新版本。

有许多编译选项可供使用,但主要的任务是对 NET-SNMP 进行正确编译,然后运行 Python 目录中的、独立的 Python 安装程序。另一个需要注意的问题是,当您进行编译并运行 ./configure 的时候,它将运行本地计算机(正在编译代理的计算机)的配置脚本。您不应该使用该配置脚本,对于本文而言,您只需要创建一个简单的配置脚本。

对 /etc/snmp/snmpd.conf 中所存储的配置文件进行备份,并构建下面这个非常基本的配置:syslocation "My Local Machine"

syscontact me@localhost.com

rocommunity public

保存它,并重新启动 snmpd 守护进程。在大多数 *nix 系统中,可以使用 /etc/init.d/snmpd restart 来完成这项工作。

除非在不得已的情况下,否则最好不要对处于活动开发阶段的版本进行编译,因为这样做,您将需要自己动手修复有问题的代码。在 CentOS 5 或者 Red Hat Enterprise Linux 5 (RHEL 5) 中,您可以下载最新的、稳定的源文件 RPM(在撰写本文之时,是 5.4.1 版本)。请注意,您还需要使用 Python 源文件来构建绑定。因此,如果您正在使用一台基于 Red Hat 的计算机,那么请确保为特定的 *nix 操作系统安装了 python-d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值