AWS IoT SiteWise 규칙 작업 문제 해결 - AWS IoT SiteWise

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

AWS IoT SiteWise 규칙 작업 문제 해결

에서 AWS IoT SiteWise 규칙 작업 문제를 해결하려면 다음 절차 중 하나를 수행할 AWS IoT Core수 있습니다.

  • Amazon CloudWatch Logs 구성

  • 규칙에 대한 재게시 오류 작업 구성

그 다음 오류 메시지를 이 주제의 오류와 비교하여 문제를 해결합니다.

AWS IoT Core 로그 구성

CloudWatch Logs에 다양한 수준의 정보를 로깅 AWS IoT 하도록를 구성할 수 있습니다.

CloudWatch Logs를 구성하고 액세스하려면 다음을 수행하세요.
  1. 에 대한 로깅을 구성하려면 AWS IoT 개발자 안내서 CloudWatch Logs로 모니터링을 AWS IoT Core참조하세요.

  2. CloudWatch 콘솔로 이동합니다.

  3. 탐색 창에서 로그 그룹을 선택합니다.

  4. AWSIotLogs 그룹을 선택합니다.

  5. 최근 로그 스트림을 선택합니다. 기본적으로 CloudWatch는 가장 최근 로그 스트림을 먼저 표시합니다.

  6. 로그 항목을 선택하여 로그 메시지를 확장합니다. 로그 항목은 다음 스크린샷처럼 보일 수 있습니다.

    CloudWatch "AWS IoT Logs" 스크린샷.
  7. 오률 메시지를 이 주제의 오류와 비교하여 문제를 해결합니다.

재게시 오류 작업 구성

오류 메시지를 처리하도록 규칙에 대한 오류 작업을 구성할 수 있습니다. 이 절차에서는 MQTT 테스트 클라이언트에서 오류 메시지를 보기 위해 재게시 규칙 작업을 오류 작업으로 구성합니다.

참고

재게시 오류 작업은 ERROR 수준 로그와 동일한 로그만 출력합니다. 상세 로그를 보려면 CloudWatch Logs를 구성해야 합니다.

규칙에 재게시 오류 작업 추가
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 작업을 선택한 다음 규칙을 선택합니다.

  3. 규칙을 선택합니다.

  4. 오류 작업에서 작업 추가를 선택합니다.

  5. AWS IoT 주제에 메시지 다시 게시를 선택합니다.

    AWS IoT Core 재게시 작업이 강조 표시된 “작업 선택” 페이지 스크린샷.
  6. 페이지 하단에서 작업 구성을 선택합니다.

  7. 주제에 고유한 주제(예: sitewise/windfarm/rule/error)를 입력합니다. AWS IoT Core 는이 주제에 오류 메시지를 다시 게시합니다.

  8. 선택을 선택하여 오류 작업을 수행할 수 있는 AWS IoT Core 액세스 권한을 부여합니다.

  9. 규칙에 대해 생성한 역할 옆에 있는 선택을 선택합니다.

  10. 역할 업데이트를 선택하여 역할에 권한을 더 추가합니다.

  11. 작업 추가를 선택합니다.

    규칙의 오류 작업은 다음 스크린샷과 비슷해야 합니다.

    AWS IoT Core "규칙" 페이지 오류 작업 다시 게시 스크린샷.
  12. 콘솔 왼쪽 상단에서 뒤로 화살표를 선택하여 AWS IoT 콘솔 홈으로 돌아갑니다.

재게시 오류 작업을 설정한 후에는 AWS IoT Core의 MQTT 테스트 클라이언트에서 오류 메시지를 볼 수 있습니다.

다음 절차에서는 MQTT 테스트 클라이언트에서 오류 주제를 구독합니다. MQTT 테스트 클라이언트에서 규칙의 오류 메시지를 받아 문제를 해결할 수 있습니다.

오류 작업 주제 구독
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 페이지에서 테스트를 선택하여 MQTT 테스트 클라이언트를 엽니다.

  3. 구독 주제 필드에 이전에 구성한 오류 주제(예: sitewise/windfarm/rule/error)를 입력하고 주제 구독을 선택합니다.

    AWS IoT Core "주제 구독" 버튼이 강조 표시된 "MQTT 클라이언트" 페이지 스크린샷.
  4. 오류 메시지가 나타나는지 확인한 다음 오류 메시지에서 failures 배열을 확장합니다.

    그런 다음 오류 메시지를 이 주제의 오류와 비교하여 문제를 해결합니다.

규칙 문제 해결

다음 정보를 사용하여 규칙 문제를 해결합니다.

오류: 멤버는 현재 타임스탬프 전 604800초, 후 300초 이내에 있어야 합니다.

타임스탬프는 현재 Unix 에포크 시간과 비교하여 7일 이전 또는 5분 이후입니다. 다음을 시도해 보세요.

  • 타임스탬프가 Unix 에포크 시간(UTC)인지 확인합니다. 다른 시간대로 타임스탬프를 제공하면 이 오류가 표시됩니다.

  • 타임스탬프가 초 단위인지 확인합니다. AWS IoT SiteWise 는 타임스탬프가 초 단위의 시간(Unix epoch 시간)으로 분할되고 나노초 단위로 오프셋될 것으로 예상합니다.

  • 지난 7일 이내로 타임스탬프가 지정된 데이터를 업로드하고 있는지 확인합니다.

오류: 속성 값이 데이터 유형 <type>이 일치하지 않습니다.

규칙 작업의 항목에는 대상 자산 속성이 아닌 다른 데이터 유형이 있습니다. 예를 들어 대상 자산 속성이 DOUBLE이고 선택한 데이터 유형이 정수이거나 integerValue에서 값을 전달했습니다. 다음을 시도해 보세요.

  • AWS IoT 콘솔에서 규칙을 구성하는 경우 각 항목에 대해 올바른 데이터 유형을 선택했는지 확인합니다.

  • API 또는 AWS Command Line Interface (AWS CLI)에서 규칙을 구성하는 경우 value 객체가 올바른 유형 필드(예: DOUBLE 속성)를 사용하는doubleValue지 확인합니다.

오류: 사용자 <role-arn>이 수행할 권한이 없음: iotsitewise:BatchPutAssetPropertyValue on resource

규칙이 대상 자산 속성에 액세스할 권한이 없거나 대상 자산 속성이 존재하지 않습니다. 다음을 시도해 보세요.

  • 속성 별칭이 올바른지와 지정된 속성 별칭이 있는 자산 속성이 있는지 확인합니다. 자세한 내용은 에 대한 데이터 스트림 관리 AWS IoT SiteWise 단원을 참조하십시오.

  • 규칙에 역할이 있는지와 역할이 대상 자산 속성(예: 대상 자산 계층 구조)에 대한 iotsitewise:BatchPutAssetPropertyValue 권한을 허용하는지 확인합니다. 자세한 내용은 AWS IoT 필요한 액세스 권한 부여 단원을 참조하세요.

오류: iot.amazonaws.com이 수행할 수 없음: sts:AssumeRole on resource: <role-arn>

사용자는 AWS Identity and Access Management (IAM)에서 규칙의 역할을 수임할 권한이 없습니다.

사용자에게 규칙의 역할에 대한 iam:PassRole 권한이 허용되는지 확인합니다. 자세한 내용은 AWS IoT 개발자 가이드역할 전달 권한 단원을 참조하세요.

정보: 요청이 전송되지 않았습니다. 대체 템플릿을 수행한 후 PutAssetPropertyValueEntries가 비어 있습니다.

참고

이 메시지는 INFO 수준 로그입니다.

요청에 모든 필수 파라미터가 포함된 항목이 하나 이상 있어야 합니다.

대체 템플릿을 포함한 규칙의 파라미터가 비어 있지 않은 값을 생성하는지 확인합니다. 대체 템플릿은 규칙 쿼리 문의 AS 절에 정의된 값에 액세스할 수 없습니다. 자세한 내용은 AWS IoT 개발자 가이드대체 템플릿을 참조하세요.

규칙 문제 해결(AWS IoT SiteWise)

CPU 및 메모리 사용량 데이터가 예상 AWS IoT SiteWise 대로 표시되지 않는 경우이 절차의 단계에 따라 규칙 문제를 해결합니다. 이 절차에서는 MQTT 테스트 클라이언트에서 오류 메시지를 보기 위해 재게시 규칙 작업을 오류 작업으로 구성합니다. 문제 해결을 위해 CloudWatch 로깅에 로깅을 구성할 수도 있습니다. 자세한 내용은 AWS IoT SiteWise 규칙 작업 문제 해결 단원을 참조하세요.

규칙에 재게시 오류 작업 추가
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 메시지 라우팅을 선택한 다음 규칙을 선택합니다.

  3. 이전에 생성한 규칙을 선택하고 편집을 선택합니다.

  4. 오류 작업 - 선택 사항에서 오류 작업 추가를 선택합니다.

  5. AWS IoT 주제에 메시지 다시 게시를 선택합니다.

  6. 주제에서 오류의 경로(예: sitewise/rule/tutorial/error)를 입력합니다. AWS IoT Core 는이 주제에 오류 메시지를 다시 게시합니다.

  7. 앞서 생성한 역할(예: SiteWiseTutorialDeviceRuleRole)을 선택합니다.

  8. 업데이트를 선택합니다.

재게시 오류 작업을 설정한 후에는 AWS IoT Core의 MQTT 테스트 클라이언트에서 오류 메시지를 볼 수 있습니다.

다음 절차에서는 MQTT 테스트 클라이언트에서 오류 주제를 구독합니다.

오류 작업 주제 구독
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 페이지에서 MQTT 테스트 클라이언트를 선택하여 MQTT 테스트 클라이언트를 엽니다.

  3. 주제 필터 필드에서 sitewise/rule/tutorial/error를 입력한 다음 구독을 선택합니다.

오류 메시지가 나타나면 오류 메시지에서 failures 배열을 보고 문제를 진단합니다. 가능한 문제 및 해결 방법에 대한 자세한 내용은 AWS IoT SiteWise 규칙 작업 문제 해결 단원을 참조하세요.

오류가 나타나지 않는 경우 규칙이 활성화되어 있고 오류 재게시 작업에서 구성한 것과 동일한 주제를 구독했는지 확인합니다. 그런 후에도 오류가 계속 나타나지 않으면 디바이스 스크립트가 실행 중이고 디바이스 섀도우를 성공적으로 업데이트하는지 확인하세요.

참고

디바이스의 섀도우 업데이트 주제를 구독하여 AWS IoT SiteWise 작업이 구문 분석하는 페이로드를 볼 수도 있습니다. 이렇게 하려면 다음 주제를 구독하세요.

$aws/things/+/shadow/update/accepted

규칙 문제 해결(DynamoDB)

데모 자산 데이터가 예상대로 DynamoDB 테이블에 표시되지 않는 경우 이 절차의 단계에 따라 규칙 문제를 해결합니다. 이 절차에서는 MQTT 테스트 클라이언트에서 오류 메시지를 보기 위해 재게시 규칙 작업을 오류 작업으로 구성합니다. 문제 해결을 위해 CloudWatch 로깅에 로깅을 구성할 수도 있습니다. 자세한 내용을 알아보려면 AWS IoT 개발자 가이드CloudWatch Logs를 통해 모니터링을 참조하세요.

규칙에 재게시 오류 작업 추가
  1. AWS IoT 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 작업을 선택한 다음 규칙을 선택합니다.

  3. 앞서 생성한 규칙을 선택합니다.

    AWS IoT 코어 "규칙" 페이지 스크린샷.
  4. 오류 작업에서 작업 추가를 선택합니다.

  5. AWS IoT 주제에 메시지 다시 게시를 선택합니다.

    AWS IoT 재게시 작업이 강조 표시된 코어 "작업 선택" 페이지 스크린샷.
  6. 페이지 하단에서 작업 구성을 선택합니다.

  7. 주제windspeed/error를 입력합니다. AWS IoT Core는이 주제에 오류 메시지를 다시 게시합니다.

    AWS IoT "주제"가 강조 표시된 코어 "재게시 작업 구성" 페이지 스크린샷.
  8. 선택을 선택하여 이전에 생성한 역할을 사용하여 오류 작업을 수행할 수 있는 AWS IoT 코어 액세스 권한을 부여합니다.

  9. 해당 역할 옆에 있는 선택을 선택합니다.

    AWS IoT 역할 선택 버튼이 강조 표시된 코어 "재게시 작업 구성" 페이지 스크린샷.
  10. 역할 업데이트를 선택하여 역할에 권한을 더 추가합니다.

    AWS IoT 역할 업데이트 버튼이 강조 표시된 코어 "재게시 작업 구성" 페이지 스크린샷.
  11. 작업 추가를 선택하여 오류 작업 추가를 완료합니다.

  12. 콘솔 왼쪽 상단의 뒤로 화살표를 선택하여 AWS IoT 코어 콘솔 홈으로 돌아갑니다.

재게시 오류 작업을 설정한 후 AWS IoT 코어의 MQTT 테스트 클라이언트에서 오류 메시지를 볼 수 있습니다.

다음 절차에서는 MQTT 테스트 클라이언트에서 오류 주제를 구독합니다.

오류 작업 주제 구독
  1. AWS IoT 코어 콘솔의 왼쪽 탐색 페이지에서 테스트를 선택합니다.

  2. 구독 주제 필드에 windspeed/error를 입력하고 주제 구독을 선택합니다.

    AWS IoT "주제 구독" 버튼이 강조 표시된 코어 "MQTT 클라이언트" 페이지 스크린샷.
  3. 오류 메시지가 나타나는지 확인하고 오류 메시지에서 failures 배열을 탐색하여 다음과 같은 일반적인 문제를 진단합니다.

    • 규칙 쿼리 문의 오타

    • 역할 권한 부족

    오류가 나타나지 않는 경우 규칙이 활성화되어 있고 오류 재게시 작업에서 구성한 것과 동일한 주제를 구독했는지 확인합니다. 그래도 오류가 나타나지 않으면 데모 풍력 발전소 자산이 여전히 존재하고 풍속 속성에 대한 알림을 활성화했는지 확인합니다. 데모 자산이 만료되고 사라진 경우 새 데모를 생성하고 규칙 쿼리 문을 업데이트하여 업데이트된 자산 모델 및 속성 ID를 반영할 AWS IoT SiteWise수 있습니다. IDs