监控拉取服务(cloudmon)
cloudmon服务可以认为是一个cronjob周期任务,通过API调用方式采集各个云平台的监控数据, 并存储到influxdb数据库中, 以供monitor服务查询
采集类型
采集一般分为两类, 根据资源ID获取监控和根据监控项获取类型
资源ID类型
此类采集监控数据,每次API调用都需要传入资源Id, 甚至还需要传入监控项,因此会消耗大量API调用 假设有100个资源要获取4类监控数据就需要调用100次甚至400次API
监控项类型
此类采集监控数据,每次API调用仅需要传入监控项即可返回多个资源的监控数据,因此 假设有100个资源要获取4类监控数据,最低仅需要调用4次API即可,如果出现分页也仅仅是需要多调用几次
说明
腾讯云是这两类的结合体, 它需要传入监控项,但是限制了每次最多查10个实例的监控数据,因此 假设有100个资源需要获取4类监控数据就需要调用40次API
调高采集周期可以减少资源ID类型的API调用次数
采集周期
cloudmon默认每6分钟采集一次监控(一个周期内根据资源多少会调用不同云平台多次API) 可以通过以下命令更改采集周期
# 更改采集周期后会影响查看监控的时效性
$ climc service-config --config collect_metric_interval=12 cloudmon
忽略某个云平台监控拉取
cloudmon支持忽略某些云平台的监控拉取,但不支持忽略某一个云账号的监控拉取
# 云平台类型通过逗号隔开
$ climc service-config --config 'skip_metric_pull_providers=Aliyun,Azure' cloudmon
并发控制
默认一次会同时拉取10个账号的云监控数据, 若云账号过多可适当增加并发量
$ climc service-config --config cloud_account_collect_metrics_batch_count=15 cloudmon
默认每个账号一次性会拉取40个资源的监控, 可以通过以下命令控制资源并发数
# 此命令仅对根据资源ID采集监控生效
$ climc service-config --config cloud_resource_collect_metrics_batch_count=20 cloudmon
常用云平台使用监控API
阿里云(监控项类别)
飞天(监控项类别)
DescribeMetricList GetOrganizationTree
AWS(资源ID类别)
Azure(资源ID类别)
Metric List Metric Definitions Workspaces - Get Workspaces Query
说明
除Metric List接口外, 其他三个接口是为了获取虚拟机内存和磁盘使用率, 但是会额外产生费用,因此默认不采集 可以通过以下命令开启
$ climc service-config --config 'support_azure_table_storage_metric=true' cloudmon
品高云(资源ID类别)
GetMetricStatistics