跳转至

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

阅读本文前,请先阅读:

Tip

使用本采集器前,必须安装「Integration Core」及其配套的第三方依赖包

Tip

腾讯云云监控指标采集依赖相关产品的资源属性,必须先配置该产品的自定义对象采集器。通过脚本市场部署会自动配置

Tip

该采集器默认支持开启多线程(默认开启五个线程),如果需要更改线程池大小,可以设置环境变量 COLLECTOR_THREAD_POOL_SIZE

1. 配置结构

本采集器配置结构如下:

字段 类型 是否必须 说明
Regions list 必须 所需采集的云监控地域列表
regions[#] str 必须 地域 ID 如:ap-shanghai
总表见附录
targets list 必须 云监控采集对象配置列表
相同命名空间的多个配置之间逻辑关系为「且」
targets[#].namespace str 必须 所需采集的云监控命名空间。如:QCE/CVM
targets[#].metrics list 必须 所需采集的云监控指标名列表
总表见附录
targets[#].metrics[#] str 必须 指标名模式,支持"NOT"、通配符方式匹配
正常情况下,多个之间逻辑关系为「或」 包含"NOT"标记时,多个之间逻辑关系为「且」。 详见下文

2. 配置示例

指定特定指标

采集QCE/CVM中名称为WanOuttrafficWanOutpkg的 2 个指标

tencentcloud_monitor_configs = {
    'regions': ['ap-shanghai'],
    'targets': [
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['WanOuttraffic', 'WanOutpkg'],
        }
    ]
}

通配符匹配指标

指标名可以使用*通配符来匹配。

本例中以下指标会被采集:

  • 名称为WanOutpkg的指标
  • 名称以Wan开头的指标
  • 名称以Outpkg结尾的指标
  • 名称中包含Out的指标
tencentcloud_monitor_configs = {
    'regions': ['ap-shanghai'],
    'targets': [
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['WanOutpkg', 'Wan*', '*Outpkg', '*Out*']
        }
    ]
}

剔除部分指标

在开头添加"NOT"标记表示去除后面的指标。

本例中以下指标[不会]被采集:

  • 名称为WanOutpkg的指标
  • 名称以Wan开头的指标
  • 名称以Outpkg结尾的指标
  • 名称中包含Out的指标
tencentcloud_monitor_configs = {
    'regions': ['ap-shanghai'],
    'targets': [
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['NOT', 'WanOutpkg', 'Wan*', '*Outpkg', '*Out*']
        }
    ]
}

多重过滤指定所需指标

相同的命名空间可以指定多次,从上到下依次按照指标名进行过滤。

本例中,相当于对指标名进行了如下过滤步骤:

  1. 选择所有名称中包含Out的指标

  2. 在上一步结果中,去除名称为WanOutpkg的指标

tencentcloud_monitor_configs = {
    'regions': ['ap-shanghai'],
    'targets': [
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['*Out*']
        },
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['NOT', 'WanOutpkg']
        }
    ]
}

3. 数据上报格式

数据正常同步后,可以在 观测云 的「指标」中查看数据。

以如下采集器配置为例:

tencentcloud_monitor_configs = {
    'regions': ['ap-shanghai'],
    'targets': [
        {
            'namespace': 'QCE/CVM',
            'metrics'  : ['WanOutpkg']
        }
    ]
}

上报的数据示例如下:

{
  "measurement": "tencentcloud_QCE/CVM",
  "tags": {
    "InstanceId": "i-xxx"
  },
  "fields": {
    "WanOutpkg_max": 0.005
  }
}
Tip

所有的指标值都会以 float 类型上报

Tip

本采集器采集了 QCE/CVM 命名空间 (Namespace) 下 WanOutpkg 指标数据,详情见数据采集说明表格。

4. 与自定义对象采集器联动

当您开通了自定义对象采集器(如: CVM )时,本采集器会根据数据采集说明的维度信息补充字段。例如 CVM 根据云监控数据返回的InstanceId字段尝试匹配自定义对象中的tags.name字段。

由于需要先获知自定义对象信息才能在云监控采集器中进行联动,因此一般建议将云监控的采集器放置在列表末尾,如:

# 创建采集器
collectors = [
    tencentcloud_cvm.DataCollector(account, common_tencentcloud_configs), # CVM 自定义对象采集器
    tencentcloud_monitor.DataCollector(account, tencentcloud_monitor_configs) # 云监控采集器一般放在最末尾
]

当成功匹配后,会将所匹配的自定义对象 tags 中额外的字段加入到云监控数据的 tags 中,以此实现在使用实例名称筛选云监控的指标数据等效果。具体效果如下:

假设云监控采集到的原始数据如下:

{
  "measurement": "tencentcloud_QCE/CVM",
  "tags": {
    "InstanceId": "i-xxx"
  },
  "fields": { "..." }
}

同时,腾讯云 CVM 采集器采集到的自定义对象数据如下:

{
  "measurement": "tencentcloud_cvm",
  "tags": {
    "name"           : "i-xxx",
    "InstanceType"   : "c6g.xxx",
    "PlatformDetails": "xxx",
    "{...}"
  },
  "fields": { "..." }
}

那么,最终上报的云监控数据如下:

{
  "measurement": "tencentcloud_QCE/CVM",
  "tags": {
    "name"            : "i-xxx",
    "InstanceId"          : "i-xxx",   // 云监控原始字段
    "InstanceType"    : "c6g.xxx", // 来自自定义对象 CVM 的字段
    "PlatformDetails" : "xxx",     // 来自自定义对象 CVM 的字段
    "{其他字段略}"
  },
  "fields": { "内容略" }
}

5. 云监控调用次数说明

腾讯云云监控对部分 API 调用次数有免费额度限制(本采集器使用 GetMonitorData API 请求监控数据。属于限免额度 API。每个主账号的免费请求额度为100万次/月。超出部分按 0.25 元/万次收费。另外,超过免费额度后将无法继续使用,如需继续调用接口需要手动开通“API请求按量付费”。计费规则可查看API计费文档。)以下对脚本集调用次数做出详细解释:

通过查看任务执行日志,找到真实调用次数

采集器对任务每次执行结果所调用的 API 次数有统计,可以在日志中查看,例:

[2023-04-24 19:02:02.359] [+1156ms] [1]个账号采集完毕,共执行[1155毫秒],期间调用API[2次]
[2023-04-24 19:02:02.360] [+0ms] 详细调用如下
[2023-04-24 19:02:02.360] [+0ms] -> monitor.tencentcloudapi.com/?Action=DescribeBaseMetrics: 1 [2023-04-24 19:02:02.565] [+0ms] -> monitor.tencentcloudapi.com/?Action=GetMonitorData: 1 
Warning

鉴于云监控调用次数有免费额度,建议用户选择监控项时按需配置,避免通配造成额外消费

注意事项

触发任务抛错情况以及解决方法

  1. HTTPClientError: An HTTP Client raised an unhandled exception: SoftTimeLimitExceeded()

原因:任务执行时间过长 timeout。

解决方法:

  • 适当加大对任务的 timeout 设置(如:@DFF.API('执行采集', timeout=120, fixed_crontab="* * * * *"),表示将任务的超时时间设置成 120 秒)。

  • [TencentCloudSDKException] code:InvalidParameterValue message:cannot find metricName=xxx configure

原因:腾讯云不支持该指标的采集(会出现这种腾讯云文档里有该指标,实际却不支持的情况)

解决方法:

  • 建议参考本文 监控指标配置信息,配置有效的指标名。

  • [TencentCloudSDKException] code:InvalidParameterValue message: xxxxx does not belong to the developer ....

原因:采集某个账号下某个产品云监控数据时,该产品已经被释放了,造成接口抛错,可以忽视。

X. 附录

腾讯云云监控

请参考腾讯云官方文档:

文档评价

文档内容是否对您有帮助? ×