Слияние кода завершено, страница обновится автоматически
#!/usr/bin/env python3
from mymodules import mylog
from mymodules import mysql_oper
from mymodules import ipnet
import sys,os,time
data_time = input("请输入8或10位日期,如(20190201):")
now_date = time.strftime('%Y%m%d',time.localtime(time.time()))
two_hour = time.strftime('%Y%m%d%H',time.localtime(time.time()-7200))
now_time = time.strftime('%Y%m%d%H',time.localtime(time.time()))
if len(data_time) == 8 and now_date > data_time:
#端口利用率
datatmp = mysql_oper.operate('select * from portflow_day where DATE="%s"'%(data_time),None)
db_result1 = list(datatmp)
if not db_result1:
result_data = ipnet.download_portflow_d(data_time)
if result_data:
mysql_oper.operate("insert into portflow_day (DATE,ipman_out_used,ipman_local_huiju_used,ipman_local_jieru_limitsum,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used) value (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",result_data)
db_result1 = result_data
# 华为板卡利用率
datatmp = mysql_oper.operate('select * from card_used_hw where DATE="%s"'%(data_time),None)
db_result2 = list(datatmp)
if not db_result2:
result_data = ipnet.download_card_used_hw_d(data_time)
if result_data:
mysql_oper.operate("insert into card_used_hw (DATE,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",result_data)
db_result2 = result_data
# 阿卡板卡利用率
datatmp = mysql_oper.operate('select * from card_used_al where DATE="%s"'%(data_time+'21'),None)
db_result3 = list(datatmp)
if not db_result3:
result_data = ipnet.download_card_used_al(data_time+'21')
if result_data:
mysql_oper.operate("insert into card_used_al (DATE,device_name,slot,used) value (%s,%s,%s,%s)",result_data)
db_result3 = result_data
# 网驿
#datatmp = mysql_oper.operate('select * from wangyi where DATE>"%s" and DATE<"%s" order by -nat;'%(data_time,str(int(data_time)+1)),None)
#db_result4 = list(datatmp)
# 网管
datatmp = mysql_oper.operate('select max(wg_in),max(wg_out),max(zd_in),max(zd_out) from wangguan where date>="%s" and date<"%s";'%(data_time,str(int(data_time)+1)),None)
db_result5 = list(datatmp)
# 监控数据
db_result = mysql_oper.operate('select * from monitor_port where DATE="%s"'%(data_time),None)
if not db_result:
monitor_list = ipnet.get_port_limit(data_time)
if not monitor_list:
ipnet.download_portflow_d(data_time)
monitor_list = ipnet.get_port_limit(data_time)
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_port (date,device_type,device_name,port_name,port_describe,port_name2,used) value (%s,%s,%s,%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_port (date,device_type,device_name,port_name,port_describe,port_name2,used) value (%s,%s,%s,%s,%s,%s,%s)",i)
db_result = mysql_oper.operate('select * from monitor_card_al where DATE="%s"'%(data_time+'21'),None)
if not db_result:
monitor_list = ipnet.get_card_al_limit(data_time)
if not monitor_list:
ipnet.download_card_used_al(data_time+'21')
monitor_list = ipnet.get_card_al_limit(data_time+'21')
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_al (date,device_name,slot,used) value (%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_al (date,device_name,slot,used) value (%s,%s,%s,%s)",i)
db_result = mysql_oper.operate('select * from monitor_card_hw where DATE="%s"'%(data_time),None)
if not db_result:
monitor_list = ipnet.get_card_hw_limit(data_time)
if not monitor_list:
ipnet.download_card_used_hw_d(data_time)
monitor_list = ipnet.get_card_hw_limit(data_time)
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_hw (date,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_hw (date,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",i)
if db_result1 and db_result2 and db_result3 and db_result5:
#netuser,bng_user_max,nat_used,tv_user = db_result4[0][1:5]
ipman_out_used,ipman_huiju_used,ipman_jieru_limit,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used = db_result1[0][1:]
try:
iptv_server ='%.2f'%float(iptv_server)
except:
pass
card_used_hw = db_result2[0][5]
card_used_al = db_result3[0][3]
wg_in = db_result5[0][0]
wg_out = db_result5[0][1]
zd_in = db_result5[0][2]
zd_out = db_result5[0][3]
if float(wg_in) > float(wg_out):
wg_used = wg_in
else:
wg_used = wg_out
if float(zd_in) > float(zd_out):
zd_used = zd_in
else:
zd_used = zd_out
#getdata_time=time.strftime('%Y-%m-%d',time.localtime(time.time()-10800))
autosend_text = '''取数周期:%s
====================
城域网
全网家宽用户数:%s
出口带宽利用率:%s%%
汇聚带宽利用率:%s%%
接入层超限数量:%s
单BNG 并发用户:%s
NAT 板卡利用率:%s%%
阿卡板卡利用率:%s%%
华为板卡利用率:%s%%
====================
IPTV
出口带宽利用率:%s%%
服务器平均利用率:%s%%
IPTV在线用户数:%s
====================
CMNET
出口带宽利用率:%s%%
====================
IP承载网
AR出口带宽利用率 :%s%%
PS域CE带宽利用率:%s%%
CS域CE带宽利用率:%s%%
====================
网管网
网管网出口利用率:%s%%
终端区出口利用率:%s%%
====================
'''%(data_time,netuser,ipman_out_used,ipman_huiju_used,ipman_jieru_limit,bng_user_max,nat_used,card_used_al,card_used_hw,iptv_out,iptv_server,tv_user,cmnet_out_used,ar_out_used,psce_used,csce_used,wg_used,zd_used)
print(autosend_text)
elif len(data_time) == 10 and data_time < now_time:
if data_time > two_hour:
print("IPNET无数据\n")
datatmp = mysql_oper.operate('select * from wangguan where date="%s";'%(data_time),None)
db_result5 = list(datatmp)
if db_result5:
wg_in = db_result5[0][1]
wg_out = db_result5[0][2]
zd_in = db_result5[0][3]
zd_out = db_result5[0][4]
if float(wg_in) > float(wg_out):
wg_used = wg_in
else:
wg_used = wg_out
if float(zd_in) > float(zd_out):
zd_used = zd_in
else:
zd_used = zd_out
print('''网管网出口利用率:%s%%
终端区出口利用率:%s%%
'''%(wg_used,zd_used))
else:
print('网管网无数据\n')
db_result = mysql_oper.operate('select * from wangyi where DATE="%s"'%(data_time),None)
data = list(db_result)
if data:
netuser,bng_user_max,nat_used,tv_user = data[0][1:5]
print('''全网家宽用户数:%s
单BNG 并发用户:%s
NAT 板卡利用率:%s%%
IPTV在线用户数:%s\n'''%(netuser,bng_user_max,nat_used,tv_user))
else:
print("网驿无数据\n")
else:
datatmp = mysql_oper.operate('select * from wangguan where date="%s";'%(data_time),None)
db_result5 = list(datatmp)
if db_result5:
wg_in = db_result5[0][1]
wg_out = db_result5[0][2]
zd_in = db_result5[0][3]
zd_out = db_result5[0][4]
if float(wg_in) > float(wg_out):
wg_used = wg_in
else:
wg_used = wg_out
if float(zd_in) > float(zd_out):
zd_used = zd_in
else:
zd_used = zd_out
print('''网管网出口利用率:%s%%
终端区出口利用率:%s%%
'''%(wg_used,zd_used))
else:
print('网管网无数据\n')
datatmp = mysql_oper.operate('select * from wangyi where DATE = "%s"'%data_time,None)
data3=list(datatmp)
if not data3:
print("网驿无数据\n")
else:
netuser,bng_user_max,nat_used,tv_user = data3[0][1:5]
print('''全网家宽用户数:%s
单BNG 并发用户:%s
NAT 板卡利用率:%s%%
IPTV在线用户数:%s\n'''%(netuser,bng_user_max,nat_used,tv_user))
datatmp = mysql_oper.operate('select * from portflow_hour where DATE = "%s"'%data_time,None)
data0 = list(datatmp)
if not data0:
try:
result_data = ipnet.download_portflow_h(data_time)
except:
result_data = False
else:
if result_data:
mysql_oper.operate("insert into portflow_hour (DATE,ipman_out_used,ipman_local_huiju_used,ipman_local_jieru_limitsum,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used) value (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",result_data)
datatmp = mysql_oper.operate('select * from portflow_hour where DATE = "%s"'%data_time,None)
data0 = list(datatmp)
ipman_out_used,ipman_huiju_used,ipman_jieru_limit,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used = data0[0][1:]
print('''
城域网出口带宽利用率:%s%%
汇聚带宽利用率:%s%%
接入层超限数量:%s
IPTV出口带宽利用率:%s%%
IPTV服务器利用率:%s%%
CMNET出口带宽利用率:%s%%
AR出口带宽利用率 :%s%%
PS域CE带宽利用率:%s%%
CS域CE带宽利用率:%s%%
'''%(ipman_out_used,ipman_huiju_used,ipman_jieru_limit,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used))
else:
print("端口流量表无数据\n")
datatmp = mysql_oper.operate('select * from card_used_hw where DATE = "%s"'%data_time,None)
data1 = list(datatmp)
if not data1:
try:
result_data = ipnet.download_card_used_hw_h(data_time)
except:
result_data = False
else:
if result_data:
mysql_oper.operate("insert into card_used_hw (DATE,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",result_data)
datatmp = mysql_oper.operate('select * from card_used_hw where DATE = "%s"'%data_time,None)
data1 = list(datatmp)
card_used_hw = data1[0][5]
print("华为板卡利用率:%s%%\n"%card_used_hw)
else:
print("华为板卡表无数据\n")
datatmp = mysql_oper.operate('select * from card_used_al where DATE = "%s"'%data_time,None)
data2 = list(datatmp)
if not data2:
try:
result_data = ipnet.download_card_used_al(data_time)
except:
result_data = False
else:
if result_data:
mysql_oper.operate("insert into card_used_al (DATE,device_name,slot,used) value (%s,%s,%s,%s)",result_data)
datatmp = mysql_oper.operate('select * from card_used_al where DATE = "%s"'%data_time,None)
data2 = list(datatmp)
card_used_al = data2[0][3]
print("阿卡板卡利用率:%s%%\n"%(card_used_al))
else:
print("阿卡板卡表无数据\n")
if data0 and data1 and data2 and data3 and db_result5:
wg_in = db_result5[0][1]
wg_out = db_result5[0][2]
zd_in = db_result5[0][3]
zd_out = db_result5[0][4]
if float(wg_in) > float(wg_out):
wg_used = wg_in
else:
wg_used = wg_out
if float(zd_in) > float(zd_out):
zd_used = zd_in
else:
zd_used = zd_out
netuser,bng_user_max,nat_used,tv_user = data3[0][1:5]
ipman_out_used,ipman_huiju_used,ipman_jieru_limit,iptv_out,iptv_server,cmnet_out_used,ar_out_used,psce_used,csce_used = data0[0][1:]
try:
iptv_server ='%.2f'%float(iptv_server)
except:
pass
card_used_hw = data1[0][5]
card_used_al = data2[0][3]
#getdata_time=time.strftime('%Y-%m-%d',time.localtime(time.time()-10800))
autosend_text = '''取数周期:%s
====================
城域网
全网家宽用户数:%s
出口带宽利用率:%s%%
汇聚带宽利用率:%s%%
接入层超限数量:%s
单BNG 并发用户:%s
NAT 板卡利用率:%s%%
阿卡板卡利用率:%s%%
华为板卡利用率:%s%%
====================
IPTV
出口带宽利用率:%s%%
服务器平均利用率:%s%%
IPTV在线用户数:%s
====================
CMNET
出口带宽利用率:%s%%
====================
IP承载网
AR出口带宽利用率 :%s%%
PS域CE带宽利用率:%s%%
CS域CE带宽利用率:%s%%
====================
网管网
网管网出口利用率:%s%%
终端区出口利用率:%s%%
====================
'''%(data_time,netuser,ipman_out_used,ipman_huiju_used,ipman_jieru_limit,bng_user_max,nat_used,card_used_al,card_used_hw,iptv_out,iptv_server,tv_user,cmnet_out_used,ar_out_used,psce_used,csce_used,wg_used,zd_used)
print(autosend_text)
# 监控数据小时
db_result = mysql_oper.operate('select * from monitor_port where DATE="%s"'%(data_time),None)
if not db_result:
monitor_list = ipnet.get_port_limit(data_time)
if not monitor_list:
ipnet.download_portflow_h(data_time)
monitor_list = ipnet.get_port_limit(data_time)
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_port (date,device_type,device_name,port_name,port_describe,port_name2,used) value (%s,%s,%s,%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_port (date,device_type,device_name,port_name,port_describe,port_name2,used) value (%s,%s,%s,%s,%s,%s,%s)",i)
db_result = mysql_oper.operate('select * from monitor_card_al where DATE="%s"'%(data_time),None)
if not db_result:
monitor_list = ipnet.get_card_al_limit(data_time)
if not monitor_list:
ipnet.download_card_used_al(data_time)
monitor_list = ipnet.get_card_al_limit(data_time)
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_al (date,device_name,slot,used) value (%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_al (date,device_name,slot,used) value (%s,%s,%s,%s)",i)
db_result = mysql_oper.operate('select * from monitor_card_hw where DATE="%s"'%(data_time),None)
if not db_result:
monitor_list = ipnet.get_card_hw_limit(data_time)
if not monitor_list:
ipnet.download_card_used_hw_h(data_time)
monitor_list = ipnet.get_card_hw_limit(data_time)
if monitor_list:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_hw (date,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",i)
else:
for i in monitor_list:
mysql_oper.operate("insert into monitor_card_hw (date,device_name,slot,maxuser,sn,used) value (%s,%s,%s,%s,%s,%s)",i)
else:
print('请输入正确的时间,或者输入的时间没有数据。\n')
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )