標籤:python 主機
剛好做營運平台,領導也有個要求是即時的查看,任意一台主機的連接埠開啟狀態,實際上我已經做了指令碼發郵件每天diff的功能,但是為了方便展示還是寫了這個指令碼:
指令碼內容:
[[email protected] python]# cat test1.py#coding=utf-8#!/usr/bin/pythonimport stringimport commands def getComStr(comand): try: stat,proStr = commands.getstatusoutput(comand) except: print "command %s execute failed, exit" % comand return proStr def filterList(): tmpStr = getComStr("netstat -tpln") tmpList = tmpStr.split("\n") List = tmpList[2::] newList = [] for i in List: val = i.split() del val[0:3] del val[1:3] valTmp = val[0].split(":") val[0] = valTmp[1] valTmp = val[1].split("/") val[1] = valTmp[-1] val = ‘------> ‘.join(val) if ‘ _‘ not in val: newList.append(val) return newListif __name__ == "__main__": netInfo=filterList() appInfo = list(set(netInfo)) appInfo.sort(key=netInfo.index) for i in appInfo: print i
運行效果:
[[email protected] python]# python test1.py 22------> sshd8888------> python25------> master4505------> python4506------> python4190------> cyrus-master8000------> python993------> dovecot10050------> zabbix_agentd5666------> nrpe10051------> zabbix_server995------> dovecot199------> snmpd10025------> master110------> dovecot143------> dovecot783------> spamd------> -d80------> httpd
當然也可以實現用列表的方式展示入庫,然後前端讀取,但是這裡為了這本我直接用ajax的方式前端返回這個值,主要是結合了:ajax 然後用salt執行指令碼傳回值:
效果展示:
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/D9/wKioL1U4iqKQTlo_AAD-OVlpxTQ543.jpg" title="小羅.png" alt="wKioL1U4iqKQTlo_AAD-OVlpxTQ543.jpg" />
世界上實現方式很靈活,也可以入庫然後結合echerts之類的畫圖軟體,顯示開發連接埠的思路。
本文出自 “小羅” 部落格,請務必保留此出處http://xiaoluoge.blog.51cto.com/9141967/1637553
python 找出監聽的連接埠號碼對號顯示