源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python监控网卡流量并使用graphite绘图的示例

  • 时间:2020-01-13 11:25 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python监控网卡流量并使用graphite绘图的示例
[u]复制代码[/u] 代码如下:
#!/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)
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部