注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

红烧鱼

linux & windows management

 
 
 

日志

 
 
关于我
mac

专注IT基础架构设计与运维。 欢迎给我留言,或邮件沟通zjwsk@163.com

网易考拉推荐

snmp4j获取数据实例(一,Linux SNMP OID’s for CPU,Memory a)  

2008-08-05 20:53:15|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

常用SNMP OID

 

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

 

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

 

Java代码 复制代码
  1. import java.io.IOException;   
  2. import java.net.InetAddress;   
  3. import java.util.Vector;   
  4. import org.snmp4j.AbstractTarget;   
  5. import org.snmp4j.CommunityTarget;   
  6. import org.snmp4j.PDU;   
  7. import org.snmp4j.Snmp;   
  8. import org.snmp4j.TransportMapping;   
  9. import org.snmp4j.event.ResponseEvent;   
  10. import org.snmp4j.mp.SnmpConstants;   
  11. import org.snmp4j.smi.Address;   
  12. import org.snmp4j.smi.GenericAddress;   
  13. import org.snmp4j.smi.OID;   
  14. import org.snmp4j.smi.OctetString;   
  15. import org.snmp4j.smi.UdpAddress;   
  16. import org.snmp4j.smi.VariableBinding;   
  17. import org.snmp4j.transport.DefaultUdpTransportMapping;   
  18.   
  19. public class SNMP_oper   
  20. ...{   
  21.        
  22.     public static void main(String[] args)   
  23.     ...{   
  24.         try  
  25.         ...{   
  26.             Address targetAddress = GenericAddress.parse("udp:127.0.0.1/161");   
  27.             TransportMapping transport = new DefaultUdpTransportMapping();   
  28.             Snmp snmp = new Snmp(transport);   
  29.             transport.listen();//监听   
  30.                
  31.                
  32.             CommunityTarget target = new CommunityTarget();   
  33.             target.setCommunity(new OctetString("public"));//设置共同体名   
  34.             target.setAddress(targetAddress);//设置目标Agent地址   
  35.             target.setRetries(2);//重试次数   
  36.             target.setTimeout(5000);//超时设置   
  37.             target.setVersion(1);//版本   
  38.                
  39.             PDU request = new PDU();   
  40.             request.setType(PDU.GET);//操作类型GET   
  41.             request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.1.0")));//OID_sysDescr   
  42.             request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.2.0")));//OID_sysObjectID   
  43.             request.add(new VariableBinding(new OID(".1.3.6.1.2.1.1.3.0")));//OID_sysUpTime   
  44.   
  45.             System.out.println("Request UDP:" + request);   
  46.                
  47.             ResponseEvent respEvt = snmp.send(request, target);   
  48.                
  49.             //读取得到的绑定变量   
  50.             if (respEvt != null && respEvt.getResponse()!=null)   
  51.             ...{   
  52.                 Vector <VariableBinding> revBindings = respEvt.getResponse().getVariableBindings();   
  53.                 for (int i=0; i<revBindings.size();i++)   
  54.                 ...{   
  55.                     VariableBinding vbs = revBindings.elementAt(i);   
  56.                     System.out.println(vbs.getOid()+":"+vbs.getVariable());   
  57.                 }   
  58.             }   
  59.   
  60.         }   
  61.         catch (IOException e)   
  62.         ...{   
  63.             e.printStackTrace();   
  64.         }   
  65.     }   
  66. }  
 
更详细是资料 http://blog.chinaunix.net/u/10921/showart_202809.html
  评论这张
 
阅读(2516)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017