尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

使用 AWS CLI 查询 CloudWatch Metric Stream 配置:get-metric-stream 命令实战

使用 AWS CLI 查询 CloudWatch Metric Stream 配置:get-metric-stream 命令实战 使用 AWS CLI 查询 CloudWatch Metric Stream 配置get-metric-stream 命令实战【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cliaws cloudwatch get-metric-stream是 AWS CLI 中用于获取单个指标流Metric Stream完整配置信息的核心命令适用于审计、排障和自动化脚本中读取指标流的当前状态。本指南以仓库中的官方示例 get-metric-stream.rst 为骨架结合 service-2.json 中定义的 API 模型逐字段解读命令的输入参数与输出结构并串联put-metric-stream、list-metric-streams、start/stop-metric-streams、delete-metric-stream等配套命令帮助你完整掌握 CloudWatch Metric Stream 生命周期管理。什么是 CloudWatch Metric StreamCloudWatch Metric Stream 是一种持续、近乎实时地将 CloudWatch 指标数据传输到目标端点的机制。它会把指标数据推送到 Amazon Kinesis Data Firehose 投递流再由 Firehose 将数据写入 S3、OpenSearch 等目的地供下游监控与分析系统消费。与通过GetMetricData轮询拉取不同指标流采用推模式指标一旦产生即可被流式转发。每个指标流在创建时都需要绑定FirehoseArn接收指标数据的 Kinesis Data Firehose 投递流 ARNRoleArnCloudWatch 用于向 Firehose 写入数据所扮演的 IAM 角色 ARNOutputFormat输出格式支持json、opentelemetry0.7、opentelemetry1.0可选的 IncludeFilters / ExcludeFilters按命名空间和指标名精确控制哪些指标被流转发。在 AWS CLI 仓库中指标流相关的全部命令示例集中在 awscli/examples/cloudwatch/ 目录get-metric-stream正是其中负责读配置的一环。get-metric-stream 命令用法基本语法与参数按官方示例 get-metric-stream.rst查询指标流信息的命令如下aws cloudwatch get-metric-stream \ --name QuickFull-GuaFbs该命令只有一个必需参数参数必填说明--name是要查询的指标流名称字符串长度为 1 至 255 个字符在底层 API 模型中GetMetricStreamInput结构见 service-2.json将Name标记为唯一required成员形状为MetricStreamName最大长度 255、最小长度 1。也就是说CLI 侧除--name外没有任何可选参数这是一个轻量、幂等的只读查询操作。完整输出示例执行上述命令后返回的 JSON 输出如下取自仓库官方示例{ Arn: arn:aws:cloudwatch:us-east-1:123456789012:metric-stream/QuickFull-GuaFbs, Name: QuickFull-GuaFbs, FirehoseArn: arn:aws:firehose:us-east-1:123456789012:deliverystream/MetricStreams-QuickFull-GuaFbs-WnySbECG, RoleArn: arn:aws:iam::123456789012:role/service-role/MetricStreams-FirehosePutRecords-JN10W9B3, State: running, CreationDate: 2024-10-11T18:48:59.18700000:00, LastUpdateDate: 2024-10-11T18:48:59.18700000:00, OutputFormat: json, IncludeLinkedAccountsMetrics: false }输出字段逐一解读GetMetricStreamOutput结构在 service-2.json 中定义了完整字段结合示例输出可做如下解读字段类型含义Arn字符串指标流的 Amazon 资源名称ARN形如arn:aws:cloudwatch:region:account:metric-stream/nameName字符串指标流名称即查询时传入的--name值FirehoseArn字符串接收该指标流数据的 Kinesis Data Firehose 投递流 ARNRoleArn字符串CloudWatch 向 Firehose 写入数据所使用的 IAM 角色 ARNState字符串指标流状态可能值为running运行中与stopped已停止CreationDate时间戳指标流的创建时间LastUpdateDate时间戳指标流配置最近一次更新的时间OutputFormat字符串输出格式有效值为json、opentelemetry0.7、opentelemetry1.0IncludeLinkedAccountsMetrics布尔若为true且该指标流位于监控账户monitoring account则流中包含监控账户所关联源账户的指标IncludeFilters数组存在时表示仅这些命名空间/指标被流式传输白名单语义ExcludeFilters数组存在时表示仅这些命名空间/指标不被流式传输其余账户内指标全部转发黑名单语义StatisticsConfigurations数组描述哪些指标额外携带附加统计量additional statistics的配置其中OutputFormat的枚举值在 service-2.json 的MetricStreamOutputFormat形状中定义共三个合法取值json、opentelemetry0.7、opentelemetry1.0后两者对应 OpenTelemetry 协议的不同版本便于直接对接 OTLP 生态的采集器与分析平台。输出中未展示字段的触发条件官方示例输出之所以没有IncludeFilters、ExcludeFilters与StatisticsConfigurations字段是因为该示例指标流创建时未使用过滤器和附加统计配置见 put-metric-stream.rst 中仅设置--name、--firehose-arn、--role-arn、--output-format json和--no-include-linked-accounts-metrics。如果指标流配置了这些项get-metric-stream会如实返回它们。以过滤器为例MetricStreamFilter结构见 service-2.json包含两个成员Namespace指标命名空间仅可含 ASCII 可打印字符32 至 126且至少包含一个非空白字符MetricNames要包含或排除的具体指标名列表省略时表示整个命名空间全部包含/排除每个指标名同样只允许 ASCII 可打印字符且含至少一个非空白字符。同时模型明确指出一个指标流的过滤器总计最多允许 1000 个名称命名空间名与指标名之和例如可以是 10 个命名空间过滤器各带 99 个指标或 20 个命名空间过滤器各带 49 个指标。这一配额在通过get-metric-stream核对配置规模时值得注意。结合输出字段判断指标流健康状态get-metric-stream最典型的运维用途就是确认指标流是否在正常运行检查Staterunning表示指标流正在流转数据stopped表示已被停止可通过start-metric-streams恢复。核对FirehoseArn与RoleArn确认投递流和 IAM 角色是否仍指向预期资源若 Firehose 或角色被误删、权限被修改即使State为running数据投递也可能失败。比对CreationDate与LastUpdateDate两者不一致说明配置曾发生过变更可用于追溯何时被改过。确认OutputFormat下游消费端如解析 json 或 OpenTelemetry 格式的工具必须与流的输出格式匹配。与 Metric Stream 生命周期命令的配合使用get-metric-stream是查询单条配置的入口实际工作中通常与仓库中其他示例命令配合完成完整生命周期管理阶段命令仓库示例要点创建put-metric-streamput-metric-stream.rst指定--name、--firehose-arn、--role-arn、--output-format返回新流的Arn列表list-metric-streamslist-metric-streams.rst列出账户内全部指标流的概要条目Arn、Name、State、OutputFormat 等查询单条get-metric-streamget-metric-stream.rst返回指定指标流的完整配置细节本篇文章主题启动start-metric-streamsstart-metric-streams.rst通过--names可传多个启动已停止的指标流无输出停止stop-metric-streamsstop-metric-streams.rst通过--names停止指标流无输出删除delete-metric-streamdelete-metric-stream.rst通过--name删除指定指标流无输出一个典型的自动化巡检脚本流程是先用list-metric-streams拿到全部指标流名称再对每条调用get-metric-stream检查State是否全部为running若发现stopped的流且确认应恢复则用start-metric-streams重新拉起。这样既覆盖了全量又保留了单条配置的完整细节。常见错误与排障思路GetMetricStream操作在 service-2.json 中声明了五类可能的错误响应据此可快速定位问题ResourceNotFoundException指定的指标流名称不存在可能已被delete-metric-stream删除或名称拼写有误、所在区域不对。核对--name与实际资源并可用list-metric-streams确认现有流的准确名称。InvalidParameterValueException--name参数取值非法例如超过 255 字符或为空。回顾上文约束名称长度 1 至 255。MissingRequiredParameterException遗漏了必填的Name参数。InvalidParameterCombinationException参数组合不合法。由于get-metric-stream仅有单一参数此错误通常在底层调用异常时出现。InternalServiceFault服务端内部错误属临时性故障可稍后重试。权限方面调用该命令需要具备相应的cloudwatch:GetMetricStream权限若 IAM 策略缺失会收到权限拒绝错误此时应检查执行者身份用户/角色的策略配置。从源码模型看 CLI 与 API 的对应关系作为 AWS CLI 的官方数据模型GetMetricStream操作在 service-2.json 中定义为一个POST到根路径的查询协议操作输入形状为GetMetricStreamInput、输出形状为GetMetricStreamOutput。CLI 层aws cloudwatch get-metric-stream命令完全由该模型驱动生成--name直接映射到GetMetricStreamInput.Name返回的 JSON 字段则对应GetMetricStreamOutput中的各成员。这意味着文档中出现的每个字段名都可以在该模型的GetMetricStreamOutput定义处找到精确的类型与描述如State的可能值为running/stopped当你需要以编程方式如 Python boto3实现等价查询时只需调用cloudwatch.get_metric_stream(Name...)即可获得与 CLI 输出结构一致的结果该模型文件是仓库中单一事实来源任何字段语义的疑问都应以此为准。小结aws cloudwatch get-metric-stream是查看单个 CloudWatch 指标流配置最直接的工具一条命令、一个--name参数即可拿到流的 ARN、Firehose 目标、IAM 角色、运行状态、输出格式、过滤器与附加统计等全部配置。配合put-metric-stream、list-metric-streams、start/stop-metric-streams与delete-metric-stream即可完整覆盖指标流创建—查询—启停—删除的整个生命周期。在 service-2.json 中核对字段定义可以确保你对每个返回值的语义与约束都理解准确。【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表