Python调用阿里云数据库监控数据

概述

  • 基于Python 3.6.0 实现
  • 抓取公司云数据库监控数据 存入本地数据库
  • centos定时任务 每分钟执行一次

引入SDK

# 安装Python SDK 包
pip install aliyun-python-sdk-core-v3
pip install aliyun-python-sdk-rds

源代码

from aliyunsdkcore import client
from aliyunsdkrds.request.v20140815 import DescribeRegionsRequest

# 设置访问凭证
accessKeyId = ''
accessKeySecret = ''
client = client.AcsClient(accessKeyId, accessKeySecret,'cn-shanghai')

# 创建Request对象,并对其中参数赋值
request = DescribeRegionsRequest.DescribeRegionsRequest()
#设置返回数据格式,默认为XML
request.set_accept_format('json')
request.set_action_name('DescribeDBInstancePerformance')
#多个性能指标用 "," 分隔
request.set_query_params(dict(DBInstanceId="数据库实例名",key="性能指标",StartTime="2018-02-22T05:00Z",EndTime="2018-02-22T15:00Z"))
print(client.do_action_with_exception(request))

参考资料

阿里云各产品对应的 Python SDK 如下所示。

产品 Python SDK
账号登录 aliyun-python-sdk-aas
云解析 DNS aliyun-python-sdk-alidns
批量计算 aliyun-python-sdk-batchcompute
备案 aliyun-python-sdk-bsn
CDN aliyun-python-sdk-cdn
数据风控 aliyun-python-sdk-cf
云监控 aliyun-python-sdk-cms
容器服务 aliyun-python-sdk-cs
域名 aliyun-python-sdk-domain
分布式关系型数据库服务 aliyun-python-sdk-drds
云服务器 ECS aliyun-python-sdk-ecs
弹性伸缩 aliyun-python-sdk-ess
功能测试 aliyun-python-sdk-ft
阿里绿网 aliyun-python-sdk-green
高性能计算 aliyun-python-sdk-hpc
HTTPDNS aliyun-python-sdk-httpdns
物联网套件 aliyun-python-sdk-iot
密钥管理服务 aliyun-python-sdk-kms
媒体转码 aliyun-python-sdk-mts
云数据库 Memcache 版 aliyun-python-sdk-ocs
云推送 aliyun-python-sdk-push
访问控制 aliyun-python-sdk-ram
云数据库 RDS 版 aliyun-python-sdk-rds
资源编排 aliyun-python-sdk-ros
负载均衡 aliyun-python-sdk-slb
专有网络 VPC aliyun-python-sdk-vpc
阿里云 STS aliyun-python-sdk-sts
云盾 aliyun-python-sdk-yundun

Python SDK使用说明

公共参数

名称 类型 是否必须 描述
accessKeyId String 必须 阿里云的Access Key ID
accessKeySecret String 必须 阿里云的Access Key Secret
  • accessKeyId和accessKeySecret 在阿里云官网控制台获取 https://ak-console.aliyun.com/#/accesskey
  • 各个方法中需要用到 ProductKey 在IoT控制台 查看ProductKey数据.

引入Python SDK

  • 安装Python SDK包:

     
        
    1. sudo pip install aliyun-python-sdk-core
    2. sudo pip install aliyun-python-sdk-iot
  • 在Python文件中引入Python SDK相关文件:

     
        
    1. from aliyunsdkcore import client
    2. from aliyunsdkiot.request.v20170420 import RegistDeviceRequest
    3. from aliyunsdkiot.request.v20170420 import PubRequest
    4. ...

初始化

 
  
  1. accessKeyId = ''
  2. accessKeySecret = ''
  3. clt = client.AcsClient(accessKeyId, accessKeySecret, 'cn-shanghai')

发起调用

以publish数据到设备为例:

 
  
  1. request = PubRequest.PubRequest()
  2. request.set_accept_format('json') #设置返回数据格式,默认为XML
  3. request.set_ProductKey('productKey')
  4. request.set_TopicFullName('/productKey/deviceName/get') #消息发送到的Topic全名
  5. request.set_MessageContent('aGVsbG8gd29ybGQ=') #hello world Base64 String
  6. request.set_Qos(0)
  7. result = clt.do_action_with_exception(request)
  8. print 'result : ' + result

性能参数表

   

RDS for MySQL

API参数名 含义
MySQL_NetworkTraffic MySQL实例平均每秒钟的输入流量,MySQL实例平均每秒钟的输出流量。单位为KB。
MySQL_QPSTPS 平均每秒SQL语句执行次数,平均每秒事务数
MySQL_Sessions 当前活跃连接数,当前总连接数
MySQL_InnoDBBufferRatio InnoDB缓冲池的读命中率,InnoDB缓冲池的利用率,InnoDB缓冲池脏块的百分率
MySQL_InnoDBDataReadWriten InnoDB平均每秒钟读取的数据量,InnoDB平均每秒钟写入的数据量。单位为KB
MySQL_InnoDBLogRequests 平均每秒向InnoDB缓冲池的读次数,平均每秒向InnoDB缓冲池的写次数
MySQL_InnoDBLogWrites 平均每秒日志写请求数,平均每秒向日志文件的物理写次数,平均每秒向日志文件完成的fsync()写数量
MySQL_TempDiskTableCreates MySQL执行语句时在硬盘上自动创建的临时表的数量
MySQL_MyISAMKeyBufferRatio MyISAM平均每秒Key Buffer利用率,MyISAM平均每秒Key Buffer读命中率,MyISAM平均每秒Key Buffer写命中率
MySQL_MyISAMKeyReadWrites MyISAM平均每秒钟从缓冲池中的读取次数,MyISAM平均每秒钟从缓冲池中的写入次数,MyISAM平均每秒钟从硬盘上读取的次数,MyISAM平均每秒钟从硬盘上写入的次数
MySQL_COMDML 平均每秒Delete语句执行次数,平均每秒Insert语句执行次数, 平均每秒Insert_Select语句执行次数,平均每秒Replace语句执行次数,平均每秒Replace_Select语句执行次数,平均每秒Select语句执行次数,平均每秒Update语句执行次数
MySQL_RowDML 平均每秒从InnoDB表读取的行数,平均每秒从InnoDB表更新的行数,平均每秒从InnoDB表删除的行数,平均每秒从InnoDB表插入的行数,平均每秒向日志文件的物理写次数
MySQL_MemCpuUsage MySQL实例CPU使用率(占操作系统总数),MySQL实例内存使用率(占操作系统总数)
MySQL_IOPS MySQL实例的IOPS(每秒IO请求次数)
MySQL_DetailedSpaceUsage MySQL实例空间占用详情:ins_size实例总空间使用量;data_size数据空间;log_size日志空间;tmp_size临时空间;other_size系统空间
slavestat 只读实例延迟

RDS for SQL Server

API参数名 含义
SQLServer_Transactions 平均每秒事务数
SQLServer_Sessions 当前总连接数
SQLServer_BufferHit 缓存命中率
SQLServer_FullScans 平均每秒全表扫描次数
SQLServer_SQLCompilations 每秒SQL编译
SQLServer_CheckPoint 每秒检查点写入Page数
SQLServer_Logins 每秒登录次数
SQLServer_LockTimeout 每秒锁超时次数
SQLServer_Deadlock 每秒死锁次数
SQLServer_LockWaits 每秒锁等待次数
SQLServer_NetworkTraffic SQLServer实例平均每秒钟的输入/输出流量。单位为KB
SQLServer_QPS 平均每秒SQL语句执行次数
SQLServer_InstanceCPUUsage MSSQL实例CPU使用率(占操作系统总数)
SQLServer_IOPS MSSQL实例的IOPS(每秒IO请求次数)
SQLServer_SpaceUsage MSSQL实例空间占用

文章来源:北大青鸟 HD089455

你可能感兴趣的:(Python)