首先编译的时候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位的计数器

转自:https://my.oschina.net/yisenn/blog/14626

其他相关链接:http://www.0x55aa.com/linux/1216.html

利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)的更多相关文章

  1. 利用wireshark抓取远程linux上的数据包

    原文发表在我的博客主页,转载请注明出处. 前言 因为出差,前后准备总结了一周多,所以博客有所搁置.出差真是累人的活计,不过确实可以学习到很多东西,跟着老板学习做人,学习交流的技巧.入正题~ wires ...

  2. Linux 性能监控之CPU&内存&I/O监控Shell脚本2

    Linux 性能监控之CPU&内存&I/O监控Shell脚本2   by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...

  3. Linux 性能监控之CPU&内存&I/O监控Shell脚本1

    Linux 性能监控之CPU&内存&I/O监控Shell脚本1   by:授客 QQ:1033553122   #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...

  4. 【转】Linux 下取进程占用 cpu/内存 最高的前10个进程

    # Linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...

  5. linux 下取进程占用 cpu/内存 最高的前10个进程

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...

  6. 我的计划任务 --- 实现市电停电安全关闭群辉,Windows, Linux等设备

    有一次突然停电,我的群辉DS218+ 的一块硬盘出现故障了,让我担心我的数据安全,其实我是有UPS, 不是在线式的,然后就想如何实现停电自动关机呢? 经过半天的了解,其实群辉支持telnet协议,于是 ...

  7. 【编程开发】x86,I386,i686, x86_64, x64,amd64、Windows Linux AIX下查看CPU位数和操作系统位数、rpm包名

    a2ps-4.13b-57.2.el5.i386.rpm 每一个rpm包的名称都由"-"和"."分成了若干部分.就拿 a2ps-4.13b-57.2.el5.i ...

  8. 利用php unpack读取c struct的二进制数据,struct内存对齐引起的一些问题

    c语言代码 #include <stdio.h> struct test{ int a; unsigned char b; int c; }; int main(){ FILE *fp; ...

  9. Windows/Linux下查看系统CPU使用最高的线程

    参考:https://blog.csdn.net/qq_27818157/article/details/78688580 jstack -l 31372 > c:/31372.stack

  10. Linux SNMP 监控一些常用OID

    Linux SNMP 监控一些常用OID ===============linux服务器snmp常用oid http://www.haiyun.me/archives/linux-snmp-oid.h ...

随机推荐

  1. 『vulnhub系列』BEELZEBUB- 1

    『vulnhub系列』BEELZEBUB- 1 下载地址: https://www.vulnhub.com/entry/beelzebub-1,742/ 信息搜集: 使用nmap扫描存活主机,发现主机 ...

  2. Vue2 整理(三):高级篇

    前言 基础篇链接:https://www.cnblogs.com/xiegongzi/p/15782921.html 组件化开发篇链接:https://www.cnblogs.com/xiegongz ...

  3. 什么是JS执行上下文?

    我们都知道,JS代码的执行顺序总是与代码先后顺序有所差异,当先抛开异步问题你会发现就算是同步代码,它的执行也与你的预期不一致,比如: function f1() { console.log('听风是风 ...

  4. IDEA+Maven+Spring5.X项目创建

    创建maven 添加依赖 pom.xml <dependencies> <dependency> <groupId>org.springframework</ ...

  5. SpringBoot目录文件结构和官方推荐的目录规范、静态资源访问

    目录讲解 src/main/java:存放代码 src/main/resourcces static:存放静态文件,比如css.js.image,(访问方式:http://localhost:8080 ...

  6. 把nodejs程序打包成可执行文件

    在写好之后的nodejs程序,想发给同事的电脑上运行程序,就不得不下载node环境,还要安装第三方依赖包,非常的麻烦. 因此,可以借助一些插件来完成nodejs程序的打包,变成可以执行的文件. 将No ...

  7. P2984

    [USACO10FEB]Chocolate Giving S 题意描述 Farmer John有B头奶牛(1<=B<=25000),有N(2*B<=N<=50000)个农场,编 ...

  8. vue --version 显示的却是vue cli的版本号,为什么?

    vue --version 显示的却是vue cli的版本号,为什么? 如果您在运行 vue --version 命令时显示的是 Vue CLI 的版本号,而不是 Vue.js 的版本号,那可能是因为 ...

  9. C#全局键盘监听(Hook)的使用

    一.为什么需要全局键盘监听? 在某些情况下应用程序需要实现快捷键执行特定功能,例如大家熟知的QQ截图功能Ctrl+Alt+A快捷键,只要QQ程序在运行(无论是拥有焦点还是处于后台运行状态),都可以按下 ...

  10. 深入浅出分析最近火热的Mem0个性化AI记忆层

    最近Mem0横空出世,官方称之为PA的记忆层,The memory layer for Personalized AI,有好事者还称这个是RAG的替代者,Mem0究竟为何物,背后的原理是什么,我们今天 ...