监控网站服务质量出图学习后续篇

简介:

    前面我们已经学习过了,如何收集网站服务质量的一些相关数据,然后通过入库出图,开始打算是用rrdtool做画图,但是经过一段时间的研究,发现echarts出图合理和美观,下面贴出我实时收集到的数据和出图展示部分:

1、数据收集,并且格式化形成字典:

    

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python
# -*- coding: utf-8 -*-  
import  os,sys,json  
import  time  
import  sys  
import  pycurl 
class  Test:
     def  __init__( self ):
         self .contents  =  ''
     def  callback( self ,buf):
         self .contents  =  self .contents  +  buf
def  test_gzip(input_url):
     data  =  {}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     =  Test() 
     =  pycurl.Curl()  
     c.setopt(pycurl.WRITEFUNCTION,t.callback)
     c.setopt(pycurl.ENCODING,  'gzip' )
     c.setopt(pycurl.URL,input_url) 
     c.perform()    
     NAMELOOKUPTIME  =   c.getinfo(c.NAMELOOKUP_TIME)  
     CONNECTTIME  =   c.getinfo(c.CONNECT_TIME) 
     PRETRANSFERTIME  =    c.getinfo(c.PRETRANSFER_TIME)         
     STARTTRANSFERTIME  =  c.getinfo(c.STARTTRANSFER_TIME)   
     TOTALTIME  =  c.getinfo(c.TOTAL_TIME)
     HTTPCODE  =   c.getinfo(c.HTTP_CODE)  
     SIZEDOWNLOAD  =   c.getinfo(c.SIZE_DOWNLOAD)  
     HEADERSIZE  =  c.getinfo(c.HEADER_SIZE)   
     SPEEDDOWNLOAD = c.getinfo(c.SPEED_DOWNLOAD) 
     data[ "HTTPCODE" ] =  HTTPCODE
1
2
3
4
5
6
7
8
9
10
11
12
  data[ "NAMELOOKUPTIME" ] = "%.2f" % (NAMELOOKUPTIME * 1000 )  
      data[ "CONNECTTIME" ] = "%.2f" % (CONNECTTIME * 1000
      data[ "PRETRANSFERTIME" ] = "%.2f" % (PRETRANSFERTIME * 1000 )  
      data[ "STARTTRANSFERTIME" ] = "%.2f" % (STARTTRANSFERTIME * 1000 )
      data[ "TOTALTIME" ] = "%.2f" % (TOTALTIME * 1000 )
      data[ "SIZEDOWNLOAD" ] = "%d" % (SIZEDOWNLOAD)  
      data[ "HEADERSIZE" = "%d" % (HEADERSIZE)  
      data[ "SPEEDDOWNLOAD" ] = "%d" % (SPEEDDOWNLOAD)
      return  data  
if  __name__  = =  '__main__' :
     input_url  =  sys.argv[ 1 ]
     print  test_gzip(input_url)

2、后端处理数据,格式化输出:

1
2
3
4
5
6
7
8
9
10
11
def  pycurl(request):
         cmd  =  "python  %s/backend/pcurl.py www.shikee.com"  % ( '/yizhan/oms/app01' )
         data  =  os.popen(cmd).read()
         data = eval (data)    #这个函数害苦我了,开始怎么设置都不对,调用eval之后搞定
         NAMELOOKUPTIME = float (data[ 'NAMELOOKUPTIME' ])
         CONNECTTIME = float (data[ 'CONNECTTIME' ])
         PRETRANSFERTIME = float (data[ 'PRETRANSFERTIME' ])
         STARTTRANSFERTIME = float (data[ 'STARTTRANSFERTIME' ])
         TOTALTIME = float (data[ 'TOTALTIME' ])
         SPEEDDOWNLOAD = float (data[ 'SPEEDDOWNLOAD' ])
         return  render_to_response( 'pycurl.html' ,{ 'NAMELOOKUPTIME' :NAMELOOKUPTIME, 'CONNECTTIME' :CONNECTTIME, 'PRETRANSFERTIME' :PRETRANSFERTIME, 'STARTTRANSFERTIME' :STARTTRANSFERTIME, 'TOTALTIME' :TOTALTIME, 'SPEEDDOWNLOAD' :SPEEDDOWNLOAD})

3、出图的小代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var myChart  =  ec.init(document.getElementById( 'main' )); 
                 
                 var option  =  {
                     tooltip: {
                         show: true
                     },
                     legend: {
                         data:[ 'www.shikee.com' ]
                     },
                     xAxis : [
                         {
                             type  'category' ,
                             data : [ "DNS解析时间" , "建立连接时间" , "重定向消耗时间" , "传输结束时间" , "传输结束时间" ]
                         }
                     ],
                     yAxis : [
                         {
                             type  'value'
                         }
                     ],
                     series : [

                        {

                            "name":"服务质量图",

                            "type":"bar",

                            "data":[`NAMELOOKUPTIME`,`CONNECTTIME`,`PRETRANSFERTIME`,`STARTTRANSFERTIME`,`TOTALTIME`]

                        }

                    ]

                };

4、出的效果图:

wKiom1T3rTGx75VnAAEMLtnVfAY008.jpg

今天的效果展示暂时就到这里了










本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1617461,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
缓存 前端开发 JavaScript
提升前端性能体验的黄金法则
在如今互联网蓬勃发展的时代,用户对网页的性能要求越来越高。本文将介绍前端开发中的一些独特性能优化技巧,帮助开发人员提升用户体验、加速页面加载速度,以及减少资源消耗。
|
监控 算法
探析巴伐利亚算法:提升电脑监控软件性能的关键
巴伐利亚算法可以帮助软件高效地处理大量的事件流数据,提高管理效率和准确性,同时可以降低对系统资源的消耗,提高系统的性能和可靠性。
193 1
|
数据采集 SQL 运维
巧用指标平台DataIndex,五步法轻松实现指标管理
在业务发展初期,企业需要做好规范的指标管理,以保证随着业务的不断发展,数据化决策能够成为业务强有力的支撑。本文将为大家详解如何通过袋鼠云指标管理平台DataIndex 进行规范化的指标开发管理,轻松开发指标,避免各类指标问题。
901 0
|
1月前
|
数据采集 机器人 计算机视觉
一手训练,多手应用:国防科大提出灵巧手抓取策略迁移新方案
【10月更文挑战第24天】国防科技大学研究人员提出了一种新颖的机器人抓取方法,通过学习统一的策略模型,实现不同灵巧夹具之间的策略迁移。该方法分为两个阶段:与夹具无关的策略模型预测关键点位移,与夹具相关的适配模型将位移转换为关节调整。实验结果显示,该方法在抓取成功率、稳定性和速度方面显著优于基线方法。论文地址:https://arxiv.org/abs/2404.09150
30 1
|
2月前
|
SQL 存储 人工智能
阿里云日志服务的傻瓜式极易预测模型
预测服务有助于提前规划,减少资源消耗和成本。阿里云日志服务的AI预测服务简化了数学建模,仅需SQL操作即可预测未来指标,具备高准确性,并能处理远期预测。此外,通过ScheduledSQL功能,可将预测任务自动化,定时执行并保存结果。
72 3
|
4月前
|
运维 监控 安全
系统故障排查与问题解决指南:步步为营,精准定位
【8月更文挑战第16天】系统故障排查与问题解决是一项复杂而艰巨的任务,需要运维人员具备扎实的专业知识、丰富的实践经验以及良好的沟通能力和团队合作精神。通过遵循本文提供的指南,您可以更加高效地应对系统故障挑战,保障系统的稳定运行和业务的持续发展。
|
4月前
|
存储 数据采集 Prometheus
Prometheus 监控系统常见技术问题大曝光!解决之道让你意想不到!
【8月更文挑战第5天】Prometheus是一款强大的监控工具,但在应用中常遇技术难题。案例一中,因配置错误导致CPU使用率数据不准,调整`metrics_path`可解决。案例二涉及告警规则不触发,修正表达式即可。案例三关于数据存储溢出,设置保留策略如`30d`能缓解。案例四是监控指标丢失,增强网络稳定性和添加重试机制有助于恢复。面对这些问题,细致排查与合理配置是关键。
358 0
|
缓存 监控 算法
利用可视化分析算法解析电脑屏幕监控软件性能瓶颈
想要通过可视化分析算法优化电脑屏幕监控软件性能嘛,有点复杂但还是挺关键的。提高软件的效率、减少资源占用,并提供更好的用户体验。以下是一些步骤,可以通过可视化分析算法帮助您优化电脑屏幕监控软件的性能——
173 3
|
运维 监控 算法
解析极光算法:揭秘流量监控背后的关键
不知道大家有没有听说过极光算法(Aurora Algorithm),它在流量监控领域可是一位“大咖”!就好比是网络、通信和数据处理领域的“舵手”。它的任务很明确,就是要“识别判断”那些不对劲的流量,帮助监控系统“洞察虫情”,发现可能的安全威胁、网络故障等状况。以下是极光算法在流量监控中重要性的一些方面——
167 0
|
监控 算法
转:如何使用模糊算法提高监控软件的性能
如何才能提高监控软件的性能呢?其实,咱们可以通过模糊算法从各个角度着手,让监控系统变得更聪明更高效。模糊逻辑就是那种对付那些有点儿模糊不太确定信息的法宝,它在解决一些莫名其妙的情况时可是大显身手。在监控软件的世界里,模糊逻辑也是个大明星,可以帮助我们做出更明智的决策和更敏捷的响应,然后整个系统就会变得特别厉害!
74 0