利用net-snmp读取windows,linux,snmp设备数据(cpu,内存,网卡)
首先编译的时候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,内存,网卡)的更多相关文章
- 利用wireshark抓取远程linux上的数据包
原文发表在我的博客主页,转载请注明出处. 前言 因为出差,前后准备总结了一周多,所以博客有所搁置.出差真是累人的活计,不过确实可以学习到很多东西,跟着老板学习做人,学习交流的技巧.入正题~ wires ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本2
Linux 性能监控之CPU&内存&I/O监控Shell脚本2 by:授客 QQ:1033553122 思路: 捕获数据->停止捕获数据->提取数据 备注:一些命令的输 ...
- Linux 性能监控之CPU&内存&I/O监控Shell脚本1
Linux 性能监控之CPU&内存&I/O监控Shell脚本1 by:授客 QQ:1033553122 #!/bin/bash # 获取要监控的本地服务器IP地址 IP=`if ...
- 【转】Linux 下取进程占用 cpu/内存 最高的前10个进程
# Linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存 ...
- linux 下取进程占用 cpu/内存 最高的前10个进程
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ;|head linux下获取占用内存资源最多的10个进程,可以使用如下命令组合: ;|head 命令组合解析(针对CPU的,M ...
- 我的计划任务 --- 实现市电停电安全关闭群辉,Windows, Linux等设备
有一次突然停电,我的群辉DS218+ 的一块硬盘出现故障了,让我担心我的数据安全,其实我是有UPS, 不是在线式的,然后就想如何实现停电自动关机呢? 经过半天的了解,其实群辉支持telnet协议,于是 ...
- 【编程开发】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 ...
- 利用php unpack读取c struct的二进制数据,struct内存对齐引起的一些问题
c语言代码 #include <stdio.h> struct test{ int a; unsigned char b; int c; }; int main(){ FILE *fp; ...
- Windows/Linux下查看系统CPU使用最高的线程
参考:https://blog.csdn.net/qq_27818157/article/details/78688580 jstack -l 31372 > c:/31372.stack
- Linux SNMP 监控一些常用OID
Linux SNMP 监控一些常用OID ===============linux服务器snmp常用oid http://www.haiyun.me/archives/linux-snmp-oid.h ...
随机推荐
- python重拾基础第二天
本节内容 列表.元祖操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 三元运算&生成式&成员运算&解压法&队列堆栈&数据类型转换 1. 列表操作 ...
- .NET Core WebAPI项目部署iis后Swagger 404问题解决
.NET Core WebAPI项目部署iis后Swagger 404问题解决 前言 之前做了一个WebAPI的项目,我在文章中写到的是Docker方式部署,然后考虑到很多初学者用的是iis,下面讲解 ...
- EEPROM、Flash有关知识
存储器分为两大类:RAM(Random Access Memory,任意地址访问储存器)和ROM(Read-Only Memory,只读储存器). 发展历史 ROM Read-Only Memory, ...
- 题解:洛谷 P1137 旅行计划
标签:图论,拓扑,dp 题意 给定一张 \(n\) 个点 \(m\) 条边的 DAG,对于每个 \(i\),求以它为终点最多经过多少个点? 思路 由于是 DAG,求的是终点 \(i\) 经过的所有点, ...
- 为给git设置代理
为给git设置代理 通过软件形式为git设置代理 命令(端口改为自己的端口): git config --global https.proxy http://127.0.0.1:1083 git co ...
- 常用IDE(开发工具)
一.开发工具 Visual Studio Microsoft Visual Studio(简称VS)是微软公司提供的IDE,可以在VS上编写C.C++.C#等多种语言的项目,所写的代码适用于微软支持的 ...
- tp5命名规范
tp5中对类,文件名,函数和方法的命名规范如下: 类名和类文件名保持一致,并统一采用驼峰法命名(首字母大写) 类的命名采用驼峰法,并且首字母大写,例如 User.UserType,不需要添加contr ...
- TypeScript 学习笔记 — 泛型的使用(七)
目录 一.指定函数参数类型 单个泛型 多个泛型 二.函数标注的方式 类型别名 type 接口 interface *案例分析: 三.默认泛型 四.泛型约束 五.泛型接口使用 六.类中的泛型 泛型(Ge ...
- Python 基于win32com客户端实现Excel操作
测试环境 Python 3.6.2 代码实现 非多线程场景下使用 新建并保存EXCEL import win32com.client from win32api import RGB def save ...
- Python 基于Python生成短8位唯一id解决方案
基于Python生成短8位唯一id解决方案 by:授客 QQ:1033553122 测试环境: Win10 Python 3.5.4 实现思路 利用62个可打印字符,通过随机生成32位UUID,由 ...