监控拉取服务(cloudmon)

介绍监控拉取服务的原理和功能

cloudmon服务可以认为是一个cronjob周期任务,通过API调用方式采集各个云平台的监控数据, 并存储到influxdb数据库中, 以供monitor服务查询

采集类型

采集一般分为两类, 根据资源ID获取监控根据监控项获取类型

资源ID类型

此类采集监控数据,每次API调用都需要传入资源Id, 甚至还需要传入监控项,因此会消耗大量API调用 假设有100个资源要获取4类监控数据就需要调用100次甚至400次API

监控项类型

此类采集监控数据,每次API调用仅需要传入监控项即可返回多个资源的监控数据,因此 假设有100个资源要获取4类监控数据,最低仅需要调用4次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

飞天(监控项类别)

DescribeMetricList GetOrganizationTree

AWS(资源ID类别)

GetMetricStatistics

Azure(资源ID类别)

Metric List Metric Definitions Workspaces - Get Workspaces Query

品高云(资源ID类别)

GetMetricStatistics

Esxi(监控项类别)

PerfQuerySpec

Google(监控项类别)

Metrics

华为云(资源ID类别)

batch-query-metric-data

腾讯云

DescribeStatisticData GetMonitorData