Amazon Lookout for Equipment를 사용하여 장비 이상을 감지합니다. - AWS IoT SiteWise

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Lookout for Equipment를 사용하여 장비 이상을 감지합니다.

참고

예외 항목 탐지는 Amazon Lookout for Equipment를 사용할 수 있는 지역에서만 사용할 수 있습니다.

Amazon Lookout for AWS IoT SiteWise Equipment와 통합하면 산업용 장비의 이상 탐지 및 예측 유지 관리를 통해 산업용 장비에 대한 통찰력을 얻을 수 있습니다. Lookout for Equipment는 산업용 장비를 모니터링하기 위한 기계 학습 (ML) 서비스로, 비정상적인 장비 동작을 감지하고 잠재적 고장을 식별합니다. Lookout for Equipment를 사용하면 예측 유지보수 프로그램을 구현하고 최적이 아닌 장비 프로세스를 식별할 수 있습니다. 장비 룩아웃에 대한 자세한 내용은 Amazon Lookout for Equipment 란 무엇입니까? 를 참조하십시오. Amazon Lookout for Equipment 사용 설명서에서 확인할 수 있습니다.

비정상적인 장비 동작을 탐지하도록 ML 모델을 훈련시키는 예측을 생성하면 자산 속성 값을 Lookout for Equipment로 AWS IoT SiteWise 전송하여 비정상적인 장비 동작을 탐지하도록 ML 모델을 훈련시킵니다. 자산 모델에서 예측 정의를 정의하려면 Lookout for Equipment가 데이터에 액세스하는 데 필요한 IAM 역할과 Lookout for Equipment로 전송하고 처리된 데이터를 Amazon S3로 전송할 속성을 지정합니다. 자세한 정보는 자산 모델 생성을 참조하세요.

Lookout for Equipment를 AWS IoT SiteWise 통합하고 Lookout을 수행하려면 다음과 같은 상위 단계를 수행해야 합니다.

  • 추적하려는 속성을 설명하는 예측 정의를 자산 모델에 추가하십시오. 예측 정의는 해당 자산 모델을 기반으로 자산에 대한 예측을 생성하는 데 사용되는 측정, 변환 및 지표의 재사용 가능한 컬렉션입니다.

  • 제공한 과거 데이터를 기반으로 예측을 학습시키십시오.

  • 스케줄 추론은 특정 예측의 실행 빈도를 AWS IoT SiteWise 알려줍니다.

추론 일정이 잡히면 Lookout for Equipment 모델은 장비로부터 수신한 데이터를 모니터링하고 장비 동작의 이상을 찾습니다. AWS IoT SiteWise GET API 작업 또는 Lookout for Equipment 콘솔을 사용하여 SiteWise 모니터에서 결과를 보고 분석할 수 있습니다. 또한 자산 모델의 알람 감지기를 사용하여 경보를 생성하여 비정상적인 장비 동작에 대해 경고할 수 있습니다.

예측 정의 추가 (콘솔)

에서 수집한 데이터를 Lookout for Equipment로 AWS IoT SiteWise 보내기 시작하려면 자산 모델에 예측 정의를 AWS IoT SiteWise 추가해야 합니다.

AWS IoT SiteWise 자산 모델에 예측 정의를 추가하려면
  1. AWS IoT SiteWise 콘솔로 이동합니다.

  2. 탐색 창에서 모델을 선택하고 예측 정의를 추가할 자산 모델을 선택합니다.

  3. 예측을 선택합니다.

  4. 예측 정의 추가를 선택합니다.

  5. 예측 정의에 대한 세부 정보를 정의합니다.

    1. 예측 정의의 고유한 이름설명을 입력합니다. 예측 정의를 생성한 후에는 이름을 변경할 수 없으므로 이름을 신중하게 선택하십시오.

    2. Amazon Lookout for Equipment와 자산 데이터를 공유할 수 있는 IAM 권한 역할을 생성하거나 선택하십시오. AWS IoT SiteWise 역할에는 다음과 같은 IAM 및 신뢰 정책이 있어야 합니다. 역할 생성에 도움이 필요하면 사용자 지정 신뢰 정책을 사용하여 역할 생성 (콘솔) 을 참조하십시오.

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

      신뢰 정책

      { "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. 선택한 내용을 검토합니다. 자산 모델에 예측 정의를 추가하려면 요약 페이지에서 예측 정의 추가를 선택합니다.

활성 예측이 첨부된 기존 예측 정의를 편집하거나 삭제할 수도 있습니다.

예측 학습 (콘솔)

자산 모델에 예측 정의를 추가한 후 자산에 대한 예측을 훈련할 수 있습니다.

에서 예측을 훈련시키려면 AWS IoT SiteWise
  1. AWS IoT SiteWise 콘솔로 이동합니다.

  2. 탐색 창에서 [Assets] 를 선택하고 모니터링하려는 자산을 선택합니다.

  3. 예측을 선택합니다.

  4. 훈련하려는 예측을 선택합니다.

  5. [액션] 에서 [훈련 시작] 을 선택하고 다음을 수행하십시오.

    1. 예측 세부 정보에서 자산 데이터를 Lookout for AWS IoT SiteWise Equipment와 공유할 수 있는 IAM 권한 역할을 선택합니다. 새 역할을 생성해야 하는 경우 새 역할 생성을 선택합니다.

    2. 훈련 데이터 설정의 경우 훈련 데이터 시간 범위를 입력하여 예측을 훈련하는 데 사용할 데이터를 선택합니다.

    3. (선택 사항) 사후 처리 후 데이터의 샘플링 속도를 선택합니다.

    4. (선택 사항) 데이터 레이블의 경우 레이블 지정 데이터를 보관하는 Amazon S3 버킷과 접두사를 제공합니다. 데이터 레이블 지정에 대한 자세한 내용은 Amazon Lookout for Equipment 사용 설명서의 데이터 레이블 지정을 참조하십시오.

    5. 다음을 선택합니다.

  6. (선택 사항) 훈련이 완료되는 즉시 예측이 활성화되도록 하려면 고급 설정에서 학습 후 예측 자동 활성화를 선택하고 다음을 수행하십시오.

    1. 입력 데이터에서 데이터 업로드 빈도에 대해 데이터 업로드 빈도를 정의하고, 오프셋 지연 시간에서 사용할 버퍼의 양을 정의합니다.

    2. 다음을 선택합니다.

  7. 예측의 세부 정보를 검토하고 저장 후 시작을 선택합니다.

예측에 대한 추론 시작 또는 중지 (콘솔)

참고

Lookout for Equipment AWS IoT SiteWise 간에 데이터가 전송되는 예정된 추론에는 Lookout for Equipment 요금이 부과됩니다. 자세한 내용은 Amazon Lookout for Equipment 요금을 참조하십시오.

예측 “룩아웃 장비: CreateDataset “를 추가했지만 교육 후에 활성화하도록 선택하지 않은 경우, 이를 활성화해야 자산 모니터링을 시작할 수 있습니다.

예측에 대한 추론을 시작하려면
  1. AWS IoT SiteWise 콘솔로 이동합니다.

  2. 탐색 창에서 자산을 선택하고 예측이 추가되는 자산을 선택합니다.

  3. 예측을 선택합니다.

  4. 활성화하려는 예측을 선택합니다.

  5. 동작에서 추론 시작을 선택하고 다음을 수행하십시오.

    1. 입력 데이터에서 데이터 업로드 빈도에 대해 데이터 업로드 빈도를 정의하고 오프셋 지연 시간에 대해 사용할 버퍼량을 정의합니다.

    2. 저장 후 시작을 선택합니다.

예측에 대한 추론을 중지하려면
  1. AWS IoT SiteWise 콘솔로 이동합니다.

  2. 탐색 창에서 자산을 선택하고 예측이 추가되는 자산을 선택합니다.

  3. 예측을 선택합니다.

  4. 중단하려는 예측을 선택합니다.

  5. 동작에서 추론 중지를 선택합니다.

예측 정의 추가 (CLI)

새 자산 모델이나 기존 자산 모델에서 예측 정의를 정의하려면 AWS Command Line Interface (AWS CLI) 를 사용할 수 있습니다. 자산 모델에서 예측 정의를 정의한 후에는 Lookout for Equipment를 사용하여 이상 탐지를 수행할 수 AWS IoT SiteWise 있도록 자산에 대한 예측을 훈련하고 추론 일정을 잡습니다.

사전 조건

이 단계를 완료하려면 자산 모델이 있어야 하고 자산이 하나 이상 생성되어 있어야 합니다. 자세한 내용은 자산 모델 생성 (AWS CLI)자산 만들기 ()AWS CLI 섹션을 참조하세요.

를 처음 사용하는 경우 CreateBulkImportJob API 작업을 호출하여 AWS IoT SiteWise자산 속성 값을 로 AWS IoT SiteWise가져와야 합니다. 그러면 모델을 학습시키는 데 사용할 수 있습니다. 자세한 정보는 대량 가져오기 작업 생성(AWS CLI)을 참조하세요.

예측 정의를 추가하려면
  1. asset-model-payload.json이라는 파일을 생성합니다. 다른 섹션의 단계에 따라 자산 모델의 세부 정보를 파일에 추가하되, 자산 모델을 만들거나 업데이트하라는 요청을 제출하지 마세요.

  2. 다음 코드를 추가하여 Lookout for Equipment 복합 모델 assetModelCompositeModels () 을 자산 모델에 추가합니다.

    • 포함하려는 속성의 Property ID로 바꾸십시오. 해당 ID를 받으려면 전화하세요 DescribeAssetModel.

    • Lookout for Equipment가 데이터에 액세스할 수 있도록 허용하는 IAM 역할의 RoleARN ARN으로 대체하십시오. 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. 자산 모델을 만들거나 기존 자산 모델을 업데이트합니다. 다음 중 하나를 수행하십시오.

    • 자산 모델을 생성하려면 다음 명령을 실행합니다.

      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 assetModelCompositeModelSummaries 언더를 구합니다. 에서 만든 에셋 모델의 asset-model-idID로 자산 또는 구성 요소 모델 업데이트 (AWS CLI) 바꾸십시오.

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 다음 명령을 실행하여 TrainingWithInference 액션을 찾습니다. actionDefinitionId 이전 단계에서 사용한 asset-model-idID로 바꾸고 이전 단계에서 반환된 asset-model-composite-model-idID로 바꾸십시오.

    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교육 데이터의 끝 부분 포함, 에포크 초 단위로 제공

    • TargetSamplingRateLookout 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 언더를 assetModelCompositeModelSummaries 구합니다. 에서 만든 에셋 모델의 asset-model-idID로 자산 또는 구성 요소 모델 업데이트 (AWS CLI) 바꾸십시오.

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 다음 명령을 실행하여 Training 액션을 찾습니다. actionDefinitionId 이전 단계에서 사용한 asset-model-idID로 바꾸고 이전 단계에서 반환된 asset-model-composite-model-idID로 바꾸십시오.

    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교육 데이터의 끝 부분 포함, 에포크 초 단위로 제공

    • (선택 사항) 레이블 데이터를 보관하는 Amazon S3 버킷의 이름 BucketName 포함

    • (선택 사항) Prefix Amazon S3 버킷과 연결된 접두사를 포함합니다.

    • TargetSamplingRateLookout 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

추론을 시작하려면 먼저 교육을 완료해야 합니다. 교육 상태를 확인하려면 다음 중 하나를 수행하십시오.

  • 콘솔에서 예측이 적용되는 에셋으로 이동합니다.

  • 에서 AWS CLIpropertyId trainingStatus 프로퍼티의 BatchGetAssetPropertyValue 를 사용하여 호출합니다.

예측에 대한 추론 시작 또는 중지 (CLI)

예측이 학습되면 추론을 시작하여 Lookout for Equipment에서 자산 모니터링을 시작하도록 지시할 수 있습니다. 추론을 시작하거나 중지하려면 대상 assetId 리소스의 정보가 필요합니다.

추론을 시작하려면
  1. 다음 명령을 실행하여 assetModelCompositeModelId assetModelCompositeModelSummaries 언더를 찾습니다. 에서 만든 에셋 모델의 asset-model-idID로 자산 또는 구성 요소 모델 업데이트 (AWS CLI) 바꾸십시오.

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 다음 명령을 실행하여 Inference 액션을 찾습니다. actionDefinitionId 이전 단계에서 사용한 asset-model-idID로 바꾸고 이전 단계에서 반환된 asset-model-composite-model-idID로 바꾸십시오.

    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 assetModelCompositeModelSummaries 언더를 찾으십시오. 에서 만든 에셋 모델의 asset-model-idID로 자산 또는 구성 요소 모델 업데이트 (AWS CLI) 바꾸십시오.

    aws iotsitewise describe-asset-model \ --asset-model-id asset-model-id \
  2. 다음 명령을 실행하여 Inference 액션을 찾습니다. actionDefinitionId 이전 단계에서 사용한 asset-model-idID로 바꾸고 이전 단계에서 반환된 asset-model-composite-model-idID로 바꾸십시오.

    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