Python获取阿里云产品云监控数据指标
1.阿里云服务器
-
先创建阿里云账号;
-
购买一台低配置的阿里云ECS服务器;
-
还可以查看ECS云监控的监控指标数据;
2.通过阿里云官方的Python SDK API获取阿里云监控数据指标
-
阿里云为了保证每一个主账户的安全性,设置了一个RAM的访问控制,阿里云官方鼓励用户 使用RAM授权子账户,且为子账户创建 AccessKey ID 和 AccessKeySecret,在阿里云提供 的SDK中,必须使用AccessKey ID 和 AccessKeySecret才能通过API访问到云产品;
-
首先登录RAM,创建子账户,且为子账户生成
AccessKey ID
和 AccessKeySecret ,https://ram.console.aliyun.com/overview;
-
创建一个新的子账户
-
给这个子账户创建一个AccessKey ID 和 AccessKeySecret
-
然后给这个新的子账户添加权限,可以访问阿里云监控;
3.安装阿里云Python SDK, 且获取监控数据
- 安装Python SDK的链接地址:https://help.aliyun.com/document_detail/28622.html?spm=a2c4g.11186623.6.709.12e748d3cL2cM5
确认已经安装了python,然后使用pip命令行安装两个依赖
pip install aliyun-python-sdk-core pip install aliyun-python-sdk-cms
- 获取CPU的使用率
from aliyunsdkcore import client from aliyunsdkcms.request.v20180308 import QueryMetricListRequest import time from datetime import datetime, timedelta import json from pprint import pprint # 返回最近三分钟的时间戳, 毫秒单位,必须是整数类型 def get_start_timestamp(): start_datetime = datetime.now() - timedelta(minutes=3) start_timestamp = int(start_datetime.timestamp()*1000) return start_timestamp # 初始化客户端,填写ak, secret, region_id clt = client.AcsClient('LTAIxdvbuz2MD74Z','I2b7O1UJmkjfgHVC4i7Atb8gGXwAbU','cn-shenzhen') # 初始化请求对象 request = QueryMetricListRequest.QueryMetricListRequest() # 设置响应类型 request.set_accept_format('json') # 设置项目 request.set_Project('acs_ecs_dashboard') # 设置获取的指标的key, 这里是CPU的使用率 request.set_Metric('CPUUtilization') # 获取3分钟以前的时间戳 start_time = get_start_timestamp() # 设置起始时间 request.set_StartTime(start_time) # 设置结束时间 request.set_EndTime(int(datetime.now().timestamp() * 1000)) # 设置实例ID request.set_Dimensions("{'instanceId':'i-wz98bynewgl7gu3jqqb3'}") # 添加异常打印 result = clt.do_action_with_exception(request) # 反序列化 result = json.loads(result) # 打印结果 pprint(result)
- 获取系统磁盘读IOPS
from aliyunsdkcore import client from aliyunsdkcms.request.v20180308 import QueryMetricListRequest import time from datetime import datetime, timedelta import json from pprint import pprint def get_start_timestamp(): start_datetime = datetime.now() - timedelta(minutes=3) start_timestamp = int(start_datetime.timestamp()*1000) return start_timestamp clt = client.AcsClient('LTAIxdvbuz2MD74Z','I2b7O1UJmkjfgHVC4i7Atb8gGXwAbU','cn-shenzhen') request = QueryMetricListRequest.QueryMetricListRequest() request.set_accept_format('json') request.set_Project('acs_ecs_dashboard') # 设置获取的指标的key, 这里是CPU的使用率 request.set_Metric('DiskReadIOPS') start_time = get_start_timestamp() request.set_StartTime(start_time) request.set_EndTime(int(datetime.now().timestamp() * 1000)) request.set_Dimensions("{'instanceId':'i-wz98bynewgl7gu3jqqb3'}") result = clt.do_action_with_exception(request) result = json.loads(result) pprint(result)
4.获取第三方的监控指标
-
(1)首先需要从
aliyunsdkcore
模块中导入client
,从aliyunsdkcms.request.v20180308
中导 入QueryMetricListRequest类
,再根据需求导入其他模块; -
(2)然后使用
client.AcsClient()
方法初始化客户端; -
(3)使用
QueryMetricListRequest
类中的QueryMetricListRequest()
方法初始化请求对象; -
(4)使用
set_accept_format()
设置响应类型,set_Project()
方法设置项目,set_Metric()
方法 设置获取的指标的key,set_StartTime()
设置起始时间,set_EndTime()
方法设置终止时间,set_Dimensions()
方法设置实例的ID,do_action_with_exception()
方法添加异常打印等;
5.预设监控项参考
- 云服务器ECS的基础监控项有例如CPUUtilization(CPU百分比)、InternetInRate(公网 流入带宽)、IntranetInRate(私网流入带宽)、DiskReadBPS(系统磁盘总读BPS)等等 ,具体可以参考链接https://help.aliyun.com/document_detail/28619.html?
- Python获取数据
- python获取一组数据里最大值max函数用法实例
- 02Python外部数据获取_下载网页
- python操作数据库获取数据
- 基于随机采样获取训练、测试数据示例(Python)
- 基于随机采样获取训练、测试数据示例(Python)
- 在Python的Django框架中获取单个对象数据的简单方法
- python使用代理服务器获取网页数据
- python获取文件版本信息、公司名和产品名的方法
- Python3获取股票行情数据(中国个股/中国指数/全球指数)
- python获取A股基础数据
- python-pyautogui、pandas、subprocess等打开行情软件,获取数据,并保存到dataframe中
- python3+selenium(二十)数据获取后字符串分隔
- Python Elasticsearch api,组合过滤器,term过滤器,正则查询 ,match查询,获取最近一小时的数据
- 万得-python接口获取股票数据
- python list排序(正倒)以及获取重复数据
- Python网络爬虫(一)-----获取网页数据
- python request 获取网络数据
- 无限遍历,Python实现在多维嵌套字典、列表、元组的JSON中获取数据
- python获取动态网站上面的动态加载的数据(selenium+Firefox)