使用python程序监控云服务器的带宽
将一些不重要的服务迁移到云服务上,有些下载什么的,为了防止带宽超了,python做了一个监控程序。用python3写的,由于和python2有些区别,特记录下来备查。
代码如下:
#this is for monitor qingcloud
# coding=utf-8
import base64
import hmac
import urllib
import urllib.parse
from hashlib import sha256
import urllib.request
import datetime
import urllib.parse
utc = datetime.datetime.utcnow()
print(utc)
utcbefore5 = utc - datetime.timedelta(minutes =5)
print(utcbefore5)
time_str = datetime.datetime.strftime(utc, "%Y-%m-%dT%H:%M:%SZ")
time_strbefore5 = datetime.datetime.strftime(utcbefore5, "%Y-%m-%dT%H:%M:%SZ")
time_stamp = urllib.parse.quote(time_str)
starttime = urllib.parse.quote(time_strbefore5)
print(time_stamp)
print(starttime)
beiqianmingchuanstr = 'GET\n/iaas/\naccess_key_id=XXXXXXXXXXXXXXX&action=GetMonitor&end_time=' + time_stamp + '&meters.1=traffic&resource=eip-w1pculur&signature_method=HmacSHA256&signature_version=1&start_time=' + starttime +'&step=5m&time_stamp=' + time_stamp + '&zone=pek1'
beiqianmingchuan = str.encode(beiqianmingchuanstr)
#需要做签名串的请求字符
#beiqianmingchuan = b'GET\n/iaas/\naccess_key_id=XXXXXXXXXXXXXXX&action=GetMonitor&end_time=2014-07-31T10%3A47%3A00.820Z&meters.1=traffic&resource=eip-w1pculur&signature_method=HmacSHA256&signature_version=1&start_time=2014-07-31T09%3A47%3A00.820Z&step=5m&time_stamp=2014-08-01T15%3A30%3A10Z&zone=pek1'
#beiqianmingchuan = b'GET\n/iaas/\naccess_key_id=XXXXXXXXXXXXXXX&action=RunInstances&count=1&image_id=precisesrvx64&instance_name=demo&instance_type=small_b&signature_method=HmacSHA256&signature_version=1&time_stamp=2013-08-27T14%3A30%3A10Z&version=1&vxnets.1=vxnet-0&zone=pek1'
#计算签名串
h = hmac.new(b'XXXXXXXXXXXXXXXXXXXX', digestmod=sha256)
h.update(beiqianmingchuan)
sign = base64.b64encode(h.digest()).strip()
signature = urllib.parse.quote_plus(sign)
print(signature)
#https://api.qingcloud.com/iaas/?action=GetMonitor&resource=eip-w1pculur&meters.1=traffic&start_time==2014-07-31T09%3A47%3A00.820Z&end_time=2014-07-31T10%3A47%3A00.820Z&step=5m&zone=pek1
#url = "https://api.qingcloud.com/iaas/?access_key_id=XXXXXXXXXXXXXXX&action=GetMonitor&resource=eip-w1pculur&meters.1=traffic&signature_method=HmacSHA256&signature_version=1&time_stamp=2014-08-01T15%3A30%3A10Z&start_time=2014-07-31T09%3A47%3A00.820Z&end_time=2014-07-31T10%3A47%3A00.820Z&step=5m&zone=pek1&signature=" + signature
url = 'https://api.qingcloud.com/iaas/?access_key_id=XXXXXXXXXXXXXXX&action=GetMonitor&end_time=' + time_stamp + '&meters.1=traffic&resource=eip-w1pculur&signature_method=HmacSHA256&signature_version=1&start_time=' + starttime +'&step=5m&time_stamp=' + time_stamp + '&zone=pek1&signature=' + signature
print(url)
geturl = urllib.request.urlopen(url).read()
print(geturl)
使用python程序监控云服务器的带宽的更多相关文章
- zabbix 内网监控云服务器
今天 搞监控碰到了一个问题就是.内网机器搭建的zabbix服务器去监控云服务器agent的时候,agent 需要写服务端的IP地址. 我的思路是内网服务器映射自己公网IP地址的zabbix的端口100 ...
- 每日自动健康打卡(Python+腾讯云服务器)
每日自动健康打卡(Python+腾讯云服务器) 1.配置需要 python3.7,Chrome或者Edeg浏览器,Chrome驱动或者Edge驱动 #需要配置selenium库,baidu-aip库, ...
- 阿里云新老用户购买 2核8G云服务器5M带宽
这次阿里云活动的力度还是很大的,2核8G云服务器5M带宽 3年才2070 ,还是很值的购买的. 也放一个我的团战队连接,欢迎大家一起拼低价 https://m.aliyun.com/act/team1 ...
- 微信小程序阿里云服务器https搭建
已更新 2018-11-20 1.什么是https?HTTPS(全称:安全套接字层上的超文本传输协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS ...
- Python测试进阶——(5)Python程序监控指定进程的CPU和内存利用率
用Python写了个简单的监控进程的脚本monitor190620.py,记录进程的CPU利用率和内存利用率到文件pid.csv中,分析进程运行数据用图表展示. 脚本的工作原理是这样的:脚本读取配置文 ...
- Python测试进阶——(4)Python程序监控、存储、分析并可视化CPU和内存利用率
monitor190617.py 监控cpu和内存利用率信息,组织成json格式,并写入到 record.txt 文件中: import psutil import time import json ...
- python 调用阿里云服务器api创建服务器
首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-ecs 可以配合jenkins传递参数 #!/u ...
- 云服务器ECS
云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务.使用云服务器ECS就像使用水.电.煤气等资源一样便捷.高效.您无需提前采购硬件设备,而是根据业务需要, ...
- 在云服务器跑Python程序
最近在鼓弄这TensorFlow的模型,有些模型实在是太大了,CPU占用率100%不说,还一跑起来就跑个大半天,严重影响了学习的进度,所以由于手里刚有一个不大使用的云服务器,配置虽然不咋地,至少还能跑 ...
随机推荐
- angular指令浅谈
今天在闲暇时间再次对angularjs的指令进行了初探,不探不知道一探吓一跳啊, 就一个简单的指令整整难住我了两个小时,先不说代码的逻辑是否复杂,就一些内部的一些实现让我看起来都是头疼的不行啊,不过最 ...
- oracle手动删除数据库
有时候,无法使用图形界面时,我们需要手动删除数据库,具体操作步骤如下:一.手动删除文件系统数据库 1.停止监听,防止有新的连接产生,同时,在数据库配置了em的,也需要停止 $ lsnrctl st ...
- 帧动画 AnimationDrawable
Drawable Animation(Frame Animation):帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果. 首先,在res/drawable中定义动画 < ...
- Maven 镜像
http://mvnrepository.com/http://search.maven.org/http://repository.sonatype.org/content/groups/publi ...
- .net面试总结
一. hr 为人处事 工作中遇到问题:沟通很重要 离职原因:公司倒闭 二. ISAPI Internet Server Application Program Interface 三. http状态码 ...
- Ubuntu 11.10 安装GMONE3,卸载 UNITY和UNITY 2D
Ubuntu 11.10安装GNOME3: 1)sudo apt-get install gnome-shell sudo apt-get install gnome-themes* (或者 ...
- 【转】深入理解Java内存模型(三)——顺序一致性
数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争.java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个变量, 而且写和读没有通过同步来排序. 当代码 ...
- ajax调用action后返回list给list.jsp,显示为xml文档
struts2中使用的是map来保存数据的,所以这里绑定的值是key和value1 <?xml version="1.0" encoding="UTF-8" ...
- Js参数RSA加密传输,jsencrypt.js的使用
注意几点: 1.参数传递的+号处理,在传输时会把+变成空格,不处理后端就报错了. 1.前段代码 <!DOCTYPE html> <html> <head> < ...
- windows下安装mysql笔记
接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...