采集器「微软云-云监控」配置手册
阅读本文前,请先阅读:
使用本采集器前,必须安装「观测云集成 Core 核心包」及其配套的第三方依赖包
采集微软云云监控数据前,必须先配置对应产品的自定义对象采集器
1. 配置结构
本采集器配置结构如下:
字段 | 类型 | 是否必须 | 说明 |
---|---|---|---|
targets |
list | 必须 | 云监控采集对象配置列表 相同命名空间的多个配置之间逻辑关系为「且」 |
targets[#].namespace |
str | 必须 | 所需采集的云监控命名空间。如:'Microsoft.Compute/virtualMachines' 总表见附录 |
targets[#].metrics |
list | 必须 | 所需采集的云监控指标名列表 总表见附录 |
targets[#].metrics[#] |
str | 必须 | 指标名模式,支持"NOT" 、通配符方式匹配正常情况下,多个之间逻辑关系为「或」 包含 "NOT" 标记时,多个之间逻辑关系为「且」。详见下文 |
2. 配置示例
指定特定指标
采集 VM 中名称为CPU Credits Consumed
、CPU Credits Remaining
的 2 个指标
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
通配符匹配指标
指标名可以使用*
通配符来匹配。
本例中以下指标会被采集:
- 名称为
CPU Credits Consumed
的指标 - 名称以
CPU
开头的指标 - 名称以
Remaining
结尾的指标 - 名称中包含
IOPS
的指标
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
剔除部分指标
在开头添加"NOT"
标记表示去除后面的指标。
本例中,以下指标【不会】被采集:
- 名称为
CPU Credits Consumed
的指标 - 名称以
CPU
开头的指标 - 名称以
Remaining
结尾的指标 - 名称中包含
IOPS
的指标
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
多重过滤指定所需指标
相同的命名空间可以指定多次,从上到下依次按照指标名进行过滤。
本例中,相当于对指标名进行了如下过滤步骤:
- 选择所有名称中包含
CPU
的指标 - 在上一步结果中,去除名称为
CPU Credits Consumed
的指标
Python | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 |
|
配置过滤器(可选项)
本采集器脚本支持用户自定义过滤器,让用户通过对象属性筛选出目标资源。过滤器函数返回值为 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) | 说明 |
---|---|---|
虚拟机 | Microsoft.Compute/virtualMachines |
监控指标配置信息
Microsoft.Compute/virtualMachines
指标英文名 (MetricName) | 指标中文名 |
---|---|
Available Memory Bytes | 可用内存字节数(预览版) |
CPU Credits Consumed | 已用 CPU 信用额度 |
CPU Credits Remaining | 剩余 CPU 信用额度 |
Data Disk Bandwidth Consumed Percentage | 已使用的数据磁盘带宽百分比 |
Data Disk IOPS Consumed Percentage | 已使用的数据磁盘 IOPS 的百分比 |
Data Disk Max Burst Bandwidth | 数据磁盘最大突发带宽 |
Data Disk Max Burst IOPS | 数据磁盘最大突发 IOPS |
Data Disk Queue Depth | 数据磁盘队列深度 |
Data Disk Read Bytes/sec | 数据磁盘读取字节数/秒 |
Data Disk Read Operations/Sec | 数据磁盘读取操作数/秒 |
Data Disk Target Bandwidth | 数据磁盘目标带宽 |
Data Disk Max Burst IOPS | 数据磁盘最大突发 IOPS |
Data Disk Queue Depth | 数据磁盘队列深度 |
Data Disk Read Bytes/sec | 数据磁盘读取字节数/秒 |
Data Disk Read Operations/Sec | 数据磁盘读取操作数/秒 |
Data Disk Target Bandwidth | 数据磁盘目标带宽 |
Data Disk Target IOPS | 数据磁盘目标 IOPS |
Data Disk Used Burst BPS Credits Percentage | 数据磁盘已用突发 BPS 额度百分比 |
Data Disk Used Burst IO Credits Percentage | 数据磁盘已用突发 IO 额度百分比 |
Data Disk Write Bytes/sec | 数据磁盘写入字节数/秒 |
Data Disk Write Operations/Sec | 数据磁盘写入操作数/秒 |
Disk Read Bytes | 磁盘读取字节数 |
Disk Read Operations/Sec | 磁盘读取操作次数/秒 |
Disk Write Bytes | 磁盘写入字节数 |
Disk Write Operations/Sec | 磁盘写入操作次数/秒 |
Inbound Flows | 入站流数 |
Inbound Flows Maximum Creation Rate | 入站流最大创建速率 |
Network In | 可计费网络传入量(已弃用) |
Network In Total | 网络传入流量总计 |
Network Out | 可计费网络流出量(已弃用) |
Network Out Total | 网络传出流量总计 |
OS Disk Bandwidth Consumed Percentage | 已使用的 OS 磁盘带宽百分比 |
OS Disk IOPS Consumed Percentage | 已使用的 OS 磁盘 IOPS 的百分比 |
OS Disk Max Burst Bandwidth | OS 磁盘最大突发带宽 |
OS Disk Max Burst IOPS | OS 磁盘最大突发 IOPS |
OS Disk Queue Depth | OS 磁盘队列深度 |
OS Disk Read Bytes/sec | OS 磁盘读取字节数/秒 |
OS Disk Read Operations/Sec | OS 磁盘读取操作次数/秒 |
OS Disk Target Bandwidth | OS 磁盘目标带宽 |
OS Disk Target IOPS | OS 磁盘目标 IOPS |
OS Disk Used Burst BPS Credits Percentage | OS 磁盘已用突发 BPS 额度百分比 |
OS Disk Used Burst IO Credits Percentage | OS 磁盘已用突发 IO 额度百分比 |
OS Disk Write Bytes/sec | OS 磁盘写入字节数/秒 |
OS Disk Write Operations/Sec | OS 磁盘写入操作次数/秒 |
Outbound Flows | 出站流 |
Outbound Flows Maximum Creation Rate | 出站流最大创建速率 |
Percentage CPU | CPU 百分比 |
Premium Data Disk Cache Read Hit | 高级数据磁盘缓存读取命中 |
Premium Data Disk Cache Read Miss | 高级数据磁盘缓存读取未命中 |
Premium OS Disk Cache Read Hit | 高级 OS 磁盘缓存读取命中 |
Premium OS Disk Cache Read Miss | 高级 OS 磁盘缓存读取未命中 |
VM Cached Bandwidth Consumed Percentage | 已使用的 VM 缓存带宽百分比 |
VM Cached IOPS Consumed Percentage | 已使用的 VM 缓存 IOPS 的百分比 |
VM Local Used Burst BPS Credits Percentage | VM 缓存已用突发 BPS 额度百分比 |
VM Local Used Burst IO Credits Percentage | VM 缓存已用突发 IO 额度百分比 |
VM Remote Used Burst BPS Credits Percentage | VM 未缓存已用突发 BPS 额度百分比 |
VM Remote Used Burst IO Credits Percentage | VM 未缓存已用突发 IO 额度百分比 |
VM Uncached Bandwidth Consumed Percentage | 已使用的 VM 未缓存带宽百分比 |
VM Uncached IOPS Consumed Percentage | 已使用的 VM 未缓存 IOPS 的百分比 |
VmAvailabilityMetric | VM 可用性指标(预览) |
4. 数据上报格式
数据正常同步后,可以在观测云的「指标」中查看数据。
以如下采集器配置为例:
Python | |
---|---|
1 2 3 4 5 6 7 8 |
|
上报的数据示例如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
所有的指标值都会以 float 类型上报
5. 与自定义对象采集器联动
当同一个 DataFlux Func 中运行了其他自定义对象采集器(如 vm)时,本采集器会自动根据tags.id
等字段尝试匹配自定义对象中的tags.id
字段。
由于需要先获知自定义对象信息才能在云监控类采集器中进行联动,因此一般建议将云监控的采集器放置在列表末尾,如:
Python | |
---|---|
1 2 3 4 5 |
|
当成功匹配后,会将所匹配的自定义对象tags
中除name
以外的字段加入到监控数据的tags
中,以此实现在使用实例名称筛选云监控的指标数据等效果。具体效果如下:
假设云监控采集到的原始数据如下:
JSON | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 |
|
同时,微软云 VM 采集器采集到的自定义对象数据如下:
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 12 |
|
6. 云监控调用次数说明
Azure 监控对部分 API 调用次数有免费额度限制(目前:查询 API 免费额度 100 万次/月,超出部分按 $0.01 美元/千次收费),本采集器所使用的 /{resourceUri}/providers/Microsoft.Insights/metrics 也在限制范围内,以下对脚本集调用次数做出详细解释:
1. 用户有多个资源,需要采集多种监控项,判断会不会超过免费额度:
本采集器使用 /{resourceUri}/providers/Microsoft.Insights/metrics(查询资源的指标值)一次请求能获取某个资源下的多个监控项(监控项的 timeGrain
相同且最多获取 20 个监控项,超过则需发下一次请求)。请求次数举例说明:
- 账号下有 2 个 vm 资源需要采集 CPU Credits Consumed 1 个监控项,需要 2 次请求;
- 账号下有 2 个 vm 资源需要采集 CPU Credits Consumed、CPU Credits Remaining 2 个监控项,监控项的
timeGrain
都等于PT1M
,需要 2 次请求(每个资源请求一次 ); - 账号下有 2 个 vm 资源需要采集 CPU Credits Consumed、CPU Credits Remaining 等 20 个监控项,监控项的
timeGrain
包括PT1M
PT5M
两种,需要 4 次请求; - 账号下有 2 个 vm 资源需要采集 CPU Credits Consumed、CPU Credits Remaining 等 25 个监控项,监控项的
timeGrain
包括PT1M
PT5M
两种,最多 6 次请求;
2. 通过查看任务执行日志,找到真实调用次数:
采集器对任务每次执行结果所调用的 API 次数有统计,可以在日志中查看,例:
Bash | |
---|---|
1 2 3 4 |
|
鉴于云监控调用次数有免费额度,建议用户选择监控项时按需配置,避免通配造成额外消费
注意事项
常见错误及解决办法
采集实例数量与实际存在实例数量不一致
原因:实例状态为关机状态
解决方法:
- 开启实例。
X. 附录
请参考微软云官方文档: