AWS IoT SiteWise 규칙 조치 문제 해결 - AWS IoT SiteWise

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

AWS IoT SiteWise 규칙 조치 문제 해결

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

  • Amazon CloudWatch 로그 구성

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

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

AWS IoT Core 로그 구성

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

CloudWatch 로그를 구성하고 액세스하려면
  1. 로깅을 구성하려면 AWS IoT 개발자 안내서의 CloudWatch 로그를 사용한 모니터링을 참조하십시오. AWS IoT Core

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

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

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

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

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

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

재게시 오류 작업 구성

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

참고

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

규칙에 재게시 오류 작업 추가
  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 콘솔 홈으로 돌아가십시오.

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

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

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

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

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

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

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

규칙 문제 해결

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

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

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

  • 타임스탬프가 Unix epoch () 시간인지 확인하세요. 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

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

  • 속성 별칭이 올바른지와 지정된 속성 별칭이 있는 자산 속성이 있는지 확인합니다. 자세한 내용은 산업 데이터 스트림을 자산 속성에 매핑 단원을 참조하세요.

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

오류: iot.amazonaws.com은 다음을 수행할 수 없습니다: sts: 리소스: AssumeRole <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. 업데이트를 선택합니다.

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

다음 절차에서는 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 로그를 사용한 모니터링을 참조하십시오.

규칙에 재게시 오류 작업 추가
  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 Core 콘솔 홈으로 돌아가십시오.

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

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

오류 작업 주제 구독
  1. AWS IoT Core 콘솔의 왼쪽 탐색 페이지에서 [Test] 를 선택합니다.

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

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

    • 규칙 쿼리 문의 오타

    • 역할 권한 부족

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