如何在 AWS IoT Core 中管理 AWS IoT 日誌的日誌層級?

2 分的閱讀內容
0

在 AWS IoT Core 中設定 AWS IoT 日誌時,我想遵循最佳做法,以降低成本和資料流量。

簡短描述

**注意:**下列解決方法僅適用於 AWS IoT Core 日誌 v2。

作為最佳做法,瞭解您必須監控哪些 AWS IoT Core 資源,以及在哪個層級監控。分割您的 AWS IoT Core 資源,然後為每個區段指定合適的日誌層級。您可以為資源設定預設日誌層級或特定日誌層級。

例如,將預設日誌記錄設定為較不詳細的日誌層級,例如 ERRORWARN。設定預設日誌記錄時,組態會套用至未設定資源特定日誌記錄的所有資源。若要具有更詳細的層級,例如 INFODEBUG,請設定資源特定的日誌記錄。您可以為不同目標類型設定資源層級日誌記錄,例如 THING_GROUPCLIENT_IDSOURCE_IPPRINCIPAL_ID

可以同時使用預設日誌記錄和資源特定日誌記錄。

**重要事項:**根據您的 AWS IoT Core 機群規模,更詳細的日誌記錄層級可能會產生更高的成本,並且增大疑難排解的難度。日誌記錄層級愈詳細,產生的資料流量愈高。最佳做法是僅使用 INFODEBUG 來暫時進行疑難排解。疑難排解之後,將日誌記錄檔層級重設為較不詳細的層級。如需關於日誌記錄層級的詳細資訊,請參閱日誌層級

解決方法

先決條件:

  • 您使用 AWS IoT 管理員權限憑證在本機電腦上安裝了 AWS Command Line Interface (AWS CLI)。AWS CLI 的預設 AWS 區域必須指向目標區域。
  • 您已將用戶端連接至 AWS IoT Core,作為已註冊或未註冊的 IoT 物件。

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

使用預設日誌記錄來降低成本和資料流量

將 AWS IoT 日誌的預設日誌層級設定為 ERRORWARN 後,您就可以檢閱日誌錯誤或警告。這些詳細層級可降低您的成本和資料流量。如需詳細資訊,請參閱如何設定 AWS IoT Core 的預設記錄設定?

**注意:**如果您建立 AWS Support 案例,則必須提供 AWS IoT Core 日誌。

手動記錄資源日誌

如需如何手動日誌資源的詳細資訊,請參閱如何在 AWS IoT Core 中手動設定特定資源的記錄層級?

動態記錄資源日誌

如需如何動態記錄資源日誌的詳細資訊,請參閱如何在 AWS IoT Core 中動態設定特定資源的記錄層級?

監控日誌項目

使用 Amazon CloudWatch 主控台或 AWS CLI 來監控 AWS IoT 日誌項目。

CloudWatch 主控台

若要在 CloudWatch 主控台中監控您的 AWS IoT 日誌,請參閱在 CloudWatch 主控台中檢視 AWS IoT 日誌

AWS CLI

若要取得 AWS CLI 中的日誌,請執行 filter-log-events 命令。將 YourStartTimeInMilliseconds 替換為您的開始時間 (毫秒):

aws logs filter-log-events --log-group-name AWSIotLogsV2 \
 --start-time YourStartTimeInMilliseconds

**注意:**您可以使用 --filter-pattern 來搜尋特定日誌屬性。如需詳細資訊,請參閱指標篩選器、訂閱篩選器、篩選日誌事件和 Live Tail 的篩選和模式語法

**LogLevel ** 值是為目標設定的日誌層級。在此範例中,目標的日誌層級為 INFO

{
 "timestamp": "2017-08-10 15:37:23.476",
 "logLevel": "INFO",
 "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb",
 "accountId": "123456789012",
 "status": "Success",
 "eventType": "Connect",
 "protocol": "MQTT",
 "clientId": "abf27092886e49a8a5c1922749736453",
 "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a123456",
 "sourceIp": "123.123.123.123",
 "sourcePort": 13490
}

**注意:**僅在使用 MQTT 或 MQTT over WSS 協定連接至 AWS IoT Core 時才可使用 CLIENT_ID。HTTPS 協定不支援用戶端 ID。請改用 SOURCE_IPPRINCIPAL_ID 目標類型。

編輯或刪除日誌層級

您可以隨時變更預設日誌層級和資源特定的日誌層級。變更最多可能需要 10 分鐘才能完成。

執行 delete-v2-logging-level AWS CLI 命令。將 YourTargetName 替換為您的目標的名稱:

aws iot delete-v2-logging-level \
 --target-type "THING_GROUP | CLIENT_ID | SOURCE_IP | PRINCIPAL_ID" \
 --target-name YourTargetName

相關資訊

AWS IoT Device Management 端點和配額

監控 AWS IoT

AWS IoT Device Management 定價

AWS 官方
AWS 官方已更新 9 個月前