因为 *** 的问题,zabbix自带web模块用不了,后台研制2b,老是更新正式环境安装包,导致一向出问题,老是给他们擦 *** ,早说过这事,他们不合作,现在出问题了,挺爽j_0025.gif,这锅我表明不背,就找了pycurl这个模块写个监控。
pycurl模块用法:
(这块是抄的j_0023.gif,引证地址:http://blog.csdn.net/xsj_blog/Article/details/52102652)
c = pycurl.Curl() #创立一个curl目标
c.setopt(pycurl.CONNECTTIMEOUT, 5) #衔接的等候时刻,设置为0则不等候
c.setopt(pycurl.TIMEOUT, 5) #恳求超时时刻
c.setopt(pycurl.NOPROGRESS, 0) #是否屏蔽下载进度条,非0则屏蔽
c.setopt(pycurl.MAXREDIRS, 5) #指定HTTP重定向的更大数
c.setopt(pycurl.FORBID_REUSE, 1) #完结交互后强制断开衔接,不重用
c.setopt(pycurl.FRESH_CONNECT,1) #强制获取新的衔接,即代替缓存中的衔接
c.setopt(pycurl.DNS_CACHE_TIMEOUT,60) #设置保存DNS信息的时刻,默以为120秒
c.setopt(pycurl.URL,"http://www.baidu.com") #指定恳求的URL
c.setopt(pycurl.USERAGENT,"Mozilla/5.2 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50324)") #装备恳求HTTP头的User-Agent
c.setopt(pycurl.HEADERFUNCTION, getheader) #将回来的HTTP HEADER定向到回调函数getheader
c.setopt(pycurl.WRITEFUNCTION, getbody) #将回来的内容定向到回调函数getbody
c.setopt(pycurl.WRITEHEADER, fileobj) #将回来的HTTP HEADER定向到fileobj文件目标
c.setopt(pycurl.WRITEDATA, fileobj) #将回来的HTML内容定向到fileobj文件目标
c.getinfo(pycurl.HTTP_CODE) #回来的HTTP状况码
c.getinfo(pycurl.TOTAL_TIME) #传输完毕所耗费的总时刻
c.getinfo(pycurl.NAMELOOKUP_TIME) #DNS解析所耗费的时刻
c.getinfo(pycurl.CONNECT_TIME) #树立衔接所耗费的时刻
c.getinfo(pycurl.PRETRANSFER_TIME) #从树立衔接到预备传输所耗费的时刻
c.getinfo(pycurl.STARTTRANSFER_TIME) #从树立衔接到传输开端耗费的时刻
c.getinfo(pycurl.REDIRECT_TIME) #重定向所耗费的时刻
c.getinfo(pycurl.SIZE_UPLOAD) #上传数据包巨细
c.getinfo(pycurl.SIZE_DOWNLOAD) #下载数据包巨细
c.getinfo(pycurl.SPEED_DOWNLOAD) #均匀 ***
c.getinfo(pycurl.SPEED_UPLOAD) #均匀上传速度
c.getinfo(pycurl.HEADER_SIZE) #HTTP头部巨细
代码如下:
#!/usr/bin/env python
# __*__coding:utf8__*__
#Author:wangpengtai
#Blog:http://wangpengtai.blog.51cto.com/
import pycurl
import sys
import StringIO #引证该模块的原因是:运用pycurl后会打印出页面内容,咱们不需要看到这个内容,只需要获取页面反应信息就行了,只能将其写入缓存中,现在没找到好办法,学艺不精,不会运用重定向写到os.devnull中,无法初度下策。。。
#开端运用的是写入临时文件,可是会有权限问题,导致zabbix无法获取到数据。
class WebStatus(object):
def __init__(self, url):
self.url = url
self.curl = pycurl.Curl()
self.string = StringIO.StringIO()
# 衔接等候时刻,0则不等候
self.curl.setopt(pycurl.CONNECTTIMEOUT, 5)
# 超时时刻
self.curl.setopt(pycurl.TIMEOUT, 5)
# 下载进度条,非0则屏蔽
self.curl.setopt(pycurl.NOPROGRESS, 1)
# 指定HTTP重定向更大次数
self.curl.setopt(pycurl.MAXREDIRS, 5)
# 完结交互后强制断开衔接,不重用
self.curl.setopt(pycurl.FORBID_REUSE, 1)
# 设置DNS信息保存时刻,默以为120秒
self.curl.setopt(pycurl.DNS_CACHE_TIMEOUT, 60)
# 设置恳求的Url
self.curl.setopt(pycurl.URL, self.url)
self.curl.setopt(pycurl.WRITEFUNCTION, self.string.write)#将页面内容写入缓存
self.curl.perform()
def request_value(self):
[1] [2] 黑客接单网
以比特币为首的P2P虚拟钱银推翻了人们对钱银的认知,也为网上生意供给了新的途径。近几年来,虚拟钱银付出以其去中心化、匿名性等特色深受欢迎,活泼在各个领域,涵盖了电商、慈悲安排、企业院校等合法组织,当然...
前语 在上一章,笔者现已介绍了BeEF结构。在这一章,笔者将介绍进犯阅读器技能的第一步:初始操控。 阅读器进犯办法流程 进犯阅读器一般分为几个阶段,看下图: 整个进程分为三个过程,第一步是初始化操控,...
请咱们先调查下面这条JavaScript句子: ̀̀̀̀̀́́́́́̂̂̂̂̂̃̃̃̃̃̄̄̄̄̄̅̅̅̅̅̆̆̆̆̆̇̇̇̇̇̈̈̈̈̈̉̉̉̉̉̊̊̊̊̊ͅͅͅͅͅͅͅͅͅͅͅalert(̋̋̋ͅ...
2019年5月至6月,unit42安全团队在一起针对科威特航运业的进犯事情中,检测到了一个新后门东西——Hisoka,它的作用是下载几个的定制东西进行后缝隙运用,一切东西好像都由同一个开发人员创立,最...
网络犯罪分子常常会选用多层的加密或混杂技能来躲避安全产品的检测。对加密器和封装器的运用在当今歹意软件范畴正变得越来越盛行,它们不只能为歹意代码供给所谓的“FUD”(彻底无法检测)功用,而且还能躲藏额定...
在布置蜜罐之后,会发作很多的日志,关于要挟情报而言,咱们需求经过这些日志来提取其间的有用的数据,本文将会描述提取那些数据用来完结剖析。 布置蜜罐之后会生成描述发作的事情的日志记载。能够收集到的安全事情...