国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現數通設備端口監控示例

2020-02-23 05:15:53
字體:
來源:轉載
供稿:網友

最近因工作需要,上面要求,每天需上報運維的幾百數通設備端口使用情況【】,雖然有現成網管監控工具監控設備狀態,但做報表,有點不方便,特寫了個小腳本。

注:測試運行于ubuntn,需安裝snmpwalk工具,

目標數通設備,需做好相關snmp配置

代碼如下:
#/usr/bin/python
#coding:utf-8

import os,sys
import re
from pprint import pprint

#甯歌鍘傚鏁伴?氳澶嘙IB鍊?
MIB = {
   'public':{
        'ports':{
           'string':'.1.3.6.1.2.1.2.2.1.2',
           'status':'.1.3.6.1.2.1.2.2.1.8',   #2 down
       }
    },
   'huawei':{

   },
   'cisco':{
   }
}
#绔彛鐘舵?佽漿鎹?
def portStatus(_s):
    if int(_s)==2:
        return 'down'
    elif int(_s)==1:
        return 'up'
    else:
        return 'none'

#鎵ц緋葷粺鍛戒護snmpwalk璋冪敤
def snmpwalk(host,publicKey,iso):
    return [i.strip() for i in os.popen('/usr/bin/snmpwalk -c %s  -v 2c %s %s'%(publicKey,host,iso)).readlines()]

def getPorts(_ip,_public,option):
    if option == 'ports':
        postsString = (j.split('=')[1].split(':')[1].replace('"','').strip() for j in snmpwalk(_ip,_public,MIB['public']['ports']['string']))
        postsStatus = (int(j.split('=')[1].split(':')[1].strip()) for j in snmpwalk(_ip,_public,MIB['public']['ports']['status']))
        return zip(postsString,postsStatus)
    else:
        print('on this commmnad')

publicKey = 'hi'  #sunmp public key

HOSTS={
    '10.221.98.2':{'type':'switch','origin':'quidway','public':publicKey},
    '10.221.98.3':{'type':'switch','origin':'quidway','public':publicKey},
    '10.221.97.108':{'type':'firewall','origin':'h3c','public':publicKey},
    '10.231.98.233':{'type':'switch','origin':'cisco','public':publicKey},
}
if __name__ == '__main__':
    for i in HOSTS.keys():
        for host,status in getPorts(i,HOSTS[i]['public'],'ports'):
            print("%s/t%s/t%s"%(i,host.ljust(30),portStatus(status).ljust(20)))
        print(''.ljust(50,'#'))

運行結果
代碼如下:
root@ubuntn12:/tmp# python snmpwalk.py

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿州市| 齐齐哈尔市| 博白县| 应用必备| 泸西县| 菏泽市| 资讯 | 平谷区| 大新县| 个旧市| 宁武县| 新蔡县| 南丰县| 信丰县| 汉源县| 乌鲁木齐市| 柞水县| 上虞市| 若尔盖县| 临湘市| 老河口市| 手游| 罗源县| 高雄市| 阳谷县| 黔西县| 嵊州市| 罗山县| 玉树县| 寻乌县| 宁津县| 丰城市| 永新县| 洪洞县| 安国市| 高清| 涟水县| 会泽县| 松原市| 丰都县| 通化县|