十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

AWS CLI Autoscaling describe-metric-collection-types 命令详解:查询 Auto Scaling 组可用的 CloudWatch 指标采集类型

AWS CLI Autoscaling describe-metric-collection-types 命令详解:查询 Auto Scaling 组可用的 CloudWatch 指标采集类型 AWS CLI Autoscaling describe-metric-collection-types 命令详解查询 Auto Scaling 组可用的 CloudWatch 指标采集类型【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cliaws autoscaling describe-metric-collection-types是 AWS CLI 中用于查询 Amazon EC2 Auto Scaling 全部可用 CloudWatch 组级指标group metrics及其采集粒度granularity的命令。本指南围绕 AWS CLI 官方示例文档describe-metric-collection-types.rst展开完整解析命令输出中的每一项指标含义、粒度约束并结合仓库内 API 模型定义service-2.json与配套的 enable/disable 示例帮助读者在启用指标采集、排查监控缺失时做到心中有数。命令概览一条命令摸清 Auto Scaling 组可采集的全部指标describe-metric-collection-types是只读查询命令不需要任何参数调用后返回两个数组Metrics当前账户/区域中 Auto Scaling 组支持采集的组级指标名称列表Granularities指标聚合数据上报 CloudWatch 的粒度频率列表当前唯一合法值为1Minute每分钟。其命令行形式非常简洁详见 describe-metric-collection-types.rstaws autoscaling describe-metric-collection-types该命令通常在以下场景中使用在编写enable-metrics-collection脚本前先确认指标名称拼写是否合法排查为什么某个指标没有数据时确认该指标是否属于 Auto Scaling 组可采集的指标集合编写自动化监控初始化脚本时动态获取指标清单避免硬编码导致指标名过期。输出字段深度解析Metrics组级指标的完整清单示例文档给出的输出如下{ Metrics: [ { Metric: GroupMinSize }, { Metric: GroupMaxSize }, { Metric: GroupDesiredCapacity }, { Metric: GroupInServiceInstances }, { Metric: GroupInServiceCapacity }, { Metric: GroupPendingInstances }, { Metric: GroupPendingCapacity }, { Metric: GroupTerminatingInstances }, { Metric: GroupTerminatingCapacity }, { Metric: GroupStandbyInstances }, { Metric: GroupStandbyCapacity }, { Metric: GroupTotalInstances }, { Metric: GroupTotalCapacity } ], Granularities: [ { Granularity: 1Minute } ] }这些指标可分为两组语义实例数量类指标Instances描述 Auto Scaling 组生命周期各阶段的实际实例数指标名含义GroupMinSize组的最小容量min size 配置值GroupMaxSize组的最大容量max size 配置值GroupDesiredCapacity组的期望容量desired capacity 配置值GroupInServiceInstances处于InService状态的实例数GroupPendingInstances正在启动挂起进入服务状态的实例数GroupTerminatingInstances正在终止的实例数GroupStandbyInstances处于Standby备用状态的实例数GroupTotalInstances组内实例总数容量数量类指标Capacity以实例份额为单位描述组容量适合存在按比例分配容量如多个实例类型混合、备用容量的组指标名含义GroupInServiceCapacity处于InService状态的容量GroupPendingCapacity挂起启动中的容量GroupTerminatingCapacity正在终止的容量GroupStandbyCapacity处于Standby状态的容量GroupTotalCapacity组内总容量需要特别指出的是示例文档输出的 13 个指标并非当前模型定义中的完整集合。在仓库的 Auto Scaling API 模型 service-2.jsonMetricCollectionType结构中实际列出了20 个合法指标除上述 13 个外还包含 Warm Pool预热池相关指标指标名含义WarmPoolDesiredCapacity预热池的期望容量WarmPoolWarmedCapacity预热池中已预热实例的容量WarmPoolPendingCapacity预热池中挂起初始化中的容量WarmPoolTerminatingCapacity预热池中正在终止的容量WarmPoolTotalCapacity预热池总容量GroupAndWarmPoolDesiredCapacity组 预热池的期望容量总和GroupAndWarmPoolTotalCapacity组 预热池的总容量总和同一个合法指标列表同时被EnableMetricsCollectionQuery、DisableMetricsCollectionQuery和EnabledMetric三个模型结构复用见 service-2.json 与 service-2.json因此上述 20 个名称也是enable-metrics-collection、disable-metrics-collection命令--metrics参数的合法取值。示例文档生成的年代早于 Warm Pool 功能输出中未包含这些新指标属于正常现象在实际运行当前版本 CLI 时返回的Metrics列表应以线上服务返回为准。Granularities唯一合法的采集粒度Granularities数组仅有一个元素Granularities: [ { Granularity: 1Minute } ]模型定义 service-2.jsonMetricGranularityType明确说明当前唯一合法值是1Minute即 Auto Scaling 组每分钟向 CloudWatch 上报一次聚合数据。这一约束同样体现在EnableMetricsCollectionQuery的Granularity字段文档中service-2.json。因此启用指标采集时--granularity参数固定传1Minute即可无需自行猜测其他频率值。底层原理从 CLI 命令到 API 模型describe-metric-collection-types不是 CLI 客户端本地实现的逻辑而是对 Amazon EC2 Auto Scaling 服务端 API 的透传调用。在仓库的 botocore 服务模型中service-2.json该操作定义如下协议POST /AWS Query 协议请求体经表单编码无输入参数仅定义输出结构DescribeMetricCollectionTypesAnswer输出结构包含MetricsMetricCollectionTypes列表与GranularitiesMetricGranularityTypes列表两个成员service-2.json唯一可能返回的错误为ResourceContentionFault——当服务端因资源争用而暂时无法处理请求时抛出属于可重试的瞬时错误响应外层使用DescribeMetricCollectionTypesResult包装resultWrapper这也是 CLI 默认输出 JSON 中两个顶级键名Metrics、Granularities的直接来源。该操作在 AWS CLI 官方示例集 examples-1.json 中注册为autoscaling-describe-metric-collection-types-1其展示的 8 个Metrics输出与 .rst 文档同源可交叉验证命令与示例的一致性。由于模型中没有为该操作声明分页令牌无 NextToken一次调用即可获得完整清单无需循环翻页。实战联动查询之后如何启用与停用指标采集查询指标清单的最终目的是配合采集开关使用。仓库中提供了两个配套示例文档启用全部指标采集enable-metrics-collection.rstaws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --granularity 1Minute该命令不产生任何输出。按照模型定义service-2.json--auto-scaling-group-name与--granularity均为必填项当只指定Granularity而不指定--metrics时全部指标都会被启用。只采集指定指标aws autoscaling enable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity 1Minute--metrics可传多个指标名以空格分隔取值必须落在上文 20 个合法名称之内。停用指定指标disable-metrics-collection.rstaws autoscaling disable-metrics-collection \ --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity注意disable-metrics-collection仅--auto-scaling-group-name为必填若省略--metrics则停用该组全部指标采集见 service-2.json。日常运维中应谨慎使用省略--metrics的写法以免误关监控。常见疑问与使用建议为什么Metrics里没有实例级指标describe-metric-collection-types返回的是组级group-level指标。实例级指标如 CPUUtilization、NetworkIn由 EC2 实例的 CloudWatch 监控独立提供不在 Auto Scaling 组指标采集范畴内属于正常现象。1Minute粒度是否意味着实时每分钟上报的是聚合数据CloudWatch 控制台与GetMetricStatistics查询时存在一定的数据延迟窗口做告警阈值设计时应预留缓冲。输出中的指标顺序没有规律脚本解析时应按指标名匹配而不是依赖数组下标。示例输出与最新服务返回可能不一致示例文档是历史快照不含 Warm Pool 指标生产脚本应以命令实时输出为准可将其作为合法指标白名单动态校验--metrics参数避免拼写错误导致ValidationError。写自动化脚本时建议将本命令作为enable-metrics-collection的前置校验步骤先查询合法清单再构造--metrics参数从而在 Auto Scaling 服务增加新指标如 Warm Pool 指标时自动获得兼容性。至此从有哪些指标可采集到如何精确开关采集已形成完整的操作闭环describe-metric-collection-types负责提供权威清单enable-metrics-collection/disable-metrics-collection负责按清单实施三者共用同一套指标命名空间见 service-2.json 中MetricCollectionType、EnabledMetric等结构保证了命令间参数的一致性。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表