python监控网卡流量并使用graphite绘图的示例
时间:2022-06-24 22:35:54
#!/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,网卡,graphite
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python实现提取Excel指定关键词的行数据
2022-09-01 10:15:59
![](https://img.aspxhome.com/file/2023/4/67834_0s.jpg)
Python使用shutil操作文件、subprocess运行子程序
2021-03-01 00:19:19
Sql Server 索引使用情况及优化的相关Sql语句分享
2012-06-06 19:49:36
python把ipynb文件转换成pdf文件过程详解
2022-07-27 23:50:24
![](https://img.aspxhome.com/file/2023/1/84971_0s.png)
django 消息框架 message使用详解
2021-06-21 17:22:29
YUI3设计中的激进和妥协
2010-01-17 09:59:00
Mootools 1.2教程(12)——用Drag.Move实现拖拽和拖放
2008-12-05 12:29:00
关于Javascript的内存泄漏问题
2008-04-15 07:46:00
windows 下python+numpy安装实用教程
2022-06-26 09:52:26
asp DateDiff实现文字在特定时间后消失
2011-03-11 11:11:00
python使用Image处理图片常用技巧分析
2023-01-17 14:51:38
Python3.7.0 Shell添加清屏快捷键的实现示例
2023-02-25 13:39:23
![](https://img.aspxhome.com/file/2023/6/86356_0s.png)
AJAX快速入门之HTTP协议基础
2008-01-16 19:04:00
精致的web设计
2009-12-04 19:07:00
python轻松实现代码编码格式转换
2023-11-27 05:47:36
二十八法优化SQL Server数据库查询
2010-07-02 20:56:00
Python计算点到直线距离、直线间交点夹角
2022-09-05 10:27:04
![](https://img.aspxhome.com/file/2023/2/87982_0s.jpg)
PyQt Qt Designer工具的布局管理详解
2023-09-21 04:44:17
![](https://img.aspxhome.com/file/2023/7/87517_0s.png)
Python正则表达式介绍
2023-05-29 01:32:58
![](https://img.aspxhome.com/file/2023/1/87571_0s.png)
php 多个变量指向同一个引用($b = &$a)用法分析
2023-11-02 23:28:11