CentOS使用SNMP来显示接口使用情况

时间:2012-07-24 16:24:26

标签: linux centos snmp redhat cacti

我有一个SNMP监控盒,希望监控集群数据库服务器上的接口利用率。我正在尝试找出正确的OID来监控 - 我只需要SNMP来返回给定时间的总接口吞吐量。

SNMP框已配置好并将正确绘制图形。我能找到的所有关于设置Catci或MRTG的讨论都很好,但我需要的东西似乎更简单,但我似乎无法找到我正在寻找的东西。 SNMP框已经配置了正确的社区名称等,所以理论上这应该是非常简单的。

非常感谢任何帮助

由于

2 个答案:

答案 0 :(得分:3)

当您说“接口利用率”时,我假设您的意思是以太网接口利用率。如果这个假设是正确的,那么有几个OID需要调查:

  • 1.3.6.1.2.1.2.2.1.10 - ifInOctets返回接口上收到的八位字节总数,包括框架字符。
  • 1.3.6.1.2.1.2.2.1.16 - ifOutOctets返回从界面传输的八位字节总数,包括框架字符。
  • 1.3.6.1.2.1.31.1.1.1.6 - ifHCInOctets返回接口上收到的八位字节总数,包括帧字符(这是ifInOctets的64位版本)。
  • 1.3.6.1.2.1.31.1.1.1.10 - ifHCInOctets返回从接口传出的八位字节总数,包括帧字符(这是ifOutOctets的64位版本)。

每个OID都是表的一部分,并且具有将其链接到接口描述的关联索引(例如,eth0br1)。

这些OID提供接收和发送的八位字节数,因此需要一点按摩才能达到您想要的利用率。在过去,当我监控这些OID时,我已经查询了几秒钟的两个值,然后计算了这个值。

(QueryResult2 - QueryResult1) / (SecondsElapsed)

我猜想Cacti(我假设你使用它,因为你用它标记了你的问题)有一些方法来计算SNMP值的速率,但是,我从来没有使用它所以我不是正面的。

另一个重要的注意事项是CentOS附带的默认 snmpd.conf 可能没有启用这些OID。如果您在snmpwalk1.3.6.1.2.1.2上运行1.3.6.1.2.1.31并收到空结果,请编辑/etc/snmpd.conf以配置SNMP守护程序以响应这些OID。我不记得确切的语法,但我想添加一行,如

view   all   included   .1

将启用服务器上的所有可用OID。

答案 1 :(得分:-2)

http://namhuy.net/908/how-to-install-iftop-bandwidth-monitoring-tool-in-rhel-centos-fedora.html

要求: libpcap:模块提供用户级网络数据包捕获信息和统计信息。 libncurses:是一个API编程库,使程序员能够在终端中提供基于文本的接口。 gcc:GNU编译器集合(GCC)是GNU项目支持各种编程语言的编译器系统。

通过yum安装libpcap,libnurses,gcc

yum -y install libpcap libpcap-devel ncurses ncurses-devel gcc

下载并安装iftop

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz
./configure
make
make install