跳转至

采集器「腾讯云-TDSQL-C PostgreSQL」配置手册

阅读本文前,请先阅读:

使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包

1. 配置结构

本采集器配置结构如下:

字段 类型 是否必须 说明
regions list 必须 所需采集的地域列表
regions[#] str 必须 地域 ID。如:'ap-shanghai'
总表见附录

2. 配置示例

指定地域

采集上海、广州地域的数据

Python
1
2
3
collector_configs = {
    'regions': [ 'ap-shanghai', 'ap-guangzhou' ]
}

配置过滤器(可选项)

本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 True|False

  • True:目标资源需要被采集。

  • False 目标资源不需要被采集

支持筛选的对象属性:

属性 描述
RegionId 实例所在地域ID
Region 实例所在地域
Zone 实例可用区
ClusterId 集群ID
ClusterName 集群名称
InstanceId 实例ID
InstanceName 实例名称
InstanceType 实例类型
InstanceRole 实例角色
Status 实例状态
StatusDesc 实例状态描述
DbType 数据库类型
DbMode 数据库模式
DbVersion 数据库版本
WanIP 公网IP地址
WanPort 公网端口号
WanStatus 公网连接状态
Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 示例:开启过滤器,根据对象的 InstanceId 和 name 属性过滤,配置格式如下:
def filter_instance(instance):
    '''
    return True|False
    '''
    # return True
    instance_id = instance['InstanceId']
    if instance_id in ['cdb-xxxx']:
        return True
    return False


###### Do not modify the following contents #####
from guance_integration__runner import Runner
import guance_tencentcloud_tdsql_c_postgresql__main as tdsql_c_postgresql_main
import guance_tencentcloud_monitor__main as monitor_main


@DFF.API('TencentCloud-TDSQL-C-PostgreSQL Collection', timeout=3600, fixed_crontab='* * * * *')
def run():
    collectors = [
        tdsql_c_postgresql_main.DataCollector(account, collector_configs, filter_instance=filter_instance),
        monitor_main.DataCollector(account, monitor_configs),
    ]
    Runner(collectors).run()

3. 数据上报格式

数据正常同步后,可以在观测云的「基础设施-资源目录」中查看数据。

上报的数据示例如下:

JSON
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  "measurement": "tencentcloud_tdsql_c_postgresql",
  "tags": {
    "ClusterId"    : "cynosdbmysql-xxxx",
    "ClusterName"  : "cynosdbmysql-xxxx",
    "DbMode"       : "NORMAL",
    "DbType"       : "POSTGRESQL",
    "DbVersion"    : "8.0",
    "InstanceId"   : "cynosdbmysql-ins-xxxx",
    "InstanceName" : "cynosdbmysql-ins-xxxx",
    "InstanceRole" : "ro",
    "InstanceType" : "ro",
    "Region"       : "ap-shanghai",
    "RegionId"     : "ap-shanghai",
    "Status"       : "isolated",
    "StatusDesc"   : "已隔离",
    "WanIP"        : "",
    "WanPort"      : "0",
    "WanStatus"    : "init",
    "Zone"         : "ap-shanghai-2",
    "name"         : "cynosdbmysql-xxxx"
  },
  "fields": {
    "Cpu"           : 1,
    "CreateTime"    : "2023-08-21 11:00:50",
    "IsolateTime"   : "2023-08-21 11:34:55",
    "Memory"        : 1,
    "PayMode"       : 0,
    "PeriodEndTime" : "0001-01-01 00:00:00",
    "Storage"       : 3000,
    "UpdateTime"    : "2023-08-21 11:34:55",
    "message"       : "{实例 JSON 数据}"
  }
}

部分参数说明如下

字段 类型 说明
PayMode str 付费模式。
0-按量计费,
1-包年包月
注意:此字段可能返回 null,表示取不到有效值。
CreateTime str 集群创建时间
注意:此字段可能返回 null,表示取不到有效值。
PeriodEndTime str 截止时间
注意:此字段可能返回 null,表示取不到有效值。
UpdateTime str 更新时间

tags、fields 中的字段可能会随后续更新有所变动

tags.name 值为实例 ID,作为唯一标识,fields.message 为 JSON 序列化后字符串

部分字段可能采集不到,因为腾讯云接口返回的数据不一定包含所有字段,具体请参考腾讯云官方文档

X. 附录

请参考腾讯云官方文档: