使用 OID 检索值的简单算术

Simple arithmetic on values retreived using OIDs

我是 SNMP 和 Nagios 的新手,想对使用 OID 检索的值做一些基本的运算。

我需要监控大学网络服务器上的已用内存 (RAM)。他们似乎在使用 UCD-SNMP-MIB。到目前为止,我遇到了 memTotalReal.0memAvailReal.0,并且没有直接的方法来检索已使用的内存。这有什么具体原因吗?

基本减法的预期命令:

$USER1$/check_snmp -H $HOSTADDRESS$ -o memTotalReal.0-memAvailReal.0

检索已用内存的最简单方法是什么?我是否需要通过编写另一个脚本来求助于减法?

没有简单的方法可以做到。所以你需要这样计算:

(Used – buffers – cached) / Total * 100 = % memory used

Used = total - available

就 OID 而言,您需要使用以下内容:

  • memTotalOID = '.1.3.6.1.4.1.2021.4.5.0'
  • memRealAvailOID = '.1.3.6.1.4.1.2021.4.6.0'
  • memRealBuffersOID = '.1.3.6.1.4.1.2021.4.14.0'
  • memRealCachedOID = '.1.3.6.1.4.1.2021.4.15.0'