我有一个 SNMP 监控框,想监控集群数据库服务器上的接口利用率。我正在尝试找出正确的 OID 来监控 - 我只需要 SNMP 来返回给定时间的总接口吞吐量。
SNMP 框已配置好并将正确绘制图表。我能找到的所有方法都在谈论设置 Catci 或 MRTG,这一切都很好,但我需要的似乎更简单,但我似乎无法找到我正在寻找的东西。SNMP 框已经配置了正确的社区名称等,所以理论上这应该是一个非常简单的。
非常感激地收到任何帮助
谢谢
当您说“接口利用率”时,我假设您的意思是以太网接口利用率。如果这个假设是正确的,那么有几个 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 都是表的一部分,并且将有一个关联的索引,将其链接到接口描述(例如,eth0
或br1
)。
这些 OID 提供了接收和传输的八位字节计数,因此它们需要一点点按摩才能达到您想要的利用率。过去,当我监控这些 OID 时,我会每隔几秒钟查询两个值,然后计算速率。
(QueryResult2 - QueryResult1) / (SecondsElapsed)
我猜想 Cacti (我假设你正在使用它,因为你用它标记了你的问题)有一些方法可以从 SNMP 值计算速率,但是,我从来没有使用过它,所以我不肯定。
另一重要注意事项是 CentOS 包含的默认snmpd.conf可能没有启用这些 OID。如果您运行snmpwalk
并1.3.6.1.2.1.2
收到1.3.6.1.2.1.31
空结果,请编辑/etc/snmpd.conf
以配置 SNMP 守护程序以响应这些 OID。我不记得确切的语法,但我想添加一行,
view all included .1
将启用服务器上所有可用的 OID。
http://namhuy.net/908/how-to-install-iftop-bandwidth-monitoring-tool-in-rhel-centos-fedora.html
要求: libpcap:模块提供了用户级的网络数据包捕获信息和统计信息。libncurses:是一个 API 编程库,使程序员能够在终端中提供基于文本的接口。gcc:GNU Compiler Collection (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