Debian Admin

Debian/Ubuntu Linux System Administration Tutorials,Howtos,Tips

  • RSS Subscribe

    subscribe to the Debian Admin RSS feed
  • Sponsors



  • Categories

  • Sponsors

  • Support DebianAdmin

    Amount $:
    Website(Optional):


  • Meta

  • Archives



Linux SNMP OID’s for CPU,Memory and Disk Statistics

Posted by Admin on September 12th, 2006

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

SNMP stands for Simple Network Management Protocol and consists of three key components: managed devices, agents, and network-management systems (NMSs). A managed device is a node that has an SNMP agent and resides on a managed network. These devices can be routers and access server, switches and bridges, hubs, computer hosts, or printers. An agent is a software module residing within a device. This agent translates information into a compatible format with SNMP. An NMS runs monitoring applications. They provide the bulk of processing and memory resources required for network management.

SNMP MIBs, OIDs Overview

MIB stands for Management Information Base and is a collection of information organized hierarchically. These are accessed using a protocol such as SNMP. There are two types of MIBs: scalar and tabular. Scalar objects define a single object instance whereas tabular objects define multiple related object instances grouped in MIB tables.
MIB files for specific devices or systems can be downloaded from here

OIDs or Object Identifiers uniquely identify manged objects in a MIB hierarchy. This can be depicted as a tree, the levels of which are assigned by different organizations. Top level MIB object IDs (OIDs) belong to different standard organizations. Vendors define private branches including managed objects for their own products.

Here is a sample structure of an OID

Iso (1).org(3).dod(6).internet(1).private(4).transition(868).products(2).chassis(4).card(1).slotCps(2)­
.­cpsSlotSummary(1).cpsModuleTable(1).cpsModuleEntry(1).cpsModuleModel(3).3562.3

Most of the people may be looking for OID’s for Linux OID’s for CPU,Memory and Disk Statistics for this first you need to install SNMP server and clients. If you want to install SNMP server and client installation in linux check here

CPU Statistics

Load
1 minute Load: .1.3.6.1.4.1.2021.10.1.3.1
5 minute Load: .1.3.6.1.4.1.2021.10.1.3.2
15 minute Load: .1.3.6.1.4.1.2021.10.1.3.3

CPU
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0

Memory Statistics

Total Swap Size: .1.3.6.1.4.1.2021.4.3.0
Available Swap Space: .1.3.6.1.4.1.2021.4.4.0
Total RAM in machine: .1.3.6.1.4.1.2021.4.5.0
Total RAM used: .1.3.6.1.4.1.2021.4.6.0
Total RAM Free: .1.3.6.1.4.1.2021.4.11.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0

Disk Statistics

The snmpd.conf needs to be edited. Add the following (assuming a machine with a single ‘/’ partition):

disk / 100000 (or)

includeAllDisks 10% for all partitions and disks

The OIDs are as follows

Path where the disk is mounted: .1.3.6.1.4.1.2021.9.1.2.1
Path of the device for the partition: .1.3.6.1.4.1.2021.9.1.3.1
Total size of the disk/partion (kBytes): .1.3.6.1.4.1.2021.9.1.6.1
Available space on the disk: .1.3.6.1.4.1.2021.9.1.7.1
Used space on the disk: .1.3.6.1.4.1.2021.9.1.8.1
Percentage of space used on disk: .1.3.6.1.4.1.2021.9.1.9.1
Percentage of inodes used on disk: .1.3.6.1.4.1.2021.9.1.10.1

System Uptime: .1.3.6.1.2.1.1.3.0

Examples

These Commands you need to run on the SNMP server

Get available disk space for / on the target host

#snmpget -v 1 -c “community” target_name_or_ip .1.3.6.1.4.1.2021.9.1.7.1

this will return available disk space for the first entry in the ‘disk’ section of snmpd.conf; replace 1 with n for the nth entry

Get the 1-minute system load on the target host

#snmpget -v 1 -c “community” target_name_or_ip .1.3.6.1.4.1.2021.10.1.3.1

Get the 5-minute system load on the target host

#snmpget -v 1 -c “community” target_name_or_ip .1.3.6.1.4.1.2021.10.1.3.2

Get the 15-minute system load on the target host

#snmpget -v 1 -c “community” target_name_or_ip .1.3.6.1.4.1.2021.10.1.3.3

Get amount of available swap space on the target host

#snmpget -v 1 -c “community” target_name_or_ip .1.3.6.1.4.1.2021.4.4.0

  • Share/Bookmark

11 Responses to “Linux SNMP OID’s for CPU,Memory and Disk Statistics”

  1. allucardster Says:

    hey thank you very much for the OID. In fact, I served much

    Sayonara

  2. Eduardo Says:

    There is an error on description for OID .1.3.6.1.4.1.2021.4.6.0
    It is not “Total RAM used” as stated here, but instead, is the available real memory.

  3. deisecairo Says:

    You are right, Eduardo.

    The Mem info coming from OIDs 1.3.6.1.4.1.2021.4.4.0 and 1.3.6.1.4.1.2021.4.6.0 is the just the free Swap memory and the free RAM memory in the machine. So, you can get the used Swap memory and the RAM used memory doing the difference between the Total Swap memory and the free Swap memory for the used Swap memory, and the difference between the Total RAM memory and the free RAM memory for the used RAM memory.

    The OID 1.3.6.1.4.1.2021.4.11.0 is for the Total free memory in the machine (free Swap memory + free RAM memory).

    Regards.

  4. Derek Says:

    Great article and a nice summary.

  5. John Says:

    Hye does anyone know the OID for getting the remote timestamp from the machine that you are querying? if so It would be much appreciated.

    Cheers

    John

  6. joe martin Says:

    Looks like the following OID returns current date/time

    .1.3.6.1.4.1.2021.100.4.0+

    sample:
    # date;snmpwalk -Cc -On -v2c -c public localhost .1.3.6.1.4.1.2021.100.4.0
    Thu May 21 14:21:47 CDT 2009
    .1.3.6.1.4.1.2021.100.4.0 = STRING: Thu May 21 14:21:47 2009

  7. joe martin Says:

    snmptranslate .1.3.6.1.4.1.2021.100.4.0
    UCD-SNMP-MIB::versionCDate.0

  8. Michael Schwager Says:

    Nice article, thanks. But that error in Total RAM used: .1.3.6.1.4.1.2021.4.6.0 screwed me up. Can you fix that in your article?

    Also, something that may be helpful: According to (http://mail.nl.linux.org/linux-mm/2003-03/msg00077.html) if we did this we could get a reasonable reading of our memory:

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

    So you could get the following (expressed as Perl code):

    my $memRealTotalOID = '.1.3.6.1.4.1.2021.4.5.0';
    my $memRealAvailOID = '.1.3.6.1.4.1.2021.4.6.0';
    my $memRealBuffersOID = '.1.3.6.1.4.1.2021.4.14.0';
    my $memRealCachedOID = '.1.3.6.1.4.1.2021.4.15.0';
    # Memory Calculations
    my $memRealUsed = $memRealTotal - $memRealAvail;

    Then you can alert on % RAM used:

    my $realPercent = (($memRealUsed - $memRealBuffers - $memRealCached )/ $memRealTotal) * 100;

    Hope this helps.

  9. Michal Zyzak Says:

    Very good article!

    But I have a question about monitoring multicore CPUs.
    Is it possible to get load of each core via SNMP ?
    If so – wchich OID do I have to watch?

    Regards

  10. srinu Says:

    hi,

    unable to get the disk details.Please let me know how get the details like totaldisk,useddisk and availdisk

    Thanks in advance

  11. Prasanna K S Says:

    Thank you. It helped a lot to get my redhat system managed.
    Please correct the memory mistake (interchanged text of one OID)

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>