python監(jiān)控網(wǎng)卡流量并使用graphite繪圖的示例
#!/usr/bin/env python
import sys,time
from socket import socket
def read_interface(in_file):
with file(in_file) as f:
return f.readlines()[2:]
def set_interface(inter_msg):
dic={}
for i in xrange(len(inter_msg)):
dic[inter_msg[i].split(":")[0].strip()]={"in":inter_msg[i].split(":")[1].strip().split()[0],"out":inter_msg[i].split(":")[1].strip().split()[8]}
return dic
CARBON_SERVER = '127.0.0.1'
CARBON_PORT = 2003
delay = 3
sock = socket()
try:
sock.connect( (CARBON_SERVER,CARBON_PORT) )
except:
print "Couldn't connect to %(server)s on port %(port)d, is carbon-agent.py running?" % { 'server':CARBON_SERVER, 'port':CARBON_PORT }
sys.exit(1)
while True:
now = int( time.time() )
lines=[]
int1=read_interface("/proc/net/dev")
inter_dic1=set_interface(int1)
time.sleep(1)
int2=read_interface("/proc/net/dev")
inter_dic2=set_interface(int2)
print int(inter_dic2[inter_dic2.keys()[1]]["in"]),int(inter_dic1[inter_dic1.keys()[1]]["in"])
for i in xrange(len(inter_dic1.keys())):
lines.append("interface.%s_in %s %d" % (inter_dic1.keys()[i],int(inter_dic2[inter_dic2.keys()[i]]["in"])-int(inter_dic1[inter_dic1.keys()[i]]["in"]),now))
lines.append("interface.%s_out %s %d" % (inter_dic1.keys()[i],int(inter_dic2[inter_dic2.keys()[i]]["out"])-int(inter_dic1[inter_dic1.keys()[i]]["out"]),now))
message = '\n'.join(lines) + '\n'
print "sending message\n"
print '-' * 80
print message
sock.sendall(message)
time.sleep(delay)
- Python 使用指定的網(wǎng)卡發(fā)送HTTP請(qǐng)求的實(shí)例
- python 的 scapy庫(kù),實(shí)現(xiàn)網(wǎng)卡收發(fā)包的例子
- Python選擇網(wǎng)卡發(fā)包及接收數(shù)據(jù)包
- Python簡(jiǎn)單獲取網(wǎng)卡名稱及其IP地址的方法【基于psutil模塊】
- Python獲取本機(jī)所有網(wǎng)卡ip,掩碼和廣播地址實(shí)例代碼
- Linux服務(wù)器網(wǎng)卡流量查看方法 shell和Python各一枚
- python使用WMI檢測(cè)windows系統(tǒng)信息、硬盤(pán)信息、網(wǎng)卡信息的方法
- Python腳本實(shí)現(xiàn)網(wǎng)卡流量監(jiān)控
- python 獲取計(jì)算機(jī)的網(wǎng)卡信息
相關(guān)文章
linux安裝python修改默認(rèn)python版本方法
在本文中我們給大家總結(jié)了關(guān)于linux安裝python修改默認(rèn)python版本的方法和相關(guān)知識(shí)點(diǎn),需要的讀者們參考下。2019-03-03Python3常見(jiàn)函數(shù)range()用法詳解
“range函數(shù)是一個(gè)用來(lái)創(chuàng)建算數(shù)級(jí)數(shù)序列的通用函數(shù),這篇文章主要介紹了Python3常見(jiàn)函數(shù)range()用法,需要的朋友可以參考下2019-12-12教你用Python實(shí)現(xiàn)自動(dòng)提取并收集信息的功能
今天教大家怎么用Python實(shí)現(xiàn)自動(dòng)提取并收集信息的功能,文中介紹的非常詳細(xì),有很多代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05Python使用QRCode模塊生成二維碼實(shí)例詳解
這篇文章主要介紹了Python使用QRCode模塊生成二維碼實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06使用OpenCV circle函數(shù)圖像上畫(huà)圓的示例代碼
這篇文章主要介紹了使用OpenCV circle函數(shù)圖像上畫(huà)圓的示例代碼,本文內(nèi)容簡(jiǎn)短,給大家突出重點(diǎn)內(nèi)容,需要的朋友可以參考下2019-12-12教你用 Python 發(fā)送告警通知到微信的操作過(guò)程
大家都知道常見(jiàn)的告警方式有:郵件,電話,短信,微信,今天通過(guò)本文給大家介紹下Python 發(fā)送告警通知到微信的操作過(guò)程,感興趣的朋友一起看看吧2022-01-01Python ORM框架SQLAlchemy學(xué)習(xí)筆記之?dāng)?shù)據(jù)添加和事務(wù)回滾介紹
這篇文章主要介紹了Python ORM框架SQLAlchemy學(xué)習(xí)筆記之?dāng)?shù)據(jù)添加和事務(wù)回滾介紹,需要的朋友可以參考下2014-06-06Restful_framework視圖組件代碼實(shí)例解析
這篇文章主要介紹了Restful_framework視圖組件代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python FastAPI 多參數(shù)傳遞的示例詳解
這篇文章主要介紹了Python FastAPI 多參數(shù)傳遞,FastAPI通過(guò)模板來(lái)匹配URL中的參數(shù)列表,大概分為三類方式傳遞參數(shù),每種方式結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12