Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
如何為 AWS IoT Core 設定預設日誌記錄設定?
我想要在 AWS IoT Core 中為 AWS IoT 日誌設定預設記錄設定,以便降低成本和資料流量。
簡短說明
**注意:**本文僅涉及 AWS IoT Core 日誌的 V2 版本。
最佳實務是將 AWS IoT Core 的預設日誌記錄設定為低詳盡度層級,並將資源特定日誌記錄設定為較高的詳盡度層級。日誌詳盡度層級包括 DISABLED (停用) (最低)、ERROR (錯誤)、WARN (警告)、INFO (資訊) 和 DEBUG (偵錯) (最高)。
**重要事項:**根據您的 AWS IoT Core 機群大小,啟用較為詳盡的日誌層級可能會產生高成本,並使疑難排解變得更加困難。啟用較為詳盡的日誌層級也會產生較高的資料流量。進行疑難排解時,最佳實務是僅使用 INFO 和 DEBUG 作為臨時措施。疑難排解完成後,請將日誌記錄層級重設為略不詳盡的設定。
解決方法
先決條件
確認您已在本機安裝 AWS Command Line Interface (AWS CLI),並具備 IoT 管理員權限憑證。AWS CLI 的預設 AWS 區域必須指向目標 AWS 區域。您必須讓用戶端連線到您的 AWS IoT Core 端點並與其互動,無論是已註冊或未註冊的 IoT 物件。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤訊息,請確認您使用的是最新版本的 AWS CLI。
設定預設日誌記錄層級
將 AWS IoT 日誌的預設日誌記錄層級設定為 ERROR 或 WARN,您可以在發生日誌錯誤或警告時檢閱日誌錯誤或警告。
**注意:**如果您聯絡 AWS Support 以尋求協助,您必須提供 AWS IoT Core 日誌供他們進行疑難排解。此資訊視為客戶資料,且 AWS Support 無法存取。
- 執行list-v2-logging-levels AWS CLI 命令,以尋找目前套用的日誌記錄層級組態:
aws iot list-v2-logging-levels
如果因爲未設定日誌記錄層級導致未設定 AWS IoT 日誌,您會收到「NotConfiguredException」錯誤訊息。
如果已設定 AWS IoT Core 日誌但已關閉,則您會收到類似於下列內容的輸出:
{ "logTargetConfigurations": [ { "logTarget": { "targetType": "DEFAULT" }, "logLevel": "DISABLED" } ] }
2. 執行下列命令以確認目前為 AWS IoT Core 日誌設定的 AWS Identity and Access Management (AWS IAM) 角色:
aws iot get-v2-logging-options
如果已設定 IAM 角色,您會收到類似於下列內容的輸出:
{ "roleArn": "arn:aws:iam::123456789012:role/service-role/iot-log-role", "defaultLogLevel": "DISABLED", "disableAllLogs": false }
**注意:**如果未設定 IAM 角色,則 AWS IoT Core 無法將日誌傳送到 Amazon CloudWatch,因為您無法使用此功能。
3. 將 AWS IoT Core 預設日誌記錄設定為其中一個略不詳盡的日誌記錄層級,例如 ERROR 或 WARN。這可以使用 AWS IoT 主控台或 AWS CLI 來完成:
**注意:**如果您正在疑難排解問題,但沒有特定的用戶端屬性,則可以暫時將預設日誌記錄層級設定為 DEBUG。將層級設定為 DEBUG 會產生顯著的成本和資料流量,具體取決於機群大小和花費在此層級的持續時間。
AWS IoT 主控台
- 登入 AWS IoT 主控台。**注意:**請確認選擇您要設定的 AWS 區域。
2. 在瀏覽窗格中,選擇設定。
-
在日誌下,選擇管理日誌。
-
在日誌角色,選擇建立角色。輸入該角色的名稱,然後選擇建立。
-
在日誌層級下,選擇其中一個略不詳盡的日誌記錄層級 (ERROR 或 WARN)。
-
選擇更新。
-
在瀏覽窗格中,選擇角色。
-
輸入您在搜尋方塊中建立的日誌角色名稱,然後選取該角色。
-
在摘要下,記下該日誌角色的 ARN。這看起來類似於 arn:aws:iam::123456789012:role/service-role/iot-log-role。
AWS CLI
-
建立 IAM 角色,且該 IAM 角色具備特定 IAM 政策,以用於 AWS IoT Core 日誌服務。
-
執行下列命令,將預設日誌記錄層級設定為 WARN:
aws iot set-v2-logging-options \ --role-arn arn:aws:iam::123456789012:role/service-role/iot-log-role \ --default-log-level WARN
注意:在此範例中,以您建立的 IAM 角色 ARN 取代--role-arn。以您想要設定為預設層級的日誌記錄層級取代 WARN。
- 執行下列命令,以確認該變更反映在您的日誌記錄層級中:
aws iot list-v2-logging levels
該輸出看起來類似於下列訊息:
{ "logTargetConfigurations": [ { "logTarget": { "targetType": "DEFAULT" }, "logLevel": "WARN" } ] }
- 執行下列命令,以確認該變更反映在您的日誌記錄選項中:
aws iot list-v2-logging-options
該輸出看起來類似於下列訊息:
{ "roleArn": "arn:aws:iam::123456789012:role/service-role/iot-log-role", "defaultLogLevel": "WARN", "disableAllLogs": false }
監控產生的記錄
最佳實務是監控 IoT 日誌中的問題。您可以使用 Amazon CloudWatch Logs 主控台或 AWS CLI 來監控您的 AWS IoT Core 日誌。如需詳細資訊,請參閱如何在 AWS IoT Core 中最有效管理 AWS IoT 日誌的日誌記錄層級?的「監控日誌項目」一節
相關資訊

相關內容
- 已提問 7 個月前lg...
- 已提問 7 個月前lg...
- AWS 官方已更新 2 年前