将一些不重要的服务迁移到云服务上,有些下载什么的,为了防止带宽超了,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程序监控云服务器的带宽的更多相关文章

  1. zabbix 内网监控云服务器

    今天 搞监控碰到了一个问题就是.内网机器搭建的zabbix服务器去监控云服务器agent的时候,agent 需要写服务端的IP地址. 我的思路是内网服务器映射自己公网IP地址的zabbix的端口100 ...

  2. 每日自动健康打卡(Python+腾讯云服务器)

    每日自动健康打卡(Python+腾讯云服务器) 1.配置需要 python3.7,Chrome或者Edeg浏览器,Chrome驱动或者Edge驱动 #需要配置selenium库,baidu-aip库, ...

  3. 阿里云新老用户购买 2核8G云服务器5M带宽

    这次阿里云活动的力度还是很大的,2核8G云服务器5M带宽 3年才2070 ,还是很值的购买的. 也放一个我的团战队连接,欢迎大家一起拼低价 https://m.aliyun.com/act/team1 ...

  4. 微信小程序阿里云服务器https搭建

    已更新 2018-11-20 1.什么是https?HTTPS(全称:安全套接字层上的超文本传输​​协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS ...

  5. Python测试进阶——(5)Python程序监控指定进程的CPU和内存利用率

    用Python写了个简单的监控进程的脚本monitor190620.py,记录进程的CPU利用率和内存利用率到文件pid.csv中,分析进程运行数据用图表展示. 脚本的工作原理是这样的:脚本读取配置文 ...

  6. Python测试进阶——(4)Python程序监控、存储、分析并可视化CPU和内存利用率

    monitor190617.py 监控cpu和内存利用率信息,组织成json格式,并写入到 record.txt 文件中: import psutil import time import json ...

  7. python 调用阿里云服务器api创建服务器

    首先安装阿里云SDK pip install aliyun-python-sdk-core pip install aliyun-python-sdk-ecs 可以配合jenkins传递参数 #!/u ...

  8. 云服务器ECS

    云服务器Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务.使用云服务器ECS就像使用水.电.煤气等资源一样便捷.高效.您无需提前采购硬件设备,而是根据业务需要, ...

  9. 在云服务器跑Python程序

    最近在鼓弄这TensorFlow的模型,有些模型实在是太大了,CPU占用率100%不说,还一跑起来就跑个大半天,严重影响了学习的进度,所以由于手里刚有一个不大使用的云服务器,配置虽然不咋地,至少还能跑 ...

随机推荐

  1. [转] Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  2. 使用CButtonColumn自定义CGridiew里面的按钮

    参考 http://www.yiiwiki.com/post/8 使用yii做的项目,编辑的时候,使用到的是自带的 CButtonColumn , 现在需要在编辑的时候跳新页面,这时只需要这样做就可以 ...

  3. ListControl一细节处理

    做VC ListControl的时候发现一个问题,右击菜单的时候,在没有列表数据的空白处也会出现菜单,这可够纠结的,于是用了点方法解决了,希望分享同样不爽的朋友们.代码如下: void CXXXDlg ...

  4. C#正则怎么判断字符串中是否有汉字

    Regex r = new Regex(".*[\\u4e00-\\u9faf].*");r.IsMatch(username)

  5. pointer-events属性

    pointer-events的风格更像JavaScript,它能够: 1.阻止用户的点击动作产生任何效果.阻止缺省鼠标指针的显示3.阻止CSS里的hover和active状态的变化触发事件4.阻止Ja ...

  6. MeasureSpec学习

    在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式. 这个大小的模式,有点难以理解.在系统 ...

  7. Cer Crt Pem Pfx 证书格式转换

    1.从pfx格式的证书提取出密钥和证书set OPENSSL_CONF=openssl.cnfopenssl pkcs12 -in my.pfx -nodes -out server.pemopens ...

  8. C++拾遗(十二)C++代码重用

    “has-a”关系 通常有两种方法实现: 1.被包含,本身是另一个类的对象. 2.私有或者保护继承. 主要讨论第二种方法,在继承时使用private关键字(或者不用任何关键字,默认就是私有的). 使用 ...

  9. [转载] HDFS and Erasure Codes (HDFS-RAID)

    The Hadoop Distributed File System has been great in providing a cloud-type file system. It is robus ...

  10. redis配置文件redis.conf详细说明

    # By default Redis does not run as a daemon. Use 'yes' if you need it.# Note that Redis will write a ...