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

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

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

#!/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 = {}

t = Test()

c = 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

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)

print data

if __name__ == ‘__main__‘:

input_url = sys.argv[1]

test_gzip(input_url)

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

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、出图的小代码:

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、出的效果图:

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

时间: 2024-10-07 06:24:07

监控网站服务质量出图学习后续篇的相关文章

zabbix lld结合pycurl批量监控网站服务质量

前两天看到博客有监控web的,之前也写过pycurl的监控状态:后面想想web监控咱们何不直接通过zabbix的方式监控:zabbix确实是个万花筒,这个也是我喜欢zabbix的一个原因之一吧:pycurl可以参考我之前写过的:http://xiaoluoge.blog.51cto.com/9141967/1616922. 1.监控脚本: [[email protected] scripts]# cat web_monitor.py  #!/usr/bin/env python # -*- co

[py]监控内存并出图

监控内存出图 先将内存数据搞到数据库 已使用内存算法 used = int(total) - int(free) - int(butffers) - int(cache) pymysql模块使用 db = ms.connect(host="localhost", user="root", password="123456", db="mem") db.autocommit(True) cur = db.cursor() cur

nagios监控+pnp4出图

Nagios监控系统 By:大官人 一.nagios简介 Nagios是一个监视系统运行状态和网络信息的监视系统.Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等. 二.nagios功能特点 1.监控网络服务(SMTP.POP3.HTTP.NNTP.PING等): 2.监控主机资源(处理器负荷.磁盘利用率等): 3.简单地插

Linux学习笔记:为Nagios 4.1.1安装出图插件pnp 0.6.25

Nagios 4.1.1的部署安装可参考http://coosh.blog.51cto.com/6334375/1741257 前言: Nagios客户端默认是没有自带出图的插件的,需要另外安装,这里介绍最常见的插件pnp.在老男孩老师的视频中,他所推荐的是0.4版本,并且建议不必选用更新的版本.虽说我同意他的观点,但本着研究学习的精神,我还是安装了最新的0.6.25,安装过程中碰到了很多问题,并一一解决了,这里做一下记录. 前期准备: 安装Nagios和部署这里不再赘述,找到http://do

夺命雷公狗—玩转SEO---40---提升网站出图率的技巧

出图,他分为两种,首页和内容页出图~~! 首页我们最常见的就是LOGO图片了,我们的LOGO如果可以,尽量按照百度的要求上的规则来玩: 我们可以进入百度站长平台进行查询一下规则来玩,PC站点的LOGO比率一般都是:121X75的,更是jpg或PNG都可以,图片内容尽量简洁,轮廓分明,简单大气即可 因此我们的大小尽量页改成他要求的来玩咯 内容页的玩法 图片最佳是按照LOGO的要求来玩   121X75  然后我们将这个数X2,X3这样即可,图片最好限制在800px宽度以内的,这个对网站来说是有好处

nagios4.1.1 服务端及监控端部署(二)之pnp4nagios 配置出图

前面已经做好了nagios的核心配置,接着来配置下pnp4nagios,使nagios收集的监控数据可以以图标的形式显示. pnp4nagios是一款强大的工具,它可以通过process_perfdata.pl脚本调用rrdtool对nagios的性能数据进行分析并绘制成相应的性能图. pnp4nagios有5种工作模式,它们分别是Synchronous Mode.Bulk Mode.Bulk Mode with NPCD.Bulk Mode with NPCD and npcdmod和Gear

CentOS7安装nagios并配置出图详解

目录 开始之前 系统环境 监控内容 所需软件包 Centos7重要变化 配置开发环境 同步时间 关闭Selinux 使用CRT上传软件包 安装邮件服务 监控主机安装 常用到的命令 安装nagios所需要的运行环境 增加用户 安装nagios 配置权限 安装插件 安装nrpe 远程主机安装 常用到的命令 配置运行环境 安装nagios-plugin 安装nrpe 启动nrpe. 监控主机安装PNP 配置开发环境 安装php4nagios (版本号为0.6) 配置pnp4nagios 图表展示 问题

《CSS网站布局实录》学习笔记(四)

第四章 CSS网站元素设计 4.1 网站导航 网站导航是网站中最重要的元素.从形式上看,网站导航主要分横向导航.纵向导航.下拉及多级菜单导航灯3种常见形式. 横向导航:作为门户网站的设计而言,主导航一般采用横向导航. 纵向导航:纵向导航更倾向于表达产品的分类. 下拉导航:主要用于功能复杂的网站. 总的来说,导航的核心目标就是设计一个简单.快捷的操作入口,帮助用户快速地到达网站中的 内容.这里将使用CSS来对这3种常见的导航进行设计. 4.1.1 横向导航 假设目前有6个频道,如果用传统的表格式布

pycurl 模块监控web服务质量应用

做过运维的应该都做过http服务了.像一些电子商城,或者是一些互联网公司,web的服务之类是至关重要的,近期看了刘天斯大哥的书觉得自己运维平台应该也可以这样去监控服务之类,今天学习了pycurl模块,这里记录一下: 模块相关说明: c = pycurl.Curl()    #创建一个curl对象   c.setopt(pycurl.CONNECTTIMEOUT, 5)    #连接的等待时间,设置为0则不等待   c.setopt(pycurl.TIMEOUT, 5)    #请求超时时间