Python获取阿里云产品云监控数据指标

晋升失败
• 阅读 2835

1.阿里云服务器

  • 先创建阿里云账号;
  • 购买一台低配置的阿里云ECS服务器;
  • 还可以查看ECS云监控的监控指标数据;

Python获取阿里云产品云监控数据指标

2.通过阿里云官方的Python SDK API获取阿里云监控数据指标

  • 阿里云为了保证每一个主账户的安全性,设置了一个RAM的访问控制,阿里云官方鼓励用户 使用RAM授权子账户,且为子账户创建 AccessKey ID 和 AccessKeySecret,在阿里云提供 的SDK中,必须使用AccessKey ID 和 AccessKeySecret才能通过API访问到云产品;
  • 首先登录RAM,创建子账户,且为子账户生成AccessKey ID 和 AccessKeySecret ,https://ram.console.aliyun.com/overview

Python获取阿里云产品云监控数据指标

  • 创建一个新的子账户

Python获取阿里云产品云监控数据指标

  • 给这个子账户创建一个AccessKey ID 和 AccessKeySecret

Python获取阿里云产品云监控数据指标

  • 然后给这个新的子账户添加权限,可以访问阿里云监控;

Python获取阿里云产品云监控数据指标

3.安装阿里云Python SDK, 且获取监控数据

确认已经安装了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/docum...

参考:https://www.9xkd.com/user/plan-view.html?id=3232777786

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java mqtt服务器搭建
MQTT服务器搭建以及客户端代码编写服务器关于linux系统,可以在阿里云购买云服务器或者利用虚拟机安装CentOs系统。我用的就是阿里云的云服务器,比较方便安装Emqx服务器安装必要的依赖:$sudoyuminstallyyumutilsdevicem
Kent_Sun Kent_Sun
4年前
typora配置图床[阿里云]
typora配置图床阿里云|Failedtofetch解决typora配置图床阿里云txt1)下载最新版typora;2)偏好设置图像下载PicGo客户端如图一3)打开下好的picGo图床设置阿里云如图二4)打开阿里云控制台阿里云购买os
冴羽 冴羽
3年前
一篇从购买服务器到部署博客代码的详细教程
前言我们在实现了VuePress搭建个人博客,在和实现了代码自动同步和部署Github和Gitee,但我最终还是决定自己建站,说干就干,那我们开始吧。买服务器因为个人的工作经历,选择了阿里云服务器,我们直接买个云服务器ECS,所谓ECS服务器,直接引用官方的介绍:云服务器ECS(ElasticComputeService)是一种
Stella981 Stella981
3年前
SecureCRT 跳板机 内网直连
使用场景阿里云有10台服务器,只有一台开通了外网(同样也适用于在家办公时需要访问到公司内网):想通过阿里云内网IP以SSH方式访问另外9台服务器想通过阿里云内网IP以浏览器方式访问服务器中运行的web服务想通过阿里云内网IP以本机直连的方式链接服务器或某个
Stella981 Stella981
3年前
GopherChina大会嘉宾
嘉宾简介吴小伟:花名一啸,阿里巴巴技术专家,2010年加入阿里,目前在阿里云CDN事业部,从事CDN智能流量调度系统相关的研发工作;在阿里,从事过中间件、高性能服务器(Web服务器、DNS服务器等)、大数据等相关技术产品的开发;当前主要采用C和Go语言进行开发工作。大会主题《Go在阿里云CDN中的应用》主题摘要:阿里云CDN对
Wesley13 Wesley13
3年前
3.1 主流公有云介绍 3.2 阿里云ECS 3.3 登录云主机 3.4 升降级配置 3.5 安全组策略
3.1主流公有云介绍私有云:一般大企业才有资金能力搭建私有云搭建私有云的工具:openstack公有云:在配置低的情况下,推荐使用公有云,如果需要的配置非常高,比如256内存,CPU核数很多,那么费用就非常的昂贵,这个时候和传统的服务器比起来就没有传统服务器这么经济了。目前比较推荐阿里云阿里云
Wesley13 Wesley13
3年前
ECS主动运维2.0,体验升级,事半功倍
_摘要:_ 阿里云致力于提供更好用的运维体验,让您使用ECS的过程更透明、高效,并实现更加标准化、自动化的运维方式。基于主动运维2.0,您使用ECS云服务器的体验更加流畅,而且利用系统事件,不再依赖于工单联系客服,可以通过自助处理的方式响应主动运维实例重启,减少对系统可靠性和业务连续性的影响。   云服务器ECS(ElasticCompute
Wesley13 Wesley13
3年前
Java多线程之线程池配置合理线程数
目录代码查看公司服务器或阿里云是几核的合理线程数配置之CPU密集型合理线程数配置之IO密集型1\.代码查看公司服务器或阿里云是几核的要合理配置线程数首先要知道公司服务器或阿里云是几核的代码查看服务器核数:System.out.println(Runtime.getRuntime().availableProc
Stella981 Stella981
3年前
Django部署阿里云服务器(nginx+uwsgi)
前言:购买阿里云操作系统是CentOS7.764位一、下一个Xshell软件对于不习惯在阿里云终端操作的,可以下这个软件,方便后台操作。使用命令sshroot@你的服务器公网IP登录阿里云服务器。二、安装宝塔面板(方便上传文件,删除文件,修改文
香港云服务器如何测评?
以我自己的经验和感受,如果要买云服务器的话,除了使用阿里云、腾讯云、金山云这些主流云服务商的产品,香港云服务器可以用互联数据这种自建机房的。那么作为云服务器的深度使用者,我接下来介绍几种对同类产品进行评测的方法,希望帮助大家挑选到适合自己的云服务器产品。也可以私信我。\从衡量云服务器产品的三大关键指标进行服务器评测\在测试工具的选择上,我采用的是linux环