您好,欢迎访问一九零五行业门户网

php+snmp监控远程服务器信息

=================================================================== 查看阅读 host-resources 的 mib 文件 more net-snmp源码/mibs/host-resources-mib.txt =================================================================== host 所有资源hrsystem
===================================================================
查看阅读 host-resources 的 mib 文件
more net-snmp源码/mibs/host-resources-mib.txt
===================================================================
host 所有资源hrsystem 系统日期/时间,初始化设备,内核引导参数,系统当前的登录用户数,当前的进程数,支持的最大进程数hrstorage 内存大小,磁盘大小,使用情况等hrdevice 设备id,设备类型,对设备的描述,引导盘,挂载分区等hrswrun 线上系统的进程id,进程名,涉及的参数,运行状态等hrswrunperf 线上系统进程占用 cpu 的时间,占用内存的大小hrswinstalled 已安装的软件包名hrmibadmininfo
获取内存大小,磁盘大小,使用情况等
/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' host-resources-mib::hrstorage
===================================================================
查看阅读 if-mib 的 mib 文件
# more net-snmp源码/mibs/if-mib.txt
===================================================================
ifindex interfaceindex,ifdescr displaystring,iftype ianaiftype,ifmtu integer32,ifspeed gauge32,ifphysaddress physaddress,ifadminstatus integer,ifoperstatus integer,iflastchange timeticks,ifinoctets counter32,ifinucastpkts counter32, 输入流量ifinnucastpkts counter32, -- deprecatedifindiscards counter32, 已经丢弃的收到的数据包的总数ifinerrors counter32,ifinunknownprotos counter32,ifoutoctets counter32,ifoutucastpkts counter32, 输出流量ifoutnucastpkts counter32, -- deprecatedifoutdiscards counter32,ifouterrors counter32,ifoutqlen gauge32, -- deprecatedifspecific object identifier -- deprecated
① 查看网卡设备
/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' if-mib:ifdescr
② 监控if-mib::ifinucastpkts(输入流量),if-mib::ifoutucastpkts(输出流量),格式为.,如监控本地的第二块网卡 instance 为 2
/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' if-mib::ifinucastpkts.2/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' if-mib::ifoutucastpkts.2
③ 监控 ifindiscards(已经丢弃的收到的数据包的总数),格式同上
/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' ifindiscards.2
===================================================================
用 snmptranslate 命令在 mib oid 在数字和文字名称之间进行转换
===================================================================
① 用 snmptranslate 把 symbol 格式的 host-resources-mib::hrsystem 转换为 numberic 格式的 oid,用-on(输出数字格式的 oid),使用 -ir(允许“随机”访问 mib)
/user/local/snmp/bin/snmptranslate -on -ir host-resources-mib::hrsystem
② 用 snmptranslate 把 symbol 格式的 host-resources-mib::hrsystem 转换为 symbol 格式的 oid,用-onf(输出符号格式的 oid)
/user/local/snmp/bin/snmptranslate -onf -ir host-resources-mib::hrsystem
③ 用 snmptranslate 输出该对象(iso.org.dod.internet.mgmt.mib-2)的详细定义,用 -td(包括文字名称、所属 mib、类型、状态、读写权限、描述信息,数字格式的 oid)
/user/local/snmp/bin/snmptranslate -td iso.org.dod.internet.mgmt.mib-2
④ 用 snmptranslate 打印从指定oid(.1.3.6.1.2.1)开始一直到该 oid(.1.3.6.1.2.1)所属的 mib 子树末端的树型结构信息
/user/local/snmp/bin/snmptranslate -tp iso.org.dod.internet.mgmt.mib-2
⑤ 用snmptranslate导出所有已经加载的 mib 的数据,每个对象一行
/user/local/snmp/bin/snmptranslate -ta iso.org.dod.internet.mgmt.mib-2
⑥ 用snmptranslate导出所有已经加载的 mib 的对象,并且输出完整的 oid 路径
/user/local/snmp/bin/snmptranslate -tl iso.org.dod.internet.mgmt.mib-2
⑦ 用snmptranslate导出已经加载的所有 mib 的数字格式的 oid ,不含值和类型,仅仅有 oid 而已
/user/local/snmp/bin/snmptranslate -to iso.org.dod.internet.mgmt.mib-2
⑧ 用snmptranslate只输出文字格式的 oid 名称而已
/user/local/snmp/bin/snmptranslate -ts iso.org.dod.internet.mgmt.mib-2
===================================================================
利用snmp监控实例
===================================================================
//根据oid获取单个信息//exec(/usr/local/snmp/bin/snmpget -o vt -v3 -t 500 -r 3 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' .1.3.6.1.2.1.25.2.3.1.6.31, $snmp);exec(/usr/local/snmp/bin/snmpwalk -v3 -t 500 ip:161 -u '用户名' -l 'auth' -a 'md5' -a '密码' host-resources-mib::hrstorage, $snmp);foreach($snmp as $value){ if(stristr($value,'hrstorageindex')) { $arr = explode('=',$value); $num = str_replace('integer:','',$arr[1]); $num_arr[] = intval($num); $result[trim($arr[0])] = trim($arr[1]); } else { $arr = explode('=',$value); $result[trim($arr[0])] = trim($arr[1]); }}foreach($num_arr as $v){ $k_descrc = 'host-resources-mib::hrstoragedescr.'.$v; $k_units = 'host-resources-mib::hrstorageallocationunits.'.$v; $k_size = 'host-resources-mib::hrstoragesize.'.$v; $k_used = 'host-resources-mib::hrstorageused.'.$v; $desc = str_replace('string: ','',$result[$k_descrc]); $unit = intval(str_replace('integer:','',$result[$k_units])); $size = intval(str_replace('integer:','',$result[$k_size])); $used = intval(str_replace('integer:','',$result[$k_used])); $total = ($size/1024)*($unit/1024); $total = ($total >= 1024) ? ceil($total/1024).'gb ' : ceil($total).'mb '; $used = ($used/1024)*($unit/1024); $used = ($used >= 1024) ? ceil($used/1024).'gb ' : ceil($used).'mb '; echo '【'.$desc.'】 total:'.$total.'used:'.$used.\n;}
结果:
【physical memory】 total:16gb used:6gb【virtual memory】 total:32gb used:6gb【memory buffers】 total:16gb used:373mb【cached memory】 total:2gb used:2gb【swap space】 total:16gb used:0mb【/】 total:214gb used:96gb【/boot】 total:194mb used:29mb【/opt/hiker】 total:886gb used:62gb
=================================================================== 查看阅读 host-resources 的 mib 文件 more net-snmp源码/mibs/host-resources-mib.txt =================================================================== 获取内存大小,磁盘大小,使用情况等 =================================================================== 查看阅读 if-mib 的 mib 文件 # more net-snmp源码/mibs/if-mib.txt =================================================================== ① 查看网卡设备 ② 监控if-mib::ifinucastpkts(输入流量),if-mib::ifoutucastpkts(输出流量),格式为.,如监控本地的第二块网卡 instance 为 2 ③ 监控 ifindiscards(已经丢弃的收到的数据包的总数),格式同上 =================================================================== 用 snmptranslate 命令在 mib oid 在数字和文字名称之间进行转换 =================================================================== ① 用 snmptranslate 把 symbol 格式的 host-resources-mib::hrsystem 转换为 numberic 格式的 oid,用-on(输出数字格式的 oid),使用 -ir(允许“随机”访问 mib) ② 用 snmptranslate [...]
其它类似信息

推荐信息