

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

# 啟用 CloudWatch Logs
<a name="hub-log"></a>

 Hub SDK 提供完整的記錄功能。根據預設，Hub SDK 會將日誌寫入本機檔案系統。不過，您可以利用雲端 API 來設定日誌串流至 CloudWatch Logs，其提供：
+  **監控裝置效能**：擷取詳細的執行期日誌以進行主動式裝置管理。在整個裝置機群中啟用進階日誌分析和監控 
+  **故障診斷問題**：產生精細的日誌項目以進行快速診斷分析。記錄系統和應用程式層級事件以進行深入調查。
+  **彈性和集中式記錄**：遠端日誌管理，無需直接存取裝置。在單一可搜尋的儲存庫中彙總來自多個裝置的日誌。

## 先決條件
<a name="hub-prerequisites"></a>
+ 將受管裝置加入雲端。如需詳細資訊，請參閱 [Hub 加入設定](managedintegrations-sdk-v2-cookbook-hubsetup.md)。
+ 驗證 Hub 代理程式啟動和成功初始化。如需詳細資訊，請參閱 [安裝和驗證受管整合 Hub SDK](managedintegrations-sdk-v2-cookbook-deployment.md)。

**注意**  
若要建立記錄組態，請參閱 [PutRuntimeLogConfiguration API](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_PutRuntimeLogConfiguration.html) 以取得詳細資訊。

**警告**  
 啟用日誌會計入分層配額計量。增加日誌層級將產生更高的訊息量和額外的成本。

## 設定 Hub SDK 日誌組態
<a name="hub-configuration"></a>

呼叫 API 來設定執行時間日誌組態，以設定中樞 SDK 日誌設定。

**Example 範例 API 請求**  

```
aws iot-managed-integrations put-runtime-log-configuration \
    --managed-thing-id MANAGED_THING_ID \
    --runtime-log-configurations LogLevel=DEBUG,UploadLog=TRUE
```

### RuntimeLogConfigurations 屬性
<a name="hub-configuration-attributes"></a>

下列屬性是選用的，可以在 `RuntimeLogConfigurations` API 中設定。

**LogLevel**  
設定執行時間追蹤的最低嚴重性等級。數值: `DEBUG, ERROR, INFO, WARN`  
預設： `WARN` （發行的組建）

**LogFlushLevel**  
決定立即資料排清至本機儲存體的嚴重性等級。數值: `DEBUG, ERROR, INFO, WARN`  
預設：`DISABLED`

**LocalStoreLocation**  
指定執行時間追蹤的儲存位置。預設：`/var/log/awsiotmi`  
+ 作用中日誌： `/var/log/awsiotmi/ManagedIntegrationsDeviceSdkHub.log`
+ 輪換日誌：`/var/log/awsiotmi/ManagedIntegrationsDeviceSdkHub.N.log`(N 表示輪換順序）

**LocalStoreFileRotationMaxBytes**  
當目前的檔案超過指定大小時，觸發檔案輪換。  
為了獲得最佳效率，請將檔案大小保持在 125 KB 以下。超過 125 KB 的值將自動限制。

**LocalStoreFileRotationMaxFiles、**  
設定日誌協助程式允許的輪換檔案數目上限。

**UploadLog**  
控制執行時間追蹤轉移至雲端。日誌存放在 `/aws/iotmanagedintegration` CloudWatch Logs 群組中。  
預設：`false`。

**UploadPeriodMinutes**  
定義執行時間追蹤上傳的頻率。預設：`5`

**DeleteLocalStoreAfterUpload**  
控制上傳後的檔案刪除。預設：`true`  
如果設定為 false，上傳的檔案會重新命名為： `/var/log/awsiotmi/ManagedIntegrationsDeviceSdkHub.uploaded.{uploaded_timestamp}`

### 日誌檔案範例
<a name="hub-log-file"></a>

 請參閱以下 CloudWatch Logs 檔案的範例：

![UploadLog 的 cloudwatch 日誌範例](https://docs.aws.amazon.com/zh_tw/iot-mi/latest/devguide/images/iotmanagedintegrations-sdk-cloudwatch-log.png)
