python实现批量监控网站

来源:本网整理

示例:#!/usr/bin/env python# encoding: utf-8"&q

s">

python实现批量监控网站

作者:mindg 字体:[增加 减小] 类型:转载 时间:2016-09-09 我要评论 本文给大家分享的是一个非常实用的,python实现多网站的可用性监控的脚本,并附上核心点解释,有相同需求的小伙伴可以参考下 ">

最近又新上了一部分站点,随着站点的增多,管理复杂性也上来了,俗话说:人多了不好带,我发现站点多了也不好管,因为这些站点里有重要的也有不重要的,重要核心的站点当然就管理的多一些,像一些万年都不出一次问题的,慢慢就被自己都淡忘了,冷不丁那天出个问题,还的手忙脚乱的去紧急处理,所以规范的去管理这些站点是很有必要的,今天我们就做第一步,不管大站小站,先统一把监控做起来,先不说业务情况,最起码那个站点不能访问了,要第一时间报出来,别等着业务方给你反馈,就显得我们不够专业了,那接下来我们看看如果用python实现多网站的可用性监控,脚本如下:

"抓取network里所有的数据"的意思是抓取浏览器所有的数据吗?如果是, 那你

#!/usr/bin/env python import pickle, os, sys, logging from httplib import HTTPConnection, socket from smtplib import SMTP def email_alert(message, status): fromaddr = 'xxx@163.com' toaddrs = 'xxxx@qq.com' server = SMTP('smtp.163.com:25') server.starttls() server.login('xxxxx', 'xxxx') server.sendmail(fromaddr, toaddrs, 'Subject: %s\r\n%s' % (status, message)) server.quit() def get_site_status(url): response = get_response(url) try: if getattr(response, 'status') == 200: return 'up' except AttributeError: pass return 'down' def get_response(url): try: conn = HTTPConnection(url) conn.request('HEAD', '/') return conn.getresponse() except socket.error: return None except: logging.error('Bad URL:', url) exit(1) def get_headers(url): response = get_response(url) try: return getattr(response, 'getheaders')() except AttributeError: return 'Headers unavailable' def compare_site_status(prev_results): def is_status_changed(url): status = get_site_status(url) friendly_status = '%s is %s' % (url, status) print friendly_status if urlin prev_resultsand prev_results[url] != status: logging.warning(status) email_alert(str(get_headers(url)), friendly_status) prev_results[url] = status return is_status_changed def is_internet_reachable(): if get_site_status('www.baidu.com') == 'down' and get_site_status('www.sohu.com') == 'down': return False return True def load_old_results(file_path): pickledata = {} if os.path.isfile(file_path): picklefile = open(file_path, 'rb') pickledata = pickle.load(picklefile) picklefile.close() return pickledata def store_results(file_path, data): output = open(file_path, 'wb') pickle.dump(data, output) output.close() def main(urls): logging.basicConfig(level=logging.WARNING, filename='checksites.log', format='%(asctime)s %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S') pickle_file = 'data.pkl' pickledata = load_old_results(pickle_file) print pickledata if is_internet_reachable(): status_checker = compare_site_status(pickledata) map(status_checker, urls) else: logging.error('Either the world ended or we are not connected to the net.') store_results(pickle_file, pickledata) if __name__ == '__main__': main(sys.argv[1:])

import socketimport reDocumentRoot="/root

脚本核心点解释:

Python开发的jumpserver跳板机jumpserver跳板机是一款由Python编写开

1、getattr()是python的内置函数,接收一个对象,可以根据对象属性返回对象的值。

首先数据库建表建立一个数据库“falcon”,建表语句如下:CREATE TABLE `st

2、compare_site_status()函数是返回的是一个内部定义的函数。

根据海外机构调查,2016年苹果获取了除中国外智能手机市场93%的利润,三星只有8%,LG、索尼、HTC、摩托罗拉等厂商基本上都是赔钱的。而在国内华为、OPPO手机虽然卖的比苹果好,但利润率远不如苹果。华为掌门人任正非年前还批评华为手机盈利率低。事实上去年的华为P9、Mate\n9等旗舰产品价格已经相对较高了,但利润相比苹果还是差很多。其实从硬件成本来看,苹果手机并不比国产安卓手机的贵。至今苹果还在使用2GB的RAM,和32GBROM;而国产手机已经普及6GB\nRAM和64GB/128GB\nROM了。国产旗舰手机的屏幕比苹果更大,电池容量也更高,充电速度更快,指纹识别体验更好,硬件性能也都

3、map(),需要2个参数,一个是函数,一个是序列,功能就是将序列中的每个元素应用函数方法。

小篇是问谁的才能,那就不说汪狗的人品了吧!汪的歌真的没有刀郎的歌好听,没有刀郎的那么有味道,那么的打动人,但也会有一些人喜欢汪的歌,喜欢他的歌的人一般都是他的学生和他的学生的朋友圈而已,除开这些人喜欢汪的歌的人应该很少了,说心里话,没有那两个什么刚唱他的歌,基本上没有什么人认识汪!再来说他们的创作才能,汪没有刀郎写的歌多,汪好听的歌就这几首,刀郎好听的歌多了去了,而且是一首歌一个故事,歌词写的美妙绝伦,让很多人听了感觉就是写自己一样,能够让听的人在歌里找到自己,汪的歌达不到这种意境,我也不否认玩的歌不好听,但不管是什么作品,人多喜欢肯定是好东西,难不成少人喜欢的才是好东西吗?汪只算是个创作歌手

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

如何Zabbix和Python脚本批量监控网站性能指标

带界面的工具 1、MySQL可视化工具 这些工具都可以免费使用: a、MySQL查询浏览器(MySQL Query Browser):这个不用说了… b、MySQL管理员(MySQL Administrator):功能集中在服务器管理上,所以它最适合DBA使用,

如何用python实现主机同时监控多个客户端

貌似LZ说的是多个IP,不是多个端口吧?

其实也好办,再本机多配几个IP也好啊!如果你愿意,甚至可以在一台电脑上配出相当复杂的局域网出来.

如何利用Python自动监控网站并发送邮件告警

1、如果发现打不开了,直接发邮件提示网站已经打不开

2、发现可以打开,读取文件中上一次访问的情况(读取txt文件最后一行),

1)如果发现上一次是打不开的,发邮件提醒网站已经恢复了

2)如果发现上一次是打得开的(200的返回码),只是记录网站访问的日志就可以了

运用Python实现系统自动化监控有哪些常用方法

可以用Python+SeleniumWebdriver+Appium,现在Selenium2.0都有针对移动终端的自动化 Python27\Lib\site-packages\selenium-2.53.5-py2.7.egg\selenium\webdriver\android

如何通过python实现实时监控文件

比如要监控nginx的$request_time和$upstream_response_time时间,分析出最耗时的请求,然后去改进代码,这时就要对日志进行实时分析了,发现时间长的语句就要报警出来,提醒开发人员要关注,当然这是其中一个应用场景,通过这种监控方式还可以应用到任何需要判断或分析文件的地方!

  • 本文相关:
  • 利用ctypes提高Python的执行速度
  • Python随机数random模块使用指南
  • python验证码识别的实例详解
  • 通过5个知识点轻松搞定Python的作用域
  • Python冒泡排序注意要点实例详解
  • Python 中的with关键字使用详解
  • Python优化技巧之利用ctypes提高执行速度
  • Python 如何访问外围作用域中的变量
  • Python中使用asyncio 封装文件读写
  • asyncio 的 coroutine对象 与 Future对象使用指南
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved