有兩種mib-style
【1】老些的設備
cpu 使用率OID: .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.slot
內存使用率OID: .1.3.6.1.4.1.25506.2.6.1.1.1.1.8.slot
【2】新出的設備
cpu 使用率OID:.1.3.6.1.4.1.2011.10.2.6.1.1.1.1.6.slot
內存使用率OID: .1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8.slot
如何查詢slot呢?,用這個oid:.1.3.6.1.2.1.47.1.1.1.1.2
子網掩碼
snmpwalk -v 2c -c broadapublic 10.1.1.51 1.3.6.1.2.1.4.20.1.3
IP-MIB::ipAdEntNetMask.10.1.1.51 = IpAddress: 255.255.255.0
#coding=utf8
#使用前需安裝net-snmp-utils或net-snmp包
#http://www.h3c.com/CN/D_200906/636072_30003_0.htm#_Toc231200648
from _utils.patrol2 import run_cmd
snmp_version='2c'#1|2c|3
write_community='broadapublic'
host='10.1.1.51'
filename='backup.txt'
tftp_ip='10.1.240.131'
def snmpset(host, oid):
cmd='snmpset -r 0 -v {} -c {} {} {}'.format(snmp_version, write_community, host, oid)
print cmd
result = run_cmd(cmd)
return result
# def snmpwalk():
# cmd='snmpwalk -v {0} -c {1} {2} .1>{2}.mib'.format(snmp_version,write_community,host)
# print cmd
# result = run_cmd(cmd)
# return result
#將當前運行的配置信息保存到下次啟動配置文件(running2Startup)
#snmpset -v 1 -c private ip 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 i 4
#實體的OID為“列對象OID.n”,n為實體編號,實體不同,n的取值不同。實體編號由用戶指定,只要與當前編號不沖突即可。相同編號的實體屬於同一行,行索引即為實體編號。
#snmpset -r 0 -v 2c -c broadapublic 10.1.1.51 1.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 i 1 1.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 i 4
#oid1='1.3.6.1.4.1.25506.2.4.1.2.4.1.2.2'
action_type='1.3.6.1.4.1.25506.2.4.1.2.4.1.2.1 i 3'#指定配置文件操作類型,3為把當前系統運行的配置通過網絡發送到遠端服務器指定位置的文件中
filename='1.3.6.1.4.1.25506.2.4.1.2.4.1.4.1 s {}'.format(filename)#指定文件名,目的文件名
oid3='1.3.6.1.4.1.25506.2.4.1.2.4.1.4.1'
ftp_ip='1.3.6.1.4.1.25506.2.4.1.2.4.1.5.1 a {}'.format(tftp_ip)#指定服務器地址
#oid5='1.3.6.1.4.1.25506.2.4.1.2.4.1.3.4' #1 #使用FTP協議
#oid5='1.3.6.1.4.1.25506.2.4.1.2.4.1.9.2' #4 客戶型號未知
protocol_type='1.3.6.1.4.1.25506.2.4.1.2.4.1.3.1 i 2' #2 #使用TFTP協議
save_log='1.3.6.1.4.1.25506.2.4.1.2.4.1.9.1 i 4'
oid='{action_type} {protocol_type} {filename} {ftp_ip} {save_log}'.format(
action_type=action_type, filename=filename, protocol_type=protocol_type, ftp_ip=ftp_ip, save_log=save_log)
# system = snmpWalk(host, oid)
print snmpset(host, oid)
# snmpwalk -v 2c -c broadapublic 10.1.1.51 .1
