本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對遙測進行故障診斷
使用下列資訊來疑難排解遙測的常見問題。
常見的設定問題
IAM 許可錯誤
徵狀
呼叫 CreateConfig 建立 TelemetrySinkConfig 時,您會收到錯誤:
Unable to write to Kinesis Data Streams stream. Ensure that Ground Station has kinesis:PutRecord permissions for the given stream
原因
-
TelemetrySinkConfig 中指定的 IAM 角色沒有寫入 Kinesis Data Streams 串流所需的許可。
-
IAM 角色上的信任政策不允許 AWS Ground Station 擔任該角色。
-
TelemetrySinkConfig 中的 Kinesis Data Streams 串流 ARN 不正確或串流不存在。
解決方案
-
確認 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 角色具有 AWS KMS 金鑰的
kms:GenerateDataKey許可。
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 串流組態問題。
-
AWS Ground Station 與 Kinesis Data Streams 串流之間的網路連線問題。
解決方案
-
在 CloudWatch 中監控 Kinesis Data Streams 串流指標是否有限流或錯誤。
-
確保您的串流使用隨需容量模式或有足夠的佈建容量。
-
使用專用串流進行 AWS Ground Station 遙測,以避免與其他應用程式爭用。
資料格式問題
JSON 剖析錯誤
徵狀
您的應用程式在剖析遙測記錄為 JSON 時發生錯誤。
解決方案
-
驗證 Base64 解碼 - Kinesis Data Streams 串流中的資料是 Base64-encoded。務必先解碼資料,再將其剖析為 JSON。如需詳細資訊,請參閱從 Kinesis Data Streams 串流讀取資料。
-
檢查空白記錄 - 建立 TelemetrySinkConfig 時 AWS Ground Station 可傳送空白驗證記錄。您的應用程式應正常處理空白或格式不正確的記錄。
-
實作版本感知剖析 - 首先剖析
telemetryTypeAndVersion、telemetryType和telemetryVersion欄位,以判斷每個記錄的適當結構描述。
未知遙測類型或版本
徵狀
您的應用程式遇到遙測類型或無法辨識的版本。
解決方案
這是預期的行為,因為新的遙測類型和結構描述版本可能會隨著時間推移而引入。您的應用程式應該:
-
記錄未知類型和版本以進行監控。
-
繼續處理已知類型和版本。
-
針對未知結構描述實作優雅處理。
如需結構描述版本控制的詳細資訊,請參閱 結構描述版本控制和演變。
取得說明
如果您在遵循疑難排解步驟之後持續遇到問題,請聯絡 AWS Support。
要提供的資訊
聯絡支援時,請提供下列資訊:
-
遇到問題的聯絡人 IDs
-
使用的任務設定檔 ID
-
TelemetrySinkConfig ARN
-
Kinesis Data Streams 串流 ARN
-
IAM 角色 ARN 和連接的政策
-
CloudWatch Logs 或您的應用程式的錯誤訊息
-
發生問題時的時間戳記
-
已採取的故障診斷步驟
如需一般 AWS Ground Station 支援,請參閱AWS Ground Station 《 使用者指南》。