使用 Amazon Lookout for Equipment 检测设备异常 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon Lookout for Equipment 检测设备异常

注意

异常检测仅在提供 Amazon Lookout for Equipment 的地区可用。

您可以 Amazon IoT SiteWise 与 Amazon Lookout for Equipment 集成,通过工业设备的异常检测和预测性维护,深入了解您的工业设备。Lookout for Equipment 是一项机器学习 (ML) 服务,用于监控工业设备,检测设备异常行为并识别潜在故障。借助 Lookout for Equipment,您可以实施预测性维护计划并识别次优的设备流程。有关 Lookout for Equipment 的更多信息,请参阅 Amazon Lookout for Equipment 是什么? 在《亚马逊 Lookout for Equipment 用户指南》中。

当您创建预测以训练机器学习模型以检测异常设备行为时, Amazon IoT SiteWise 会将资产属性值发送到 Lookout for Equipment,以训练机器学习模型来检测异常设备行为。要定义资产模型的预测定义,您需要指定 Lookout for Equipment 访问您的数据所需的 IAM 角色,以及要发送到 Lookout for Equipment 并将处理过的数据发送到 Amazon S3 的属性。有关更多信息,请参阅 创建资产模型

要集成 Amazon IoT SiteWise 和 Lookout for Equipment,您需要执行以下高级步骤:

  • 在资产模型上添加预测定义,概述您要跟踪的属性。预测定义是可重复使用的测量值、变换和指标集合,用于根据该资产模型对资产进行预测。

  • 根据您提供的历史数据训练预测。

  • 计划推断,它 Amazon IoT SiteWise 告诉运行特定预测的频率。

计划推理后,Lookout for Equipment 模型会监控它从您的设备接收的数据,并查找设备行为的异常情况。你可以使用 GET API 操作或 Lookout fo SiteWise r Equip Amazon IoT SiteWise ment 控制台在 Monitor 中查看和分析结果。您还可以使用资产模型中的警报探测器创建警报,提醒您注意设备异常行为。

添加预测定义(控制台)

要开始将收集的数据发送 Amazon IoT SiteWise 到 Lookout for Equipment,您必须向资产模型添加 Amazon IoT SiteWise 预测定义。

向 Amazon IoT SiteWise 资产模型添加预测定义
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择模型,然后选择要向其添加预测定义的资产模型。

  3. 选择 “预测”。

  4. 选择添加预测定义

  5. 定义有关预测定义的详细信息。

    1. 为您的预测定义输入唯一的名称描述。请谨慎选择名称,因为在创建预测定义之后,您无法更改其名称。

    2. 创建或选择允许与 Amazon Lookout for E Amazon IoT SiteWise quipment 共享您的资产数据的 IA M 权限角色。该角色应具有以下 IAM 和信任策略。有关创建角色的帮助,请参阅使用自定义信任策略创建角色(控制台)

      IAM policy

      { "Version": "2012-10-17", "Statement": [{ "Sid": "L4EPermissions", "Effect": "Allow", "Action": [ "lookoutequipment:CreateDataset", "lookoutequipment:CreateModel", "lookoutequipment:CreateInferenceScheduler", "lookoutequipment:DescribeDataset", "lookoutequipment:DescribeModel", "lookoutequipment:DescribeInferenceScheduler", "lookoutequipment:ListInferenceExecutions", "lookoutequipment:StartDataIngestionJob", "lookoutequipment:StartInferenceScheduler", "lookoutequipment:UpdateInferenceScheduler", "lookoutequipment:StopInferenceScheduler" ], "Resource": [ "arn:aws:lookoutequipment:Region:Account_ID:inference-scheduler/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:model/IoTSiteWise_*", "arn:aws:lookoutequipment:Region:Account_ID:dataset/IoTSiteWise_*" ] }, { "Sid": "L4EPermissions2", "Effect": "Allow", "Action": [ "lookoutequipment:DescribeDataIngestionJob" ], "Resource": "*" }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": ["arn:aws:s3:::iotsitewise-*"] }, { "Sid": "IAMPermissions", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "arn:aws:iam::Account_ID:role/Role_name" } ] }

      信任策略

      { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "iotsitewise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:iotsitewise:Region:Account_ID:asset/*" } } }, { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "Account_ID" }, "ArnEquals": { "aws:SourceArn": "arn:aws:lookoutequipment:Region:Account_ID:*" } } } ] }
    3. 选择下一步

  6. 选择要发送到 Lookout for Equipment 的数据属性(测量、变换和指标)。

    1. (可选)选择测量值。

    2. (可选)选择变换。

    3. (可选)选择指标。

    4. 选择下一步

  7. 检视您的选择。要将预测定义添加到资产模型中,请在摘要页面上选择添加预测定义

您也可以编辑删除附加了有效预测的现有预测定义。

训练预测(控制台)

在向资产模型添加预测定义后,您可以对资产的预测进行训练。

在中训练预测 Amazon IoT SiteWise
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择资产,然后选择要监控的资产。

  3. 选择 “预测”。

  4. 选择要训练的预测。

  5. 在 “操作” 下,选择 “开始训练”,然后执行以下操作:

    1. 在 “预测详情” 下,选择允许 Amazon IoT SiteWise 与 Lookout for Equipment 共享您的资产数据的 IAM 权限角色。如果需要创建新角色,请选择创建新角色

    2. 训练数据设置中,输入训练数据时间范围以选择用于训练预测的数据。

    3. (可选)选择后处理后数据的采样率。

    4. (可选)对于数据标签,请提供用于保存标签数据的 Amazon S3 存储桶和前缀。有关为数据添加标签的更多信息,请参阅 Amazon Lookout for Equipment 用户指南中的为数据添加标签。

    5. 选择下一步

  6. (可选)如果您希望预测在训练完成后立即生效,请在 “高级设置” 下,选择 “训练后自动激活预测”,然后执行以下操作:

    1. 输入数据下,对于数据上传频率,定义上传数据的频率,对于偏移延迟时间,定义要使用的缓冲区量。

    2. 选择下一步

  7. 查看预测的详细信息,然后选择保存并开始

启动或停止对预测的推理(控制台)

注意

Lookout for Equipment 费用适用于在 Lookout for Equipment Amazon IoT SiteWise 之间传输数据的预定推断。有关更多信息,请参阅 Amazon Lookout for Equipment 定价。

如果你添加了预测 b “lookoutequipment:CreateDataset”,但它在训练后没有选择激活它,你必须激活它才能开始监控你的资产。

开始对预测进行推理
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择资产,然后选择要添加预测的资产。

  3. 选择 “预测”。

  4. 选择要激活的预测。

  5. 在 “操作” 下,选择 “开始推理”,然后执行以下操作:

    1. 输入数据下,对于数据上传频率,定义上传数据的频率,对于偏移延迟时间,定义要使用的缓冲区量。

    2. 选择 “保存并启动”

停止对预测进行推理
  1. 导航到 Amazon IoT SiteWise 控制台

  2. 在导航窗格中,选择资产,然后选择要添加预测的资产。

  3. 选择 “预测”。

  4. 选择要停止的预测。

  5. 在 “操作” 下,选择 “停止推理”。

添加预测定义 (CLI)

要在新资产模型或现有资产模型上定义预测定义,可以使用 Amazon Command Line Interface (Amazon CLI)。在资产模型上定义预测定义后,您可以使用 Lookout for Equipment 对资产的预测进行训练和计划推理, Amazon IoT SiteWise 以便进行异常检测。

先决条件

要完成这些步骤,您必须拥有一个资产模型并至少创建一个资产。有关更多信息,请参阅 创建资产模型 (Amazon CLI)创建资产 (Amazon CLI)

如果您不熟悉 Amazon IoT SiteWise,则必须调用 CreateBulkImportJob API 操作将资产属性值导入其中 Amazon IoT SiteWise,这将用于训练模型。有关更多信息,请参阅 创建批量导入作业(Amazon CLI)

添加预测定义
  1. 创建名为 asset-model-payload.json 的文件。按照其他部分中的步骤将资产模型的详细信息添加到文件中,但不要提交创建或更新资产模型的请求。

  2. 通过添加以下代码,将 Lookout for Equipment 复合模型 assetModelCompositeModels () 添加到资产模型中。

    • Property替换为要包含的属性的 ID。要获取这些身份证,请致电DescribeAssetModel

    • RoleARN替换为允许 Lookout for Equipment 访问您的数据的 IAM 角色的 ARN。 Amazon IoT SiteWise

    { ... "assetModelCompositeModels": [ { "name": "L4Epredictiondefinition", "type": "AWS/L4E_ANOMALY", "properties": [ { "name": "AWS/L4E_ANOMALY_RESULT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_RESULT", "unit": "none", "type": { "measurement": {} } }, { "name": "AWS/L4E_ANOMALY_INPUT", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INPUT", "type": { "attribute": { "defaultValue": "{\"properties\": [\"Property1\", \"Property2\"]}" } } }, { "name": "AWS/L4E_ANOMALY_PERMISSIONS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_PERMISSIONS", "type": { "attribute": { "defaultValue": "{\"roleArn\": \"RoleARN\"}" } } }, { "name": "AWS/L4E_ANOMALY_DATASET", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_DATASET", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_MODEL", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_MODEL", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_INFERENCE", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE", "type": { "attribute": {} } }, { "name": "AWS/L4E_ANOMALY_TRAINING_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_TRAINING_STATUS", "type": { "attribute": { "defaultValue": "{}" } } }, { "name": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "dataType": "STRUCT", "dataTypeSpec": "AWS/L4E_ANOMALY_INFERENCE_STATUS", "type": { "attribute": { "defaultValue": "{}" } } } ] }
  3. 创建资产模型或更新现有资产模型。请执行以下操作之一:

    • 要创建资产模型,请运行以下命令:

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • 要更新现有资源模型,请运行以下命令。asset-model-id替换为要更新的资产模型的 ID。

      aws iotsitewise update-asset-model \ --asset-model-id asset-model-id \ --cli-input-json file://asset-model-payload.json

运行命令之后,请记下响应中的 assetModelId

训练预测并开始推理 (CLI)

现在,预测定义已经定义,您可以根据它训练资产并开始推理。如果您想训练预测但不想开始推理,请跳至。训练预测 (CLI)要训练预测并开始对资产进行推理,您需要目标资源assetId的。

训练并开始对预测进行推断
  1. 运行以下命令查找assetModelCompositeModelId下方assetModelCompositeModelSummariesasset-model-id替换为您在中创建的资产模型的 ID 更新资产或组件模型 (Amazon CLI)

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 运行以下命令以查找actionDefinitionIdTrainingWithInference作。asset-model-id替换为上一步中使用的 ID,asset-model-composite-model-id替换为上一步中返回的 ID。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. 创建一个名为的文件train-start-inference-prediction.json并添加以下代码,替换以下代码:

    • asset-id使用目标资产的 ID

    • action-definition-id带有动 TrainingWithInference 作的 ID

    • StartTime以训练数据的开头为单位,以纪元秒为单位提供

    • EndTime训练数据结束,以纪元秒为单位提供

    • TargetSamplingRate使用 Lookout for Equipment 进行后期处理后的数据采样率。允许的值为:PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETrainingWithInference\":{\"trainingWithInferenceMode\":\"START\",\"trainingPayload\":{\"exportDataStartTime\":StartTime,\"exportDataEndTime\":EndTime},\"targetSamplingRate\":\"TargetSamplingRate\"},\"inferencePayload\":{\"dataDelayOffsetInMinutes\":0,\"dataUploadFrequency\":\"PT5M\"}}}" } }
  4. 运行以下命令开始训练和推理:

    aws iotsitewise execute-action --cli-input-json file://train-start-inference-prediction.json

训练预测 (CLI)

现在,预测定义已经定义,您可以根据它训练资产。要训练资产的预测,你需要目标assetId资源的预测。

训练预测
  1. 运行以下命令查找assetModelCompositeModelId下方assetModelCompositeModelSummariesasset-model-id替换为您在中创建的资产模型的 ID 更新资产或组件模型 (Amazon CLI)

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 运行以下命令以查找actionDefinitionIdTraining作。asset-model-id替换为上一步中使用的 ID,asset-model-composite-model-id替换为上一步中返回的 ID。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. 创建一个名为的文件train-prediction.json并添加以下代码,替换以下代码:

    • asset-id使用目标资产的 ID

    • action-definition-id带有训练动作的 ID

    • StartTime以训练数据的开头为单位,以纪元秒为单位提供

    • EndTime训练数据结束,以纪元秒为单位提供

    • (可选)BucketName使用存放标签数据的 Amazon S3 存储桶的名称

    • (可选)Prefix,前缀与 Amazon S3 存储桶相关联。

    • TargetSamplingRate使用 Lookout for Equipment 进行后期处理后的数据采样率。允许的值为:PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H

      注意

      同时包含存储桶名称和前缀,或者两者都不包括在内。

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4ETraining\": {\"trainingMode\":\"START\",\"exportDataStartTime\": StartTime, \"exportDataEndTime\": EndTime, \"targetSamplingRate\":\"TargetSamplingRate\"}, \"labelInputConfiguration\": {\"bucketName\": \"BucketName\", \"prefix\": \"Prefix\"}}}" } }
  4. 运行以下命令开始训练:

    aws iotsitewise execute-action --cli-input-json file://train-prediction.json

在开始推理之前,必须完成训练。要查看培训状态,请执行以下任一操作:

  • 在控制台中,导航到预测所在的资产。

  • 从中 Amazon CLI,BatchGetAssetPropertyValue使用该propertyIdtrainingStatus属性的调用。

开始或停止对预测的推理 (CLI)

训练完预测后,你可以开始推理,告诉 Lookout for Equipment 开始监控你的资产。要开始或停止推理,您需要目标资源assetId的。

开始推理
  1. 运行以下命令查找assetModelCompositeModelId下方assetModelCompositeModelSummariesasset-model-id替换为您在中创建的资产模型的 ID 更新资产或组件模型 (Amazon CLI)

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 运行以下命令以查找actionDefinitionIdInference作。asset-model-id替换为上一步中使用的 ID,asset-model-composite-model-id替换为上一步中返回的 ID。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. 创建一个名为的文件start-inference.json并添加以下代码,替换以下代码:

    • asset-id使用目标资产的 ID

    • action-definition-id使用开始推理操作的 ID

    • Offset附上要使用的缓冲量

    • Frequency以及数据上传的频率

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}" }}
  4. 运行以下命令开始推理:

    aws iotsitewise execute-action --cli-input-json file://start-inference.json
停止推理
  1. 运行以下命令查找assetModelCompositeModelId下方assetModelCompositeModelSummariesasset-model-id替换为您在中创建的资产模型的 ID 更新资产或组件模型 (Amazon CLI)

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 运行以下命令以查找actionDefinitionIdInference作。asset-model-id替换为上一步中使用的 ID,asset-model-composite-model-id替换为上一步中返回的 ID。

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. 创建一个名为的文件stop-inference.json并添加以下代码,替换以下代码:

    • asset-id使用目标资产的 ID

    • action-definition-id使用开始推理操作的 ID

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}" }}
  4. 运行以下命令停止推理:

    aws iotsitewise execute-action --cli-input-json file://stop-inference.json