View a markdown version of this page

对遥测进行故障排除 - AWS Ground Station

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对遥测进行故障排除

使用以下信息对遥测的常见问题进行故障排除。

常见的设置问题

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

解决方案

  1. 验证 IAM 角色存在且权限正确。检查步骤 2:创建一个 TelemetrySinkConfig并确保所有步骤都已执行。

  2. 检查是否 AWS Ground Station 可以代入你的 IAM 角色:

    aws iam get-role --role-name GroundStationTelemetryRole

    验证信任策略是否包含groundstation.amazonaws.com为可信服务主体。

  3. 验证 IAM 角色是否具有所需的 Kinesis 权限:

    aws iam list-attached-role-policies --role-name GroundStationTelemetryRole

    确保策略包含直播的kinesis:DescribeStreamkinesis:PutRecord、和kinesis:PutRecords权限。

  4. 验证 Kinesis Data Streams 流是否存在以及 ARN 是否正确:

    aws kinesis describe-stream \ --stream-name your-stream-name \ --region us-east-2
  5. 如果使用客户管理的加密,请验证 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 流的容量不足以实现遥测吞吐量。

  • 该流正被其他应用程序使用,导致写入限制。

解决方案

  1. 检查直播状态:

    aws kinesis describe-stream \ --stream-name your-stream-name \ --region us-east-2
  2. 使用 CloudWatch 指标监控写入限制:

    aws cloudwatch get-metric-statistics \ --namespace AWS/Kinesis \ --metric-name WriteProvisionedThroughputExceeded \ --dimensions Name=StreamName,Value=your-stream-name \ --start-time 2025-12-08T00:00:00Z \ --end-time 2025-12-08T23:59:59Z \ --period 60 \ --statistics Sum \ --region us-east-2
  3. 如果检测到限制,请考虑:

    • 切换到按需容量模式进行自动扩展。

    • 使用专用流进行 AWS Ground Station 遥测。

    • 如果使用预配置模式,请增加分片的数量。

遥测交付问题

未显示遥测数据

症状

使用支持遥测的任务配置文件安排联系后,您的 Kinesis Data Streams 流中不会显示任何遥测数据。

可能的原因和解决方案

任务配置文件未启用遥测功能

验证用于联系人的任务配置文件包括telemetrySinkConfigArn

aws groundstation get-mission-profile \ --mission-profile-id 12345678-1234-1234-1234-123456789012 \ --region us-east-2

检查该telemetrySinkConfigArn字段的输出。如果不存在,则任务配置文件未启用遥测功能。

IAM 角色权限问题

查看中的 IAM 权限疑难解答步骤IAM 权限错误

Kinesis Data Streams 直播不存在或者位于错误的区域

验证直播是否存在于正确的区域:

aws kinesis describe-stream \ --stream-name your-stream-name \ --region us-east-2
联系尚未开始

遥测交付从接触开始时开始。通过检查联系人状态来验证联系人是否已启动:

aws groundstation describe-contact \ --contact-id 12345678-1234-1234-1234-123456789012 \ --region us-east-2

间歇性遥测数据

症状

遥测数据的交付不一致,但存在缺口或缺失记录。

可能的原因

解决方案

  • 监控 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 用户指南》