graphite,python监控网卡流量

#!/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)

graphite,python监控网卡流量

时间: 2024-11-07 20:16:17

graphite,python监控网卡流量的相关文章

【Python运维脚本】Python监控网卡流量

#!/usr/bin/env python # -*- coding=utf-8 -*- #Using GPL v2.7 #Author: [email protected]126.com #Python监控网卡流量 """ 1.实现原理:通过SNMP协议获取系统信息,再进行相应的计算和格式化,最后输出结果 2.特别注意:被监控的机器上需要支持snmp.yum install -y net-snmp*安装 """ #!/usr/bin/pytho

nagios 监控 网卡流量 脚本

#!/bin/bash # #Time     : 2014-06-23 #Author   : ftlynx #Function : use NET-SNMP get NIC traffic on nagios. Usage(){ echo "Usage: check_traffic.sh [options]" echo "     -H     Host IP." echo "     -P     net-snmp community string.

在RedHa上安装MRTG监控网卡流量

http://os.51cto.com/art/201103/252149.htm 2011-03-30 15:05 张微波 phpchina 字号:T | T 在RedHa上安装MRTG监控网卡流量:MRTG是一个监控网络链路流量负载的工具软件,通过snmp协议得到设备的流量信息,以非常直观的形式显示流量负载.本文讲述的是在RedHa上安装MRTG监控网卡流量 AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 在RedHat9上安装调试MRTG监控本机网卡流量 系统环

shell编程之【zabbix自定义监控网卡流量脚本】

之前写了一篇文章主要介绍zabbix的搭建使用http://msiyuetian.blog.51cto.com/8637744/1705396 下面这篇文章主要介绍zabbix自定义监控网卡流量的脚本实现 前期准备 1.说明 server ip :192.168.0.115 client ip :192.168.0.114 2.开启服务 因为之前搭建过zabbix环境,这里就不重复了,直接开启服务端的所需服务: [[email protected] ~]# /etc/init.d/httpd s

监控网卡流量

1 #!/bin/bash 2 #by zhangjia 3 #date:2019年2月12日14:11:14 4 #shell name:network_traffic.sh 5 #监控网卡流量 6 ##############################################333 7 while : 8 do 9 NETWORK_NAME="ens32" 10 time=`date +%F' '%T` 11 RX_before=`ifconfig ${NETWORK

利用python实现网卡流量图表绘制!!!

项目背景: 利用python实现一个自动化的网卡流量图表绘制,这对于我们实现自动化运维平台有更深入的理解, 也会让我们对于现有的一些监控软件的一些实现都有很大的帮助. 实现环境: 虚拟机VMware Workstation 12 player 服务器:centos6.5的系统  ip:192.168.0.25 python2.6.6 rrdtool模块.time模块.psutil模块. SecureCRT ssh远程连接软件 实验过程: 思路其实很清醒:创建rrd数据库---->数据写入rrd数

脚本应用之三:实时监控网卡流量

作用:实时监控网卡接收和发送的速率,以及数据总量,并设置报警数值. 测试版本:centos 系列 实现:通过ifconfig指令获取数据,计算后循环同一位置打印信息,一秒一次: tput bel指令报警 不足:一次只能监控一块网卡: 由于7.x 于5.x和6.x,ifconfig获取信息有差异,需要根据系统版本手动指定相关参数, 7.x 请将第一个位置参数设置为 "7",其他版本为"6"(默认,可不指定) 演示: 脚本会自动列出发现的网卡,选择欲监控的网卡时,需要指

nagios使用check_traffic.sh监控网卡流量

一:主要步骤1,安装snmpd服务包,并且设置好团体名称,添加系统启动2,部署check_traffic.sh到nagios的插件目录到libexec并且授权哦.3,网卡检测参数.4,nagios设置command.cfg的command,添加service.cfg 二:具体干活细节1,安装snmpd,修改内容,设置开机启动安装snmpd  yum install net-snmp* 修改snmpd.conf  vim /etc/snmp/snmpd.conf 内容如下:(注意修改加粗部分内容)

rrdtool结合python统计网卡流量

import rrdtoolimport time cur_time=str(int(time.time()))rrd=rrdtool.create('Flow.rrd','--step','300','--start',cur_time, #Flow.rrd 文件名,--step表示写数据的频率,--start表示第一条记录的起始时间'DS:eth0_in:COUNTER:600:0:U', #DS定义数据源,网卡eth0入流量,counter表示递增(DST定义数据类型),后面的表示600秒