利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)
2014-02-20 13:45
423 查看
首先编译的时候configure参数加上--with-mib-modules='ucd-snmp/diskio ip-mib/ipv4InterfaceTable'
默认的配置没有这些模块,需要加上
make;make install后,使用命令net-snmp-config --snmpconfpath查看配置文件的目录
然后修改snmp.conf,添加 mibs +ALL
修改snmpd.conf,在rocommunity public default -V systemonly,把 -V systemonly去掉。这是设置权限,去掉后为能访问全部
假设community为public
snmpwalk -v 2c -c public localhost
这时应该会出来好多好多信息
--------------------------------------------------
以下是Linux下一些常用的OID
CPU的
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
-------------------------------------------------------------------------------
内存的
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
-------------------------------------------------------------------
硬盘的
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
----------------------------------------------------------------
以下是windows下常用的OID
CPU
.1.3.6.1.2.1.25.3.3.1.2
如果有一个双核cpu则有2个值,显示当前负载
内存,硬盘
内存跟硬盘都统一在mib2.host.hrStorage里 1.3.6.1.2.1.25.2
hrStorageType节点,hrStorageFixedDisk表示硬盘,hrStorageVirtualMemory是虚拟内存,hrStorageRam是内存
根据id号查:
hrStorageAllocationUnits是簇的大小
hrStorageSize是有多少簇,两者想乘就是总容量
hrStorageUsed是已使用多少,跟总容量相除就是占用率
---------------------------------------------------------------
系统运行时间
System Uptime: .1.3.6.1.2.1.1.3.0
注:linux系统的话也可直接用uptime命令获得
网络设备的
ifIndex 1.3.6.1.2.1.2.2.1.1.0 端口索引号
ifDescr 1.3.6.1.2.1.2.2.1.2.0 端口描述
ifType 1.3.6.1.2.1.2.2.1.3.0 端口类型
ifMtu 1.3.6.1.2.1.2.2.1.4.0 最大传输包字节数
ifSpeed 1.3.6.1.2.1.2.2.1.5.0 端口速度
ifPhysAddress 1.3.6.1.2.1.2.2.1.6.0 物理地址
ifOperStatus 1.3.6.1.2.1.2.2.1.8.0 操作状态
ifLastChange 1.3.6.1.2.1.2.2.1.9.0 上次状态更新时间
ifInOctets 1.3.6.1.2.1.2.2.1.10.0 输入字节数
ifInUcastPkts 1.3.6.1.2.1.2.2.1.11.0 输入非广播包数
ifInNUcastPkts 1.3.6.1.2.1.2.2.1.12.0 输入广播包数
ifInDiscards 1.3.6.1.2.1.2.2.1.13.0 输入包丢弃数
ifInErrors 1.3.6.1.2.1.2.2.1.14.0 输入包错误数
ifInUnknownProtos 1.3.6.1.2.1.2.2.1.15.0 输入未知协议包数
ifOutOctets 1.3.6.1.2.1.2.2.1.16.0 输出字节数
ifOutUcastPkts 1.3.6.1.2.1.2.2.1.17.0 输出非广播包数
ifOutNUcastPkts 1.3.6.1.2.1.2.2.1.18.0 输出广播包数
ifOutDiscards 1.3.6.1.2.1.2.2.1.19.0 输出包丢弃数
ifOutErrors 1.3.6.1.2.1.2.2.1.20.0 输出包错误数
ifOutQLen 1.3.6.1.2.1.2.2.1.21.0 输出队长
流量输出的是计数器,单位是byte,32位
如果流量过大出现统计不正确的情况,就需要编译时加上enable-mfd-rewrites参数,来支持64位的计数器
默认的配置没有这些模块,需要加上
make;make install后,使用命令net-snmp-config --snmpconfpath查看配置文件的目录
然后修改snmp.conf,添加 mibs +ALL
修改snmpd.conf,在rocommunity public default -V systemonly,把 -V systemonly去掉。这是设置权限,去掉后为能访问全部
假设community为public
snmpwalk -v 2c -c public localhost
这时应该会出来好多好多信息
--------------------------------------------------
以下是Linux下一些常用的OID
CPU的
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
-------------------------------------------------------------------------------
内存的
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
-------------------------------------------------------------------
硬盘的
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
----------------------------------------------------------------
以下是windows下常用的OID
CPU
.1.3.6.1.2.1.25.3.3.1.2
如果有一个双核cpu则有2个值,显示当前负载
内存,硬盘
内存跟硬盘都统一在mib2.host.hrStorage里 1.3.6.1.2.1.25.2
hrStorageType节点,hrStorageFixedDisk表示硬盘,hrStorageVirtualMemory是虚拟内存,hrStorageRam是内存
根据id号查:
hrStorageAllocationUnits是簇的大小
hrStorageSize是有多少簇,两者想乘就是总容量
hrStorageUsed是已使用多少,跟总容量相除就是占用率
---------------------------------------------------------------
系统运行时间
System Uptime: .1.3.6.1.2.1.1.3.0
注:linux系统的话也可直接用uptime命令获得
网络设备的
ifIndex 1.3.6.1.2.1.2.2.1.1.0 端口索引号
ifDescr 1.3.6.1.2.1.2.2.1.2.0 端口描述
ifType 1.3.6.1.2.1.2.2.1.3.0 端口类型
ifMtu 1.3.6.1.2.1.2.2.1.4.0 最大传输包字节数
ifSpeed 1.3.6.1.2.1.2.2.1.5.0 端口速度
ifPhysAddress 1.3.6.1.2.1.2.2.1.6.0 物理地址
ifOperStatus 1.3.6.1.2.1.2.2.1.8.0 操作状态
ifLastChange 1.3.6.1.2.1.2.2.1.9.0 上次状态更新时间
ifInOctets 1.3.6.1.2.1.2.2.1.10.0 输入字节数
ifInUcastPkts 1.3.6.1.2.1.2.2.1.11.0 输入非广播包数
ifInNUcastPkts 1.3.6.1.2.1.2.2.1.12.0 输入广播包数
ifInDiscards 1.3.6.1.2.1.2.2.1.13.0 输入包丢弃数
ifInErrors 1.3.6.1.2.1.2.2.1.14.0 输入包错误数
ifInUnknownProtos 1.3.6.1.2.1.2.2.1.15.0 输入未知协议包数
ifOutOctets 1.3.6.1.2.1.2.2.1.16.0 输出字节数
ifOutUcastPkts 1.3.6.1.2.1.2.2.1.17.0 输出非广播包数
ifOutNUcastPkts 1.3.6.1.2.1.2.2.1.18.0 输出广播包数
ifOutDiscards 1.3.6.1.2.1.2.2.1.19.0 输出包丢弃数
ifOutErrors 1.3.6.1.2.1.2.2.1.20.0 输出包错误数
ifOutQLen 1.3.6.1.2.1.2.2.1.21.0 输出队长
流量输出的是计数器,单位是byte,32位
如果流量过大出现统计不正确的情况,就需要编译时加上enable-mfd-rewrites参数,来支持64位的计数器
相关文章推荐
- 利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)
- SNMP 读取H3C设备实体的cpu和内存OID
- snmp4j获取数据实例(一,Linux SNMP OID’s for CPU,Memory a)
- Linux与Windows利用ext3共享数据
- Linux 查看CPU/内存/网卡/操作系统信息
- LINUX下查看CPU、主板、硬盘、内存,网卡信息
- python利用WMI监控windows状态如CPU、内存、硬盘
- 在windows下的QT编程中的char*,wchar_t*与QString之间的转换(利用reinterpret_cast和_stprintf函数,fromWCharArray从字符数组里读取数据)
- 利用Mxnet自带的工具,进行数据转化,读取图片文件
- Linux中利用RAW SOCKET直接通过网卡收发数据
- Linux和windows 32位64位 数据类型的内存占用
- windows和Linux上利用vlc插件获取rtsp视频流解码数据
- windows 下怎样利用NET-SNMP 发送和接收trap
- 利用Shell脚本来监控Linux系统的负载、CPU、内存、硬盘、用户登录数
- 查看linux性能信息cpu-内存-硬盘-网卡
- java利用snmp4j包来读取snmp协议数据(Manager端)
- Linux中利用RAW SOCKET直接通过网卡收发数据
- linux驱动学习--第十九天:第十一章:CPU 与内存和I/O(二):设备I/O 端口和I/O 内存的访问
- ASP.NET MVC + EF 利用存储过程读取大数据,1亿数据测试很OK
- Linux通过snmp采集cpu,内存,磁盘