使用 Amazon CloudWatch Logs 監控 - AWS IoT SiteWise

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

使用 Amazon CloudWatch Logs 監控

設定 AWS IoT SiteWise 將資訊記錄到 CloudWatch Logs,以監控服務並進行故障診斷。

當您使用 AWS IoT SiteWise 主控台時, 會 AWS IoT SiteWise 建立服務連結角色,讓服務代表您記錄資訊。如果您不使用 AWS IoT SiteWise 主控台,則必須手動建立服務連結角色才能接收日誌。如需詳細資訊,請參閱為 AWS IoT SiteWise建立服務連結角色

您必須擁有允許 AWS IoT SiteWise 將日誌事件放入 CloudWatch 串流的資源政策。若要建立和更新 CloudWatch Logs 的資源政策,請執行下列命令。將 logging-policy-name 取代為要建立的政策名稱。

aws logs put-resource-policy --policy-name logging-policy-name --policy-document "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"IoTSiteWiseToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"iotsitewise.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"*\" } ] }"

CloudWatch Logs 也支援 aws:SourceArnaws:SourceAccount 條件內容索引鍵。這些條件內容索引鍵是選用的。

若要建立或更新僅允許 將與指定 AWS IoT SiteWise 資源相關聯的日誌 AWS IoT SiteWise 放入 CloudWatch 串流的資源政策,請執行 命令並執行下列動作:

  • logging-policy-name 取代為要建立的政策名稱。

  • source-ARN 取代為您 AWS IoT SiteWise 資源的 ARN,例如資產模型或資產。若要尋找每個 AWS IoT SiteWise 資源類型的 ARN,請參閱服務授權參考中的 定義的資源類型 AWS IoT SiteWise

  • account-ID 取代為與指定 AWS IoT SiteWise 資源相關聯的 AWS 帳戶 ID。

aws logs put-resource-policy --policy-name logging-policy-name --policy-document "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Sid\": \"IoTSiteWiseToCloudWatchLogs\", \"Effect\": \"Allow\", \"Principal\": { \"Service\": [ \"iotsitewise.amazonaws.com\" ] }, \"Action\":\"logs:PutLogEvents\", \"Resource\": \"*\", \"Condition\":{\"StringLike\":{\"aws:SourceArn\":[\"source-ARN\"],\"aws:SourceAccount\":[\"account-ID\"]}}}]}"

根據預設, AWS IoT SiteWise 不會將資訊記錄到 CloudWatch Logs。若要啟用記錄,請選擇停用 () 以外的記錄層級OFF。 AWS IoT SiteWise 支援下列記錄層級:

  • OFF – 記錄已關閉。

  • ERROR – 記錄錯誤。

  • INFO – 記錄錯誤和資訊性訊息。

您可以設定 SiteWise Edge 閘道,透過 將資訊記錄到 CloudWatch Logs AWS IoT Greengrass。如需詳細資訊,請參閱監控 SiteWise Edge 閘道日誌

如果您正在對 AWS IoT SiteWise 規則動作進行故障診斷,您也可以 AWS IoT Core 將 設定為將資訊記錄到 CloudWatch Logs。如需詳細資訊,請參閱對 AWS IoT SiteWise 規則動作進行故障診斷

管理登入 AWS IoT SiteWise

使用 AWS IoT SiteWise 主控台或 AWS CLI 執行下列記錄組態任務。

尋找您的記錄層級

Console

使用下列程序在 AWS IoT SiteWise 主控台中尋找目前的記錄層級。

尋找您目前的 AWS IoT SiteWise 記錄層級
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在左側導覽窗格中,選擇 Logging options (記錄選項)

    目前的記錄狀態會顯示在 Logging status (記錄狀態) 下方。如果已啟用記錄,目前的記錄層級會顯示在詳細程度下。

AWS CLI

執行下列命令,使用 尋找您目前的 AWS IoT SiteWise 記錄層級 AWS CLI。

aws iotsitewise describe-logging-options

此操作會以下列格式傳回包含您記錄層級的回應。

{ "loggingOptions": { "level": "String" } }

變更您的記錄層級

使用下列程序,在 AWS IoT SiteWise 主控台或使用 變更您的記錄層級 AWS CLI。

Console
變更您的 AWS IoT SiteWise 記錄層級
  1. 導覽至 AWS IoT SiteWise 主控台

  2. 在左側導覽窗格中,選擇 Logging options (記錄選項)

  3. 選擇編輯

  4. 選擇要啟用的動詞層級

  5. 選擇 Save (儲存)。

AWS CLI

執行下列 AWS CLI 命令來變更您的 AWS IoT SiteWise 記錄層級。將 logging-level 取代為您想要的記錄層級。

aws iotsitewise put-logging-options --logging-options level=logging-level

範例: AWS IoT SiteWise 日誌檔案項目

每個 AWS IoT SiteWise 日誌項目都包含該事件的事件資訊和相關資源,因此您可以了解和分析日誌資料。

下列範例顯示 CloudWatch Logs 項目,該項目會在您成功建立資產模型時 AWS IoT SiteWise 記錄。

{ "eventTime": "2020-05-05T00:10:22.902Z", "logLevel": "INFO", "eventType": "AssetModelCreationSuccess", "message": "Successfully created asset model.", "resources": { "assetModelId": "a1b2c3d4-5678-90ab-cdef-11111EXAMPLE" } }