跳转至

采集器「腾讯云-MariaDB」配置手册

阅读本文前,请先阅读:

使用本采集器前,必须安装「观测云集成 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
InstanceId 实例 ID
InstanceName 实例名称
ProjectId 项目 ID
AppId 应用 ID
Zone 可用区
Status 实例状态
Vip 内网 IP 地址
Vport 内网端口号
WanDomain 外网域名
WanVIP 外网 IP 地址
WanPort 外网端口号
AutoRenewFlag 自动续费标志
TdsqlVersion TDSQL 版本
Uin 用户 ID
Paymode 付费模式
StatusDesc 状态描述
DbEngine 数据库引擎类型
DbVersion 数据库版本
InstanceType 实例类型
DbVersionId 数据库版本 ID
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
# 示例:开启过滤器,根据对象的 InstanceId 和 name 属性过滤,配置格式如下:
def filter_instance(instance):
    '''
    采集 instance_id 为 cdb-xxxx 并且 instance_name 为 xxx 的实例
    '''
    # return True
    instance_id = instance['InstanceId']
    instance_name = instance['InstanceName']
    if instance_id in ['cdb-xxxx'] and instance_name in ['xxx']:
        return True
    return False


###### Do not modify the following contents #####
from guance_integration__runner import Runner
import guance_tencentcloud_mariadb__main as mariadb_main


@DFF.API('TencentCloud-MariaDB Collection', timeout=3600, fixed_crontab='* * * * *')
def run():
    collectors = [
        # mariadb_main.DataCollector(account, collector_configs, filter_instance=filter_instance),
    ]
    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
35
36
37
38
39
{
  "measurement": "tencentcloud_mariadb",
  "tags": {
    "AppId": "1311xxx185",
    "AutoRenewFlag" : "0",
    "DbEngine"      : "MariaDB",
    "DbVersion"     : "10.1",
    "DbVersionId"   : "10.1",
    "InstanceId"    : "tdsql-ewqokixxxxxhu",
    "InstanceName"  : "tdsql-ewqoxxxxxxihu",
    "InstanceType"  : "2",
    "Paymode"       : "postpaid",
    "ProjectId"     : "0",
    "RegionId"      : "ap-shanghai",
    "Status"        : "0",
    "StatusDesc"    : "创建中",
    "TdsqlVersion"  : "基于MariaDB 10.1设计(兼容Mysql 5.6)",
    "Uin"           : "100xxxx113474",
    "Vip"           : "",
    "Vport"         : "3306",
    "WanDomain"     : "",
    "WanPort"       : "0",
    "WanVip"        : "",
    "Zone"          : "ap-shanghai-5",
    "name"          : "tdsql-ewqokihu",
    "WanVIP"        : ""
  },
  "fields": {
    "Cpu"           : 1,
    "CreateTime"    : "2023-08-17 17:55:03",
    "Memory"        : 2,
    "NodeCount"     : 2,
    "PeriodEndTime" : "0001-01-01 00:00:00",
    "Qps"           : 2100,
    "Storage"       : 10,
    "UpdateTime"    : "2023-08-17 17:55:03",
    "message"       : "{实例 JSON 数据}"
  }
}

部分参数说明如下

字段 类型 说明
Paymode str 付费模式 注意:此字段可能返回 null,表示取不到有效值。
StatusDesc str 实例目前运行状态描述注意:此字段可能返回 null,表示取不到有效值。
NodeCount str 节点数,2为一主一从,3为一主二从
Status str 实例状态:0 创建中,1 流程处理中, 2 运行中,3 实例未初始化,-1 实例已隔离,4 实例初始化中,5 实例删除中,6 实例重启中,7 数据迁移中

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

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

X. 附录

请参考腾讯云官方文档: