

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 對監控和警示問題進行故障診斷
<a name="monitoring-issues"></a>

本節提供有關對 的監控和警示問題進行故障診斷的資訊 AWS Transfer Family，包括遺失或不完整的 CloudWatch 指標和遺失的 EventBridge 事件。

**Topics**
+ [對遺失或不完整的 CloudWatch 指標進行故障診斷](#missing-cloudwatch-metrics)
+ [故障診斷遺失的 EventBridge 事件](#eventbridge-event-issues)

## 對遺失或不完整的 CloudWatch 指標進行故障診斷
<a name="missing-cloudwatch-metrics"></a>

**Description**

Transfer Family 伺服器的 CloudWatch 指標遺失、不完整或未如預期更新。

**原因**

遺漏或不完整的指標可能由幾個因素造成：
+ 記錄組態問題
+ 未在預期時間範圍內產生指標的低活動層級
+ 檢視維度或時間範圍不正確的指標

**解決方案**

**若要解決 CloudWatch 指標遺失或不完整的問題：**

1. 確定已為您的 Transfer Familyserver 正確設定記錄：
   + 在 Transfer Family 主控台中，檢查是否已在**伺服器詳細資訊 > 其他詳細資訊 > 記錄角色下啟用記錄**。
   + 記錄角色非常具有必要的許可和信任關係。

1. 在 CloudWatch 主控台中檢視指標時：
   + 使用正確的維度，例如伺服器層級指標的 **ServerId** 
   + 調整時間範圍以確保涵蓋活動期間
   + 檢查您是否位於正確的 AWS 區域

1. 在 Transfer Family 伺服器上產生測試活動，以確保產生指標。

## 故障診斷遺失的 EventBridge 事件
<a name="eventbridge-event-issues"></a>

**Description**

您已設定 Amazon EventBridge 規則來擷取 Transfer Family 事件，但事件未交付至目標目的地或觸發預期的動作。

**原因**

遺失 EventBridge 事件的原因可能是：
+ 設定不正確的事件模式
+ 事件目標的許可問題
+ 服務限制或限流
+ 事件因伺服器組態而未產生

**解決方案**

若要對遺失的 EventBridge 事件進行故障診斷：

1. 確認您的事件模式格式正確，以符合 Transfer Family 事件：

   ```
   {
     "source": ["aws.transfer"],
     "detail-type": ["Transfer State Change"],
     "detail": {
       "serverId": ["s-1234567890abcdef0"]
     }
   }
   ```

1. 檢查您的事件目標是否具有必要的許可：
   + 對於 Lambda 目標，確保 Lambda 函數的資源政策允許 EventBridge 調用它
   + 對於 SQS 目標，確認佇列政策允許 EventBridge 傳送訊息
   + 對於 SNS 目標，確認主題政策允許 EventBridge 發佈至該目標

1. 透過產生範例事件來測試您的規則：
   + 使用 EventBridge 主控台建立符合您模式的測試事件
   + 在應產生事件的 Transfer Family 伺服器上執行動作

1. 啟用 EventBridge 規則指標來監控規則叫用和失敗：

   ```
   aws events put-rule --name "TransferStateChangeRule" --event-pattern '{...}' --state ENABLED --metrics-enabled
   ```

1. 檢查 CloudWatch Logs 是否有任何與事件交付失敗相關的錯誤訊息