View a markdown version of this page

Détectez les anomalies avec Lookout for Equipment - AWS IoT SiteWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Détectez les anomalies avec Lookout for Equipment

Note

La détection des anomalies n'est disponible que dans les régions où Amazon Lookout for Equipment est disponible.

Vous pouvez intégrer AWS IoT SiteWise Amazon Lookout for Equipment pour obtenir des informations sur vos équipements industriels grâce à la détection des anomalies et à la maintenance prédictive des équipements industriels. Lookout for Equipment est un service d'apprentissage automatique (ML) destiné à surveiller les équipements industriels qui détecte les comportements anormaux des équipements et identifie les défaillances potentielles. Avec Lookout for Equipment, vous pouvez mettre en œuvre des programmes de maintenance prédictive et identifier les processus d'équipement sous-optimaux. Pour plus d'informations sur Lookout for Equipment, consultez Qu'est-ce qu'Amazon Lookout for Equipment ? dans le guide de l'utilisateur d'Amazon Lookout for Equipment.

Lorsque vous créez une prédiction pour entraîner un modèle de machine learning à détecter le comportement anormal de l'équipement, AWS IoT SiteWise envoie les valeurs des propriétés des actifs à Lookout for Equipment pour entraîner un modèle ML à détecter le comportement anormal de l'équipement. Pour définir une définition de prédiction sur un modèle d'actif, vous devez spécifier les rôles IAM nécessaires pour que Lookout for Equipment accède à vos données et les propriétés à envoyer à Lookout for Equipment et à envoyer les données traitées à Amazon S3. Pour de plus amples informations, veuillez consulter Créez des modèles d'actifs dans AWS IoT SiteWise.

Pour intégrer AWS IoT SiteWise Lookout for Equipment, vous allez suivre les étapes de haut niveau suivantes :

  • Ajoutez une définition de prédiction sur un modèle d'actif qui décrit les propriétés que vous souhaitez suivre. La définition de prédiction est un ensemble réutilisable de mesures, de transformations et de métriques qui est utilisé pour créer des prédictions sur les actifs en fonction de ce modèle d'actif.

  • Entraînez la prédiction en fonction des données historiques que vous fournissez.

  • Inférence de calendrier, qui indique à AWS IoT SiteWise quelle fréquence exécuter une prédiction spécifique.

Une fois l'inférence planifiée, le modèle Lookout for Equipment surveille les données qu'il reçoit de votre équipement et recherche des anomalies dans le comportement de l'équipement. Vous pouvez afficher et analyser les résultats dans SiteWise Monitor, à l'aide des opérations de l'API AWS IoT SiteWise GET ou de la console Lookout for Equipment. Vous pouvez également créer des alarmes à l'aide de détecteurs d'alarme issus du modèle d'actif pour vous avertir en cas de comportement anormal de l'équipement.

Ajouter une définition de prédiction (console)

Pour commencer à envoyer les données collectées par AWS IoT SiteWise Lookout for Equipment, vous devez ajouter une définition de AWS IoT SiteWise prédiction à un modèle d'actif.

Pour ajouter une définition de prédiction à AWS IoT SiteWise modèle de ressource
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Modèles et sélectionnez le modèle d'actif auquel vous souhaitez ajouter la définition de prédiction.

  3. Choisissez Prédictions.

  4. Choisissez Ajouter une définition de prédiction.

  5. Définissez les détails de la définition de la prédiction.

    1. Entrez un nom unique et une description pour la définition de votre prédiction. Choisissez le nom avec soin, car une fois la définition de prédiction créée, vous ne pourrez plus le modifier.

    2. Créez ou sélectionnez un rôle d'autorisations IAM qui vous permet de partager AWS IoT SiteWise les données relatives à vos actifs avec Amazon Lookout for Equipment. Le rôle doit respecter les politiques IAM et de confiance suivantes. Pour obtenir de l'aide sur la création du rôle, consultez Création d'un rôle à l'aide de politiques de confiance personnalisées (console).

      Politique IAM

      JSON
      { "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:us-east-1:123456789012:inference-scheduler/IoTSiteWise_*", "arn:aws:lookoutequipment:us-east-1:123456789012:model/IoTSiteWise_*", "arn:aws:lookoutequipment:us-east-1:123456789012: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::111122223333:role/Role_name" } ] }

      Politique d’approbation

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotsitewise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:iotsitewise:us-east-1:123456789012:asset/*" } } }, { "Effect": "Allow", "Principal": { "Service": "lookoutequipment.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnEquals": { "aws:SourceArn": "arn:aws:lookoutequipment:us-east-1:123456789012:*" } } } ] }
    3. Choisissez Suivant.

  6. Sélectionnez les attributs de données (mesures, transformations et métriques) que vous souhaitez envoyer à Lookout for Equipment.

    1. (Facultatif) Sélectionnez les mesures.

    2. (Facultatif) Sélectionnez les transformations.

    3. (Facultatif) Sélectionnez des mesures.

    4. Choisissez Suivant.

  7. Passez en revue vos sélections. Pour ajouter la définition de prédiction au modèle d’actif, sur la page de résumé, choisissez Ajouter une définition de prédiction.

Vous pouvez également modifier ou supprimer une définition de prédiction existante à laquelle sont associées des prédictions actives.

Entraînez une prédiction (console)

Après avoir ajouté une définition de prédiction à un modèle d'actif, vous pouvez entraîner les prévisions relatives à vos actifs.

Pour entraîner une prédiction dans AWS IoT SiteWise
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Ressources, puis sélectionnez la ressource que vous souhaitez surveiller.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez entraîner.

  5. Sous Actions, choisissez Commencer la formation, puis procédez comme suit :

    1. Dans Détails des prévisions, sélectionnez un rôle d'autorisations IAM qui permet de AWS IoT SiteWise partager les données de vos actifs avec Lookout for Equipment. Si vous devez créer un nouveau rôle, choisissez Créer un nouveau rôle.

    2. Pour les paramètres des données d'entraînement, entrez une plage temporelle des données d'entraînement pour sélectionner les données à utiliser pour entraîner la prédiction.

    3. (Facultatif) Sélectionnez la fréquence d'échantillonnage des données après le post-traitement.

    4. (Facultatif) Pour les étiquettes de données, indiquez un compartiment Amazon S3 et un préfixe contenant vos données d'étiquetage. Pour plus d'informations sur l'étiquetage des données, consultez la section Étiqueter vos données dans le guide de l'utilisateur d'Amazon Lookout for Equipment.

    5. Choisissez Suivant.

  6. (Facultatif) Si vous souhaitez que la prédiction soit active dès la fin de l'entraînement, sous Paramètres avancés, sélectionnez Activer automatiquement la prédiction après l'entraînement, puis procédez comme suit :

    1. Sous Données d'entrée, pour Fréquence de téléchargement des données, définissez la fréquence de téléchargement des données, et pour Délai de décalage, définissez la quantité de mémoire tampon à utiliser.

    2. Choisissez Suivant.

  7. Passez en revue les détails de la prédiction et choisissez Enregistrer et démarrer.

Démarrer ou arrêter l'inférence sur une prédiction (console)

Note

Les frais de Lookout for Equipment s'appliquent aux inférences planifiées avec les données transférées entre AWS IoT SiteWise et Lookout for Equipment. Pour plus d'informations, consultez la page Amazon Lookout pour la tarification des équipements.

Si vous avez ajouté la prédictionlookoutequipment:CreateDataset, mais que vous n'avez pas choisi de l'activer après l'entraînement, vous devez l'activer pour commencer à surveiller vos actifs.

Pour démarrer l'inférence pour une prédiction
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Actifs, puis sélectionnez l'actif auquel la prédiction est ajoutée.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez activer.

  5. Sous Actions, choisissez Démarrer l'inférence, puis procédez comme suit :

    1. Sous Données d'entrée, pour Fréquence de téléchargement des données, définissez la fréquence de téléchargement des données, et pour Délai de décalage, définissez la quantité de mémoire tampon à utiliser.

    2. Choisissez Enregistrer et commencez.

Pour arrêter l'inférence pour une prédiction
  1. Accédez à la console AWS IoT SiteWise.

  2. Dans le volet de navigation, choisissez Actifs, puis sélectionnez l'actif auquel la prédiction est ajoutée.

  3. Choisissez Prédictions.

  4. Sélectionnez les prédictions que vous souhaitez arrêter.

  5. Sous Actions, choisissez Arrêter l'inférence.

Ajouter une définition de prédiction (CLI)

Pour définir une définition de prédiction sur un modèle d'actif nouveau ou existant, vous pouvez utiliser le AWS Command Line Interface (AWS CLI). Après avoir défini la définition de prédiction sur le modèle d'actif, vous entraînez et planifiez l'inférence pour une prédiction sur un actif AWS IoT SiteWise afin de détecter les anomalies avec Lookout for Equipment.

Conditions préalables

Pour effectuer ces étapes, vous devez disposer d'un modèle d'actif et créer au moins un actif. Pour plus d’informations, consultez Créez un modèle d'actif (AWS CLI) et Créer un actif (AWS CLI).

Si vous êtes nouveau dans ce AWS IoT SiteWise domaine, vous devez appeler l'opération CreateBulkImportJob API pour importer les valeurs des propriétés des actifs AWS IoT SiteWise, qui seront utilisées pour entraîner le modèle. Pour de plus amples informations, veuillez consulter Création d'une tâche d'importation AWS IoT SiteWise en bloc (AWS CLI).

Pour ajouter une définition de prédiction
  1. Créez un fichier, appelé asset-model-payload.json. Suivez les étapes décrites dans ces autres sections pour ajouter les détails de votre modèle d'actif au fichier, mais ne soumettez pas la demande de création ou de mise à jour du modèle d'actif.

  2. Ajoutez un modèle composite Lookout for Equipment (assetModelCompositeModels) au modèle d'actif en ajoutant le code suivant.

    • PropertyRemplacez-le par l'ID des propriétés que vous souhaitez inclure. Pour obtenir ces pièces d'identité, appelez DescribeAssetModel.

    • Remplacez RoleARN par l'ARN d'un rôle IAM qui permet à Lookout for Equipment d'accéder à vos AWS IoT SiteWise données.

    { ... "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. Créez le modèle d'actif ou mettez à jour le modèle d'actif existant. Effectuez l’une des actions suivantes :

    • Pour créer le modèle d'actif, exécutez la commande suivante :

      aws iotsitewise create-asset-model --cli-input-json file://asset-model-payload.json
    • Pour mettre à jour le modèle d'actif existant, exécutez la commande suivante. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous souhaitez mettre à jour.

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

Après avoir exécuté la commande, notez-la assetModelId dans la réponse.

Entraîner une prédiction et une inférence de départ (CLI)

Maintenant que la définition de la prédiction est définie, vous pouvez entraîner les actifs en fonction de celle-ci et lancer l'inférence. Si vous souhaitez entraîner votre prédiction mais ne pas commencer l'inférence, passez àEntraîner une prédiction (CLI). Pour entraîner la prédiction et lancer l'inférence sur l'actif, vous aurez besoin assetId de la ressource cible.

Pour s'entraîner et démarrer l'inférence de la prédiction
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver le actionDefinitionId nom de l'TrainingWithInferenceaction. Remplacez-le asset-model-id par l'identifiant utilisé à l'étape précédente et asset-model-composite-model-id remplacez-le par l'identifiant renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé train-start-inference-prediction.json et ajoutez le code suivant, en remplaçant le code suivant :

    • asset-idavec l'identifiant de l'actif cible

    • action-definition-idavec l'identifiant de l' TrainingWithInference action

    • StartTimeavec le début des données d'entraînement, fournies en secondes d'époque

    • EndTimeavec la fin des données d'entraînement, fournies en secondes d'époque

    • TargetSamplingRateavec la fréquence d'échantillonnage des données après traitement par Lookout for Equipment. Les valeurs autorisées sont :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. Exécutez la commande suivante pour démarrer l'entraînement et l'inférence :

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

Entraîner une prédiction (CLI)

Maintenant que la définition de la prédiction est définie, vous pouvez entraîner les actifs en fonction de celle-ci. Pour entraîner la prédiction sur l'actif, vous aurez besoin assetId de la ressource cible.

Pour entraîner la prédiction
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver le actionDefinitionId nom de l'Trainingaction. Remplacez-le asset-model-id par l'identifiant utilisé à l'étape précédente et asset-model-composite-model-id remplacez-le par l'identifiant renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé train-prediction.json et ajoutez le code suivant, en remplaçant le code suivant :

    • asset-idavec l'identifiant de l'actif cible

    • action-definition-idavec l'identifiant de l'action de formation

    • StartTimeavec le début des données d'entraînement, fournies en secondes d'époque

    • EndTimeavec la fin des données d'entraînement, fournies en secondes d'époque

    • (Facultatif) BucketName avec le nom du compartiment Amazon S3 qui contient les données de vos étiquettes

    • (Facultatif) Prefix avec le préfixe associé au compartiment Amazon S3.

    • TargetSamplingRateavec la fréquence d'échantillonnage des données après traitement par Lookout for Equipment. Les valeurs autorisées sont :PT1S | PT5S | PT10S | PT15S | PT30S | PT1M | PT5M | PT10M | PT15M | PT30M | PT1H.

      Note

      Incluez à la fois le nom et le préfixe du compartiment, ou aucun des deux.

    { "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. Exécutez la commande suivante pour démarrer l'entraînement :

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

Avant de pouvoir commencer l'inférence, la formation doit être terminée. Pour vérifier l'état de la formation, effectuez l'une des opérations suivantes :

  • Depuis la console, accédez à l'actif sur lequel se trouve la prédiction.

  • À partir du AWS CLI, appelez BatchGetAssetPropertyValue en utilisant le propertyId de la trainingStatus propriété.

Démarrer ou arrêter l'inférence sur une prédiction (CLI)

Une fois la prédiction établie, vous pouvez lancer l'inférence pour demander à Lookout for Equipment de commencer à surveiller vos actifs. Pour démarrer ou arrêter l'inférence, vous aurez besoin assetId de la ressource cible.

Pour démarrer l'inférence
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver le actionDefinitionId nom de l'Inferenceaction. Remplacez-le asset-model-id par l'identifiant utilisé à l'étape précédente et asset-model-composite-model-id remplacez-le par l'identifiant renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé start-inference.json et ajoutez le code suivant, en remplaçant le code suivant :

    • asset-idavec l'identifiant de l'actif cible

    • action-definition-idavec l'ID de l'action d'inférence de démarrage

    • Offsetavec la quantité de mémoire tampon à utiliser

    • Frequencyavec la fréquence à laquelle les données sont téléchargées

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\": {\"inferenceMode\":\"START\",\"dataDelayOffsetInMinutes\": Offset, \"dataUploadFrequency\": \"Frequency\"}}" }}
  4. Exécutez la commande suivante pour démarrer l'inférence :

    aws iotsitewise execute-action --cli-input-json file://start-inference.json
Pour arrêter l'inférence
  1. Exécutez la commande suivante pour trouver le assetModelCompositeModelId dessousassetModelCompositeModelSummaries. asset-model-idRemplacez-le par l'ID du modèle d'actif que vous avez créé dansMettre à jour un modèle d'actif, un modèle de composant ou une interface (AWS CLI).

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. Exécutez la commande suivante pour trouver le actionDefinitionId nom de l'Inferenceaction. Remplacez-le asset-model-id par l'identifiant utilisé à l'étape précédente et asset-model-composite-model-id remplacez-le par l'identifiant renvoyé à l'étape précédente.

    aws iotsitewise describe-asset-model-composite-model \ --asset-model-id asset-model-id \ --asset-model-composite-model-id asset-model-composite-model-id \
  3. Créez un fichier appelé stop-inference.json et ajoutez le code suivant, en remplaçant le code suivant :

    • asset-idavec l'identifiant de l'actif cible

    • action-definition-idavec l'ID de l'action d'inférence de démarrage

    { "targetResource": { "assetId": "asset-id" }, "actionDefinitionId": "action-definition-Id", "actionPayload":{ "stringValue": "{\"l4EInference\":{\"inferenceMode\":\"STOP\"}}" }}
  4. Exécutez la commande suivante pour arrêter l'inférence :

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