Detección de anomalías en los equipos con Amazon Lookout for Equipment - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Detección de anomalías en los equipos con Amazon Lookout for Equipment

nota

La detección de anomalías solo está disponible en las regiones en las que está disponible Amazon Lookout for Equipment.

Puede realizar la integración AWS IoT SiteWise con Amazon Lookout for Equipment para obtener información sobre sus equipos industriales mediante la detección de anomalías y el mantenimiento predictivo de los equipos industriales. Lookout for Equipment es un servicio de aprendizaje automático (ML) para monitorear equipos industriales que detecta un comportamiento anormal del equipo e identifica posibles fallas. Con Lookout for Equipment, puede implementar programas de mantenimiento predictivo e identificar los procesos de los equipos que no son óptimos. Para obtener más información sobre Lookout for Equipment, consulta ¿Qué es Amazon Lookout for Equipment? en la Guía del usuario de Amazon Lookout for Equipment.

Al crear una predicción para entrenar un modelo de aprendizaje automático a fin de detectar el comportamiento anómalo del equipo, AWS IoT SiteWise envía los valores de las propiedades de los activos a Lookout for Equipment para entrenar un modelo de aprendizaje automático a fin de detectar el comportamiento anómalo del equipo. Para definir una definición de predicción en un modelo de activos, debe especificar las funciones de IAM necesarias para que Lookout for Equipment acceda a sus datos y las propiedades que envíe a Lookout for Equipment y envíe los datos procesados a Amazon S3. Para obtener más información, consulte Creación de modelos de activos.

Para integrar AWS IoT SiteWise Lookout for Equipment, realizarás los siguientes pasos de alto nivel:

  • Añada una definición de predicción a un modelo de activos que describa las propiedades de las que quiere hacer un seguimiento. La definición de predicción es un conjunto reutilizable de medidas, transformaciones y métricas que se utiliza para crear predicciones sobre los activos que se basan en ese modelo de activos.

  • Entrene la predicción en función de los datos históricos que proporcione.

  • Programa la inferencia, que indica la AWS IoT SiteWise frecuencia con la que se debe ejecutar una predicción específica.

Una vez programada la inferencia, el modelo Lookout for Equipment monitorea los datos que recibe de su equipo y busca anomalías en el comportamiento del equipo. Puede ver y analizar los resultados en SiteWise Monitor, mediante las operaciones de la API AWS IoT SiteWise GET o la consola Lookout for Equipment. También puede crear alarmas utilizando detectores de alarmas del modelo de activos para alertarlo sobre el comportamiento anormal del equipo.

Añadir una definición de predicción (consola)

Para empezar a enviar los datos recopilados por AWS IoT SiteWise Lookout for Equipment, debes añadir AWS IoT SiteWise una definición de predicción a un modelo de activos.

Para añadir una definición de predicción a un modelo de AWS IoT SiteWise activos
  1. Vaya a la consola de AWS IoT SiteWise.

  2. En el panel de navegación, elija Modelos y seleccione el modelo de activo al que desee añadir la definición de predicción.

  3. Elija Predicciones.

  4. Seleccione Añadir definición de predicción.

  5. Defina los detalles sobre la definición de predicción.

    1. Introduzca un nombre único y una descripción para la definición de predicción. Elija el nombre con cuidado, ya que después de crear la definición de predicción, no podrá cambiarlo.

    2. Cree o seleccione un rol de permisos de IAM que le permita AWS IoT SiteWise compartir los datos de sus activos con Amazon Lookout for Equipment. El rol debe tener las siguientes políticas de confianza y de IAM. Para obtener ayuda para crear el rol, consulte Crear un rol mediante políticas de confianza personalizadas (consola).

      Política de IAM

      { "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" } ] }

      Política de confianza

      { "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. Elija Siguiente.

  6. Selecciona los atributos de datos (medidas, transformaciones y métricas) que quieras enviar a Lookout for Equipment.

    1. (Opcional) Seleccione las medidas.

    2. (Opcional) Seleccione las transformaciones.

    3. (Opcional) Seleccione las métricas.

    4. Elija Siguiente.

  7. Revise sus selecciones. Para añadir la definición de predicción al modelo de activos, en la página de resumen, seleccione Añadir definición de predicción.

También puede editar o eliminar una definición de predicción existente que tenga predicciones activas adjuntas.

Entrenar una predicción (consola)

Después de añadir una definición de predicción a un modelo de activos, puede entrenar las predicciones que se incluyen en sus activos.

Para entrenar una predicción en AWS IoT SiteWise
  1. Vaya a la consola de AWS IoT SiteWise.

  2. En el panel de navegación, elija Activos y, a continuación, seleccione el activo que desee supervisar.

  3. Elija Predicciones.

  4. Selecciona las predicciones que quieres entrenar.

  5. En Acciones, selecciona Empezar a entrenar y haz lo siguiente:

    1. En Detalles de la predicción, selecciona un rol de permisos de IAM que te permita AWS IoT SiteWise compartir los datos de tus activos con Lookout for Equipment. Si necesitas crear un nuevo rol, selecciona Crear un nuevo rol.

    2. En la configuración de los datos de entrenamiento, introduce un rango de tiempo de datos de entrenamiento para seleccionar qué datos usar para entrenar la predicción.

    3. (Opcional) Seleccione la frecuencia de muestreo de los datos después del procesamiento posterior.

    4. (Opcional) En el caso de las etiquetas de datos, proporciona un depósito y un prefijo de Amazon S3 que contengan los datos de etiquetado. Para obtener más información sobre el etiquetado de datos, consulta Cómo etiquetar tus datos en la Guía del usuario de Amazon Lookout for Equipment.

    5. Elija Siguiente.

  6. (Opcional) Si quieres que la predicción esté activa en cuanto termine el entrenamiento, en Configuración avanzada, selecciona Activar automáticamente la predicción después del entrenamiento y, a continuación, haz lo siguiente:

    1. En Datos de entrada, en Frecuencia de carga de datos, define la frecuencia con la que se cargan los datos y, en Tiempo de retardo de compensación, define la cantidad de búfer que se va a utilizar.

    2. Elija Siguiente.

  7. Revisa los detalles de la predicción y selecciona Guardar e iniciar.

Iniciar o detener la inferencia en una predicción (consola)

nota

Los cargos de Lookout for Equipment se aplican a las inferencias programadas con los datos transferidos AWS IoT SiteWise entre Lookout for Equipment y Lookout for Equipment. Para obtener más información, consulta los precios de Amazon Lookout for Equipment.

Si has añadido una predicción «lookoutequipment:CreateDataset», pero no has decidido activarla después del entrenamiento, debes activarla para que pueda empezar a monitorizar tus activos.

Para iniciar la inferencia de una predicción
  1. Vaya a la consola de AWS IoT SiteWise.

  2. En el panel de navegación, elija Activos y seleccione el activo al que se añade la predicción.

  3. Elija Predicciones.

  4. Seleccione las predicciones que desee activar.

  5. En Acciones, elija Iniciar inferencia y haga lo siguiente:

    1. En Datos de entrada, en Frecuencia de carga de datos, defina la frecuencia con la que se cargan los datos y, en Tiempo de retardo de compensación, defina la cantidad de búfer que se va a utilizar.

    2. Selecciona Guardar e iniciar.

Para detener la inferencia de una predicción
  1. Vaya a la consola de AWS IoT SiteWise.

  2. En el panel de navegación, elija Activos y seleccione el activo al que se añade la predicción.

  3. Elija Predicciones.

  4. Seleccione las predicciones que desee detener.

  5. En Acciones, elija Detener la inferencia.

Añadir una definición de predicción (CLI)

Para definir una definición de predicción en un modelo de activos nuevo o existente, puede usar AWS Command Line Interface (AWS CLI). Tras definir la definición de predicción en el modelo de activos, entrena y programa la inferencia de una predicción sobre un activo para detectar anomalías con Lookout for Equipment. AWS IoT SiteWise

Requisitos previos 

Para completar estos pasos, debe tener un modelo de activos y crear al menos un activo. Para obtener más información, consulte Crear un modelo de activos (AWS CLI) y Crear un activo ()AWS CLI.

Si es la primera vez que lo usa AWS IoT SiteWise, debe llamar a la operación de la CreateBulkImportJob API para importar los valores de las propiedades de los activos AWS IoT SiteWise, que se utilizarán para entrenar el modelo. Para obtener más información, consulte Crea un trabajo de importación por lotes (AWS CLI).

Para añadir una definición de predicción
  1. Cree un archivo denominado asset-model-payload.json. Siga los pasos de estas otras secciones para añadir los detalles de su modelo de activo al archivo, pero no envíe la solicitud para crear o actualizar el modelo de activo.

  2. Añada un modelo compuesto de Lookout for Equipment assetModelCompositeModels () al modelo de activos añadiendo el siguiente código.

    • PropertySustitúyalo por el ID de las propiedades que desee incluir. Para obtener esos identificadores, llame DescribeAssetModel.

    • RoleARNSustitúyalo por el ARN de un rol de IAM que permita a Lookout for Equipment acceder a tus datos. AWS 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. Cree el modelo de activo o actualice el modelo de activo existente. Realice una de las siguientes acciones siguientes:

    • Para crear el modelo de activos, ejecute el siguiente comando:

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • Ejecute el siguiente comando para actualizar el modelo de activo existente. asset-model-idSustitúyalo por el ID del modelo de activos que desee actualizar.

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

Después de ejecutar el comando, anote assetModelId en la respuesta.

Entrenamiento de una predicción e inferencia inicial (CLI)

Ahora que la definición de predicción está definida, puede entrenar los activos en función de ella e iniciar la inferencia. Si quiere entrenar su predicción pero no iniciar la inferencia, pase a. Entrenamiento de una predicción (CLI) Para entrenar la predicción e iniciar la inferencia sobre el activo, necesitará el assetId recurso objetivo.

Para entrenar e iniciar la inferencia de la predicción
  1. Ejecute el siguiente comando para encontrar la parte assetModelCompositeModelId inferiorassetModelCompositeModelSummaries. asset-model-idSustitúyalo por el ID del modelo de activos en el que lo creasteActualización de un modelo de activo o componente (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Ejecute el siguiente comando para encontrar actionDefinitionId la TrainingWithInference acción. asset-model-idSustitúyala por la ID utilizada en el paso anterior y asset-model-composite-model-idsustitúyala por la ID devuelta en el paso anterior.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Cree un archivo llamado train-start-inference-prediction.json y añada el siguiente código, sustituyendo el siguiente:

    • asset-idcon el ID del activo de destino

    • action-definition-idcon el ID de la TrainingWithInference acción

    • StartTimecon el inicio de los datos de entrenamiento, proporcionados en segundos

    • EndTimecon el final de los datos de entrenamiento, proporcionados en segundos de época

    • TargetSamplingRatecon la frecuencia de muestreo de los datos tras el procesamiento posterior por parte de Lookout for Equipment. Los valores permitidos son: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. Ejecute el siguiente comando para iniciar el entrenamiento y la inferencia:

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

Entrenamiento de una predicción (CLI)

Ahora que la definición de predicción está definida, puede entrenar los activos en función de ella. Para entrenar la predicción sobre el activo, necesitará la assetId del recurso objetivo.

Para entrenar la predicción
  1. Ejecuta el siguiente comando para encontrar la parte assetModelCompositeModelId inferiorassetModelCompositeModelSummaries. asset-model-idSustitúyalo por el ID del modelo de activos en el que lo creasteActualización de un modelo de activo o componente (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Ejecute el siguiente comando para encontrar actionDefinitionId la Training acción. asset-model-idSustitúyala por la ID utilizada en el paso anterior y asset-model-composite-model-idsustitúyala por la ID devuelta en el paso anterior.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Cree un archivo llamado train-prediction.json y añada el siguiente código, sustituyendo el siguiente:

    • asset-idcon el ID del activo de destino

    • action-definition-idcon el ID de la acción formativa

    • StartTimecon el inicio de los datos de entrenamiento, proporcionados en segundos por época

    • EndTimecon el final de los datos de entrenamiento, proporcionados en segundos de época

    • (Opcional) BucketName con el nombre del depósito de Amazon S3 que contiene los datos de la etiqueta

    • (Opcional) Prefix con el prefijo asociado al bucket de Amazon S3.

    • TargetSamplingRatecon la frecuencia de muestreo de los datos tras el procesamiento posterior por parte de Lookout for Equipment. Los valores permitidos son:PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H.

      nota

      Incluya el nombre y el prefijo del bucket o ninguno.

    { "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. Ejecute el siguiente comando para iniciar el entrenamiento:

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

Antes de poder iniciar la inferencia, se debe completar el entrenamiento. Para comprobar el estado de la formación, realice una de las siguientes acciones:

  • Desde la consola, navega hasta el activo en el que se encuentra la predicción.

  • Desde el AWS CLI, llame BatchGetAssetPropertyValue utilizando el propertyId de la trainingStatus propiedad.

Iniciar o detener la inferencia de una predicción (CLI)

Una vez entrenada la predicción, puedes iniciar la inferencia para decirle a Lookout for Equipment que comience a monitorizar tus activos. Para iniciar o detener la inferencia, necesitarás el recurso assetId objetivo.

Para iniciar la inferencia
  1. Ejecute el siguiente comando para encontrar la parte assetModelCompositeModelId inferiorassetModelCompositeModelSummaries. asset-model-idSustitúyalo por el ID del modelo de activos en el que lo creasteActualización de un modelo de activo o componente (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Ejecute el siguiente comando para encontrar actionDefinitionId la Inference acción. asset-model-idSustitúyala por la ID utilizada en el paso anterior y asset-model-composite-model-idsustitúyala por la ID devuelta en el paso anterior.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Cree un archivo llamado start-inference.json y añada el siguiente código, sustituyendo el siguiente:

    • asset-idcon el ID del activo de destino

    • action-definition-idcon el ID de la acción de inferencia inicial

    • Offsetcon la cantidad de búfer a utilizar

    • Frequencycon qué frecuencia se cargan los datos

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}" }}
  4. Ejecute el siguiente comando para iniciar la inferencia:

    aws iotsitewise execute-action --cli-input-json file://start-inference.json
Para detener la inferencia
  1. Ejecute el siguiente comando para encontrar la parte assetModelCompositeModelId inferiorassetModelCompositeModelSummaries. asset-model-idSustitúyalo por el ID del modelo de activos en el que lo creasteActualización de un modelo de activo o componente (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Ejecute el siguiente comando para encontrar actionDefinitionId la Inference acción. asset-model-idSustitúyala por la ID utilizada en el paso anterior y asset-model-composite-model-idsustitúyala por la ID devuelta en el paso anterior.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Cree un archivo llamado stop-inference.json y añada el siguiente código, sustituyendo el siguiente:

    • asset-idcon el ID del activo de destino

    • action-definition-idcon el ID de la acción de inferencia inicial

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}" }}
  4. Ejecute el siguiente comando para detener la inferencia:

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