本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对遥测进行故障排除
使用以下信息对遥测的常见问题进行故障排除。
常见的设置问题
IAM 权限错误
症状
在调CreateConfig用创建时 TelemetrySinkConfig,您会收到一条错误消息:
Unable to write to Kinesis Data Streams stream. Ensure that Ground Station has kinesis:PutRecord permissions for the given stream
原因
-
中指定的 IAM 角色 TelemetrySinkConfig 没有写入 Kinesis Data Streams 流所需的权限。
-
IAM 角色的信任策略不 AWS Ground Station 允许代入该角色。
-
中的 Kinesis Data Streams 流 ARN 不正确或者该直播不存在。 TelemetrySinkConfig
解决方案
-
验证 IAM 角色存在且权限正确。检查步骤 2:创建一个 TelemetrySinkConfig并确保所有步骤都已执行。
-
检查是否 AWS Ground Station 可以代入你的 IAM 角色:
aws iam get-role --role-name GroundStationTelemetryRole验证信任策略是否包含
groundstation.amazonaws.com为可信服务主体。 -
验证 IAM 角色是否具有所需的 Kinesis 权限:
aws iam list-attached-role-policies --role-name GroundStationTelemetryRole确保策略包含直播的
kinesis:DescribeStreamkinesis:PutRecord、和kinesis:PutRecords权限。 -
验证 Kinesis Data Streams 流是否存在以及 ARN 是否正确:
aws kinesis describe-stream \ --stream-nameyour-stream-name\ --regionus-east-2 -
如果使用客户管理的加密,请验证 IAM 角色是否
kms:GenerateDataKey有权访问您的 AWS KMS 密钥。
PassRole 权限错误
症状
调用时CreateConfig,您会收到一条关于无权传递 IAM 角色的错误。
解决方案
确保您的 IAM 用户或角色拥有遥测 IAM 角色的iam:PassRole权限。向您的用户或角色添加以下策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::99999999999:role/your-stream-name" } ] }
Kinesis Data Streams 直播配置问题
症状
遥测传送失败或是间歇性的。
原因
-
Kinesis Data Streams 流的容量不足以实现遥测吞吐量。
-
该流正被其他应用程序使用,导致写入限制。
解决方案
-
检查直播状态:
aws kinesis describe-stream \ --stream-nameyour-stream-name\ --regionus-east-2 -
使用 CloudWatch 指标监控写入限制:
aws cloudwatch get-metric-statistics \ --namespace AWS/Kinesis \ --metric-name WriteProvisionedThroughputExceeded \ --dimensions Name=StreamName,Value=your-stream-name\ --start-time2025-12-08T00:00:00Z\ --end-time2025-12-08T23:59:59Z\ --period 60 \ --statistics Sum \ --regionus-east-2 -
如果检测到限制,请考虑:
-
切换到按需容量模式进行自动扩展。
-
使用专用流进行 AWS Ground Station 遥测。
-
如果使用预配置模式,请增加分片的数量。
-
遥测交付问题
未显示遥测数据
症状
使用支持遥测的任务配置文件安排联系后,您的 Kinesis Data Streams 流中不会显示任何遥测数据。
可能的原因和解决方案
- 任务配置文件未启用遥测功能
-
验证用于联系人的任务配置文件包括
telemetrySinkConfigArn:aws groundstation get-mission-profile \ --mission-profile-id12345678-1234-1234-1234-123456789012\ --regionus-east-2检查该
telemetrySinkConfigArn字段的输出。如果不存在,则任务配置文件未启用遥测功能。 - IAM 角色权限问题
-
查看中的 IAM 权限疑难解答步骤IAM 权限错误。
- Kinesis Data Streams 直播不存在或者位于错误的区域
-
验证直播是否存在于正确的区域:
aws kinesis describe-stream \ --stream-nameyour-stream-name\ --regionus-east-2 - 联系尚未开始
-
遥测交付从接触开始时开始。通过检查联系人状态来验证联系人是否已启动:
aws groundstation describe-contact \ --contact-id12345678-1234-1234-1234-123456789012\ --regionus-east-2
间歇性遥测数据
症状
遥测数据的交付不一致,但存在缺口或缺失记录。
可能的原因
-
Kinesis Data Streams 流媒体容量问题或限制。请参阅Kinesis Data Streams 直播配置问题。
-
与您的 Kinesis Data Streams 流之间的 AWS Ground Station 网络连接问题。
解决方案
-
监控 Kinesis Data Streams 流式传输指标 CloudWatch 是否存在限制或错误。
-
确保您的直播使用按需容量模式或具有足够的预配置容量。
-
使用专用流进行 AWS Ground Station 遥测,以避免与其他应用程序争用。
数据格式问题
JSON 解析错误
症状
您的应用程序在将遥测记录解析为 JSON 时遇到错误。
解决方案
-
验证 Base64 解码 ——Kinesis Data Streams 流中的数据经过了 Base64 编码。在将数据解析为 JSON 之前,请务必对其进行解码。有关更多信息,请参阅 从 Kinesis Data Streams 流中读取数据。
-
检查是否有空记录-在创建时 AWS Ground Station 可能会发送空的验证记录TelemetrySinkConfig。您的应用程序应优雅地处理空记录或格式错误的记录。
-
实现版本感知解析-首先解析
telemetryTypeAndVersion、和telemetryVersion字段telemetryType,以确定每条记录的相应架构。
未知的遥测类型或版本
症状
您的应用程序遇到无法识别的遥测类型或版本。
解决方案
这是预期的行为,因为随着时间的推移,可能会引入新的遥测类型和架构版本。您的应用程序应该:
-
记录未知类型和版本以进行监控。
-
继续处理已知类型和版本。
-
实现对未知架构的优雅处理。
有关架构版本控制的更多信息,请参阅架构版本控制和演进。
获取帮助
如果您在执行故障排除步骤后仍然遇到问题,请联系 Su AWS pport。
要提供的信息
联系支持人员时,请提供以下信息:
-
联系人 IDs 遇到问题
-
使用的任务配置文件 ID
-
TelemetrySinkConfig ARN
-
Kinesis Data Streams 直播 ARN
-
IAM 角色 ARN 和附加的策略
-
来自 CloudWatch 日志或您的应用程序的错误消息
-
问题发生的时间戳
-
已采取故障排除步骤
有关一般 AWS Ground Station 支持,请参阅《AWS Ground Station 用户指南》。