使用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%不说,还一跑起来就跑个大半天,严重影响了学习的进度,所以由于手里刚有一个不大使用的云服务器,配置虽然不咋地,至少还能跑 ...
随机推荐
- 基础-ADO插入数据后返回自增ID @@IDENTITY
在文件上传中,没上传一个文件都会插入一条数据信息,那么就要返回插入的数据的id,以便进行真实删除操作.以下是ADO操作数据库的返回方法: string sql = string.Format(@&qu ...
- Hadoop32位和64位的查询
1.查看自己的hadoop版本是32位还是64位 进入: hadoop-2.6.4/lib/native 使用file命令 file libhadoop.so.1.0.0
- 批量升级BMC固件asu64、ipmitool
需求:通过服务器远程管理IP批量升级IMM.UEFI固件 工具:asu64.ipmitool.iflash64.cdc_interface.sh 下载:http://pan.baidu.com/s/1 ...
- sping注解原理
持续更新中.. spring注解用的是java注解,用到的是java反射机制. 参考文档如下: http://zxf-noimp.iteye.com/blog/1071765 对应spring源码如下 ...
- 设为首页 收藏(IE可用)
function SetHome(obj, vrl) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomePage(vr ...
- sql设置事务隔离级别
SET TRANSACTION一共有以下几种级别: SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPE ...
- Windows免密码远程桌面
1.WinKey + R,在对话框中输入“gpedit.msc”,点“确定”: 2.展开:计算机配置--Windows设置--安全设置--本地策略--安全选项,找到“帐户:使用空白密码的本地账户只 ...
- json数据返回
<script type="text/javascript"> function xmlpage(){ var xhr=new XMLHttpRequest(); xh ...
- 《Effective C++》 阅读小结 (笔记)
A person who is virtuous is also courteous. "有德者必知礼" 书本介绍:<Effective C++:改善程序与设计的55个具体做 ...
- PHP MYSQL读取中文乱码的解决办法
其他试了很多种办法,结果最直接最简单的办法就是在SELECT前先发送设置.如下 mysqli_query($con,"SET NAMES 'UTF8'"); mysqli_quer ...