騰訊雲SDK獲取CDB相關信息範例【實操系列】

tencentcloud-sdk-python

1. 獲取CDB列表信息

from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdb.v20170320 import cdb_client, models
try:
    cred = credential.Credential("secretId", "secretKey")
    client = cdb_client.CdbClient(cred, "ap-shanghai")

    req = models.DescribeDBInstancesResponse()
    req.Limit=100 # 默認只會展示20條信息
    resp = client.DescribeDBInstances(req)
    print(resp.to_json_string())


except TencentCloudSDKException as err:
    print(err)

當然輸出的數據是一堆json,自然想到是jq命令過濾出需要的信息

➜  ~ python getcdblist.py  |jq '.Items |.[]|{InstanceId,InstanceName,Vip,Vport,EngineVersion,Memory,Cpu}'
{
  "InstanceId": "xx-InstanceId",
  "InstanceName": "xx-InstanceName",
  "Vip": "0.0.0.0",
  "Vport": 3306,
  "EngineVersion": "5.7",
  "Memory": 16000,
  "Cpu": 4
}
{
  "InstanceId": "yy-InstanceId",
  "InstanceName": "yy-InstanceName",
  "Vip": "0.0.0.0",
  "Vport": 3306,
  "EngineVersion": "5.7",
  "Memory": 16000,
  "Cpu": 4
}
{
  "InstanceId": "zz-InstanceId",
  "InstanceName": "zz-InstanceName",
  "Vip": "0.0.0.0",
  "Vport": 3306,
  "EngineVersion": "5.7",
  "Memory": 16000,
  "Cpu": 4
}

2. 獲取mysql慢查詢日誌

# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdb.v20170320 import cdb_client, models
try:
    cred = credential.Credential("secretId", "secretKey")
    client = cdb_client.CdbClient(cred, "ap-shanghai")

    # 慢查詢日誌
    req = models.DescribeSlowLogsRequest()
    req.Limit=1

    req.InstanceId="xx-InstanceId"

    resp = client.DescribeSlowLogs(req)
    resp = resp.to_json_string()
    print(resp)
except TencentCloudSDKException as err:
    print(err)
➜  ~ python getcdbslowlog.py  | jq
{
  "TotalCount": 8,
  "RequestId": "xxxx-xxxx-xxxx-xxxx-xxxx",
  "Items": [
    {
      "Name": "InstanceId_slowlog_20200215.log",
      "IntranetUrl": "http://xxxxxxxx",
      "Date": "2020-02-15",
      "InternetUrl": "https://xxxxxxxx",
      "Type": "slowlog",
      "Size": 3482
    }
  ]
}

3. 獲取監控信息

from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.cdb.v20170320 import cdb_client, models
try:
    cred = credential.Credential("secretId", "secretKey")
    client = cdb_client.CdbClient(cred, "ap-shanghai")
    req = models.DescribeDeviceMonitorInfoRequest()
    req.InstanceId='xx-InstanceId'
    req.Count=1
    resp = client.DescribeDeviceMonitorInfo(req)
    print(resp)
except TencentCloudSDKException as err:
    print(err)
➜  ~ python getcdbmon.py
[TencentCloudSDKException] code:OperationDenied.ActionNotSupport message:該接口暫只支持最高配置實例查詢 requestId:xxxxxxxx

很可惜,窮,買不起頂配的

在這裏插入圖片描述

發佈了18 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章