本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
排除遥测故障
使用以下信息对遥测的常见问题进行故障排除。
常见的设置问题
IAM 权限错误
症状
当调用 CreateConfig create a 时 TelemetrySinkConfig,你会收到一个错误:
Unable to write to Kinesis Data Streams stream. Ensure that Ground Station has kinesis:PutRecord permissions for the given stream
原因
-
中指定的 IAM 角色 TelemetrySinkConfig 没有写入 Kinesis 数据流所需的权限。
-
IAM 角色的信任政策不 AWS Ground Station 允许代入该角色。
-
中的 Kinesis 数据流 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 数据流是否存在且 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::123456789012:role/your-stream-name" } ] }
Kinesis 数据流配置问题
症状
遥测传输失败或是间歇性的。
原因
-
Kinesis 数据流的容量不足以满足遥测吞吐量。
-
该流正被其他应用程序使用,导致写入限制。
解决方案
-
检查直播状态:
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 数据流中不会显示遥测数据。
可能的原因和解决方案
- 任务配置文件未启用遥测
-
验证用于联系人的任务配置文件包括
telemetrySinkConfigArn:aws groundstation get-mission-profile \ --mission-profile-id12345678-1234-1234-1234-123456789012\ --regionus-east-2检查该
telemetrySinkConfigArn字段的输出。如果不存在,则任务配置文件未启用遥测。 - IAM 角色权限问题
-
查看中的 IAM 权限故障排除步骤IAM 权限错误。
- Kinesis 数据流不存在或位于错误的区域
-
验证直播是否存在于正确的区域:
aws kinesis describe-stream \ --stream-nameyour-stream-name\ --regionus-east-2 - 联系尚未开始
-
遥测交付从接触开始时开始。通过检查联系人状态来验证联系人是否已开始:
aws groundstation describe-contact \ --contact-id12345678-1234-1234-1234-123456789012\ --regionus-east-2 - 预定在数字双胞胎地面站上进行联系
-
数字双胞胎地面站不支持遥测传输。在数字双天线上安排的联系不会生成遥测数据。通过检查地面站名称,确认联系人使用的地面站不是数字双胞胎。数字双胞胎地面站的名称中有 “数字双胞胎” 前缀。有关更多信息,请参阅 使用AWS Ground Station数字双胞胎功能。
间歇性遥测数据
症状
遥测数据的传输不一致,存在差距或缺少记录。
可能的原因
-
Kinesis 数据流流容量问题或限制。请参阅Kinesis 数据流配置问题。
-
与您的 Kinesis 数据流 AWS Ground Station 之间的网络连接问题。
解决方案
-
监控 Kinesis 数据流的流式传输 CloudWatch 指标是否存在节流或错误。
-
确保您的直播使用按需容量模式或有足够的预置容量。
-
使用专用的数据流进行 AWS Ground Station 遥测,以避免与其他应用程序争用。
数据格式问题
JSON 解析错误
症状
您的应用程序在将遥测记录解析为 JSON 时遇到错误。
解决方案
-
验证 Base64 解码 -Kinesis 数据流流中的数据是。 Base64-encoded确保在将数据解析为 JSON 之前对其进行解码。有关更多信息,请参阅 从 Kinesis 数据流中读取数据。
-
检查是否有空记录 -创建时 AWS Ground Station 可能会发送空的验证记录TelemetrySinkConfig。您的应用程序应正常处理空白或格式错误的记录。
-
实现版本感知解析 -首先解析
telemetryTypeAndVersion、和telemetryVersion字段telemetryType,以确定每条记录的相应架构。
未知的遥测类型或版本
症状
您的应用程序会遇到它无法识别的遥测类型或版本。
解决方案
这是预期的行为,因为随着时间的推移可能会引入新的遥测类型和架构版本。您的应用程序应该:
-
记录未知类型和版本以进行监控。
-
继续处理已知类型和版本。
-
对未知架构实现优雅处理。
有关架构版本控制的更多信息,请参阅架构版本控制和演变。
获取帮助
如果您在完成故障排除步骤后仍然遇到问题,请联系 AWS 支持部门。
要提供的信息
联系支持人员时,请提供以下信息:
-
联系人 ID 遇到问题
-
使用的任务配置文件 ID
-
TelemetrySinkConfig ARN
-
Kinesis 数据流直播 ARN
-
IAM 角色 ARN 和附加的策略
-
来自 CloudWatch 日志或应用程序的错误消息
-
问题发生的时间戳
-
已经采取了故障排除步骤
有关一般 AWS Ground Station 支持,请参阅《AWS Ground Station 用户指南》。