采集器「火山云-云监控」配置手册
阅读本文前,请先阅读:
使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包
多线程默认开启(默认最多五个线程),如需更改线程大小可设置环境变量 COLLECTOR_THREAD_POOL_SIZE
1. 配置结构
本采集器配置结构如下:
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
targets |
list | 必须 | 云监控采集对象配置列表 相同命名空间的多个配置之间逻辑关系为「且」 |
targets[#].namespace |
str | 必须 | 所需采集的云监控命名空间。如:'VCM_ECS' 总表见附录 |
targets[#].subnamespace |
str | 必须 | 所需采集的云监控子命名空间。如:'acs_ecs_dashboard' 总表见附录 |
targets[#].dimensions |
str | 非必须 | 所需采集的云监控维度名称列表。此配置为新增配置,指定所采集指标的维度和值 总表见附录 |
targets[#].metrics |
list | 必须 | 所需采集的云监控指标名列表 总表见附录 |
targets[#].metrics[#] |
str | 必须 | 指标名称 |
2. 配置示例
指定特定指标
采集 ECS 中名称为CpuTotal
、MemoryUsedSpace
的 2 个指标
Python | |
---|---|
1 2 3 4 5 6 7 8 9 |
|
配置过滤器(可选项)
本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 True|False
- True:目标资源需要被采集。
- False 目标资源不需要被采集
当开启自定义对象采集时,将支持筛选更多的对象属性,详情请参考对应产品的自定义对象采集器文档(支持中...)
Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
相同 namespace 下配置多个过滤器时同时满足所有过滤器才会上报
3. 数据采集说明
云产品配置信息
产品名称 | 命名空间 (Namespace) | 维度 (Dimension) | 说明 |
---|---|---|---|
云服务器 ECS |
VCM_ECS |
ResourceID |
实例 ID |
云数据库 Mysql |
VCM_RDS_MySQL |
ResourceID |
实例 ID |
文档数据库 MongoDB 副本级 |
VCM_MongoDB_Replica |
ResourceID |
实例 ID |
文档数据库 MongoDB 分片级 |
VCM_MongoDB_Sharded_Cluster |
ResourceID |
实例 ID |
4. 数据上报格式
数据正常同步后,可以在观测云的「指标」中查看数据。
以如下采集器配置为例:
Python | |
---|---|
1 2 3 4 5 6 7 8 9 |
|
上报的数据示例如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 |
|
所有的指标值都会以 float 类型上报
5. 与自定义对象采集器联动
当同一个 DataFlux Func 中运行了其他自定义对象采集器(如 ECS、mysql)时,本采集器会自动根据tags.ResourceID
等字段尝试匹配自定义对象中的tags.name
字段。
由于需要先获知自定义对象信息才能在云监控类采集器中进行联动,因此一般建议将云监控的采集器放置在列表末尾,如:
Python | |
---|---|
1 2 3 4 5 |
|
当成功匹配后,会将所匹配的自定义对象tags
中除name
以外的字段加入到监控数据的tags
中,以此实现在使用实例名称筛选云监控的指标数据等效果。具体效果如下:
假设云监控采集到的原始数据如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 |
|
同时,火山云 ECS 采集器采集到的自定义对象数据如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
那么,最终上报的云监控数据如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
6. 云监控调用次数说明
火山云官方对本脚本内使用到的云监控接口调用次数没有限制,都是免费使用
X. 附录
请参考火山云官方文档: