시스템 상태 원격 분석 데이터 수집AWS IoT Greengrass코어 디바이스 - AWS IoT Greengrass

다음에 대한 설명서를 보고 있습니다.AWS IoT Greengrass Version 1.AWS IoT Greengrass Version 2의 최신 주요 버전입니다AWS IoT Greengrass. 사용에 관한 자세한 내용은 단원을 참조하십시오.AWS IoT Greengrass V2에 대한 자세한 내용은AWS IoT Greengrass Version 2개발자 안내서.

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

시스템 상태 원격 분석 데이터 수집AWS IoT Greengrass코어 디바이스

시스템 상태 원격 분석 데이터는 Greengrass 핵심 장치에서 중요한 작업의 성능을 모니터링하는 데 도움이 되는 진단 데이터입니다. Greengrass 코어의 원격 분석 에이전트는 로컬 원격 분석 데이터를 수집하여 고객 상호 작용 없이 Amazon EventBridge 에 게시합니다. 코어 디바이스는 EventBridge 에 원격 분석 데이터를 게시합니다. 예를 들어 코어 장치가 오프라인 상태일 때 원격 분석 데이터를 제공하지 못할 수 있습니다.

참고

Amazon EventBridge 는 애플리케이션을 다양한 소스의 데이터와 연결하는 데 사용할 수 있는 이벤트 버스 서비스입니다.배포 알림. 자세한 내용은 단원을 참조하십시오.Amazon EventBridge 란 무엇입니까?Amazon EventBridge 사용 설명서.

프로젝트 및 응용 프로그램을 만들어 에지 장치에서 원격 분석 데이터를 검색, 분석, 변환 및 보고할 수 있습니다. 프로세스 엔지니어와 같은 도메인 전문가는 이러한 애플리케이션을 사용하여 장비 상태에 대한 통찰력을 확보할 수 있습니다.

Greengrass 엣지 컴포넌트가 제대로 작동하는지 확인하려면AWS IoT Greengrass는 개발 및 품질 개선 목적으로 데이터를 사용합니다. 이 기능은 또한 새롭고 향상된 에지 기능을 알려주는 데 도움이 됩니다.AWS IoT Greengrass은 원격 분석 데이터를 최대 7일간 보관합니다.

이 기능은 에서 사용할 수 있습니다.AWS IoT Greengrass코어 소프트웨어 v1.11.0이며 기존 코어를 포함한 모든 Greengrass 코어에 대해 기본적으로 활성화되어 있습니다. 업그레이드하는 즉시 자동으로 데이터 수신을 시작합니다.AWS IoT Greengrass코어 소프트웨어 v1.11.0 이상

게시된 원격 분석 데이터에 액세스하거나 관리하는 방법에 대한 자세한 내용은원격 분석 데이터 수신.

원격 분석 에이전트는 다음 시스템 메트릭을 수집하고 게시합니다.

원격 측정 지표
이름 설명 소스

SystemMemUsage

운영 체제를 포함하여 Greengrass 코어 장치의 모든 응용 프로그램에서 현재 사용 중인 메모리 양입니다.

시스템

CpuUsage

운영 체제를 포함하여 Greengrass 코어 장치의 모든 응용 프로그램에서 현재 사용 중인 CPU의 양입니다.

시스템

TotalNumberOfFDs

Greengrass 코어 디바이스의 운영 체제에서 저장한 파일 디스크립터의 수입니다. 하나의 파일 디스크립터는 하나의 열린 파일을 고유하게 식별합니다.

시스템

LambdaOutOfMemory

Lambda 함수의 메모리가 부족하게 되는 실행 수입니다.

시스템

DroppedMessageCount

대상 메시지의 수입니다.AWS IoT Core.

GGCloudSpooler시스템 구성 요소

LambdaTimeout

사용자 정의 Lambda 함수를 실행하기 위한 시간 초과 수입니다.

사용자 정의 Lambda 함수AWS 클라우드및 시스템

LambdaUngracefullyKilled

사용자 정의 Lambda 함수가 완료되지 않은 실행 수입니다.

사용자 정의 Lambda 함수AWS 클라우드및 시스템

LambdaError

사용자 정의 Lambda 함수에서 오류 로그를 기록하는 실행 수입니다.

사용자 정의 Lambda 함수AWS 클라우드및 시스템

BytesAppended

스트림 관리자에 추가된 데이터의 바이트 수입니다.

GGStreamManager시스템 구성 요소

BytesUploadedToIoTAnalytics

스트림 관리자가 채널로 내보내는 데이터의 바이트 수AWS IoT Analytics.

GGStreamManager시스템 구성 요소

BytesUploadedToKinesis

스트림 관리자가 Amazon Kinesis 데이터 스트림의 스트림으로 내보내는 데이터의 바이트 수입니다.

GGStreamManager시스템 구성 요소

BytesUploadedToIoTSiteWise

스트림 관리자가AWS IoT SiteWise.

GGStreamManager시스템 구성 요소

BytesUploadedToS3ExportTaskExecutor

스트림 관리자가 Amazon S3 객체로 내보내는 데이터의 바이트 수입니다.

GGStreamManager시스템 구성 요소

BytesUploadedToHTTP

스트림 관리자가 HTTP로 내보내는 데이터의 바이트 수입니다.

GGStreamManager시스템 구성 요소

원격 분석 설정 구성

Greengrass 원격 분석에서는 다음 설정을 사용합니다.

  • 원격 분석 에이전트는 매 시간마다 원격 분석 데이터를 집계합니다.

  • 원격 분석 에이전트는 24시간마다 원격 분석 메시지를 게시합니다.

참고

설정을 변경할 수 없습니다.

Greengrass 코어 디바이스에 대한 원격 분석 기능을 사용하거나 사용하지 않도록 설정할 수 있습니다.AWS IoT Greengrass은 다음을 사용합니다.그림자를 사용하여 원격 분석 구성을 관리할 수 있습니다. 코어가 연결되어 있으면 변경 사항이 즉시 적용됩니다.AWS IoT Core.

원격 분석 에이전트는 서비스 품질 (QoS) 수준이 0인 MQTT 프로토콜을 사용하여 데이터를 게시합니다. 즉, 배달을 확인하거나 게시 시도를 다시 시도하지 않습니다. 원격 분석 메시지는 MQTT 연결을 대상으로 하는 구독에 대한 다른 메시지와 공유합니다.AWS IoT Core.

데이터 링크 비용을 제외하고 코어에서AWS IoT Core는 요금이 부과되지 않습니다. 이는 에이전트가AWS예약된 주제입니다. 그러나 사용 사례에 따라 데이터를 수신하거나 처리할 때 비용이 발생할 수 있습니다.

Requirements

원격 분석 설정을 구성할 때 다음 요구 사항이 적용됩니다.

  • 를 사용해야 합니다.AWS IoT Greengrass코어 소프트웨어 v1.11.0 이상

    참고

    이전 버전을 실행 중이고 원격 분석을 사용하지 않으려는 경우 작업을 수행할 필요가 없습니다.

  • 원격 분석 설정을 업데이트하기 전에 핵심 (사물) 섀도우를 업데이트하고 구성 API를 호출할 수 있는 IAM 권한을 제공해야 합니다.

    다음 예제 IAM 정책을 사용하면 특정 코어의 섀도 및 런타임 구성을 관리할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowManageShadow", "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow", "iot:DeleteThingShadow", "iot:DescribeThing" ], "Resource": [ "arn:aws:iot:region:account-id:thing/core-name-*" ] }, { "Sid": "AllowManageRuntimeConfig", "Effect": "Allow", "Action": [ "greengrass:GetCoreRuntimeConfiguration", "greengrass:UpdateCoreRuntimeConfiguration" ], "Resource": [ "arn:aws:iot:region:account-id:thing/core-name" ] } ] }

    리소스에 대한 세부적 또는 조건부 액세스 권한을 부여할 수 있습니다 (예: 와일드카드*명명 체계. 자세한 내용은 단원을 참조하십시오.IAM 정책 추가 및 제거IAM 사용 설명서.

원격 분석 설정 구성 (콘솔)

다음은 Greengrass 코어의 원격 분석 설정을 업데이트하는 방법을 보여 줍니다.AWS IoT Greengrass콘솔로 이동합니다.

  1. AWS IoT Greengrass 콘솔에 로그인합니다.

  2. 에서AWS IoT콘솔의 탐색 창에서Greengrass,클래식 (V1),그룹.

  3. UnGreengrass 그룹에서 대상 그룹을 선택합니다.

  4. 탐색 창에서 []]코어.

  5. Un코어에서 대상 코어를 선택합니다.

  6. 탐색 창에서 []]원격 측정.

  7. 시스템 Health 원격 측정페이지에서Edit.

  8. Un원격 측정 구성를 선택하고Enable또는비활성화를 선택한 다음업데이트.

    중요

    기본적으로 원격 분석 기능은AWS IoT Greengrass코어 소프트웨어 v1.11.0 이상

변경 사항은 런타임에 적용됩니다. 그룹을 배포할 필요가 없습니다.

원격 분석 설정 구성 (CLI)

에서AWS IoT GreengrassAPI 사용 시TelemetryConfiguration개체는 Greengrass 코어의 원격 분석 설정을 나타냅니다. 이 개체는RuntimeConfiguration코어와 연관된 객체입니다. 를 사용해도 됩니다.AWS IoT GreengrassAPI,AWS CLI또는AWSSDK를 사용하여 Greengrass 원격 분석을 관리할 수 있습니다. 이 단원의 예제에서는 AWS CLI를 사용합니다.

원격 분석 설정을 확인하려면

다음 명령은 Greengrass 코어의 원격 분석 설정을 가져옵니다.

  • Replace코어-사-이름을 대상 코어의 이름으로 바꿉니다.

    사물 이름을 얻으려면코어 정의 버전명령입니다. 이 명령은 사물 이름이 포함된 사물의 ARN 반환합니다.

aws greengrass get-thing-runtime-configuration --thing-name core-thing-name

이 명령은GetCoreRuntimeConfigurationResponseJSON 응답에서 개체를 선택합니다. 예:

{ "RuntimeConfiguration": { "TelemetryConfiguration": { "ConfigurationSyncStatus": "OutOfSync", "Telemetry": "On" } } }
원격 분석 설정을 구성하려면

다음 명령은 Greengrass 코어의 원격 분석 설정을 업데이트합니다.

  • Replace코어-사-이름을 대상 코어의 이름으로 바꿉니다.

    사물 이름을 얻으려면코어 정의 버전명령입니다. 이 명령은 사물 이름이 포함된 사물의 ARN 반환합니다.

JSON expanded
aws greengrass update-thing-runtime-configuration --thing-name core-thing-name --telemetry-configuration '{ "RuntimeConfiguration": { "TelemetryConfiguration": { "ConfigurationSyncStatus": "InSync", "Telemetry": "Off" } } }
JSON single-line
aws greengrass update-thing-runtime-configuration --thing-name core-thing-name --telemetry-configuration "{\"TelemetryConfiguration\":{\"ConfigurationSyncStatus\":\"InSync\",\"Telemetry\":\"Off\"}}"

원격 분석 설정에 대한 변경 사항이ConfigurationSyncStatus확장하는 데InSync. 변경 사항은 런타임에 적용됩니다. 그룹을 배포할 필요가 없습니다.

텔레메트리구성 객체

TelemetryConfiguration객체는 다음 속성을 가집니다.

ConfigurationSyncStatus

원격 분석 설정이 동기화되어 있는지 확인합니다. 그냥 필요한 만큼그렇지 않을 수도 있습니다이 속성을 변경합니다.

유형: 문자열

유효한 값: InSync 또는 OutOfSync

Telemetry

원격 분석을 설정하거나 해제합니다. 기본값은 On입니다.

유형: 문자열

유효한 값: On 또는 Off

원격 분석 데이터 수신

Amazon EventBridge 에서 Greengrass 코어 디바이스에서 게시된 원격 분석 데이터를 처리하는 방법을 정의하는 규칙을 생성할 수 있습니다. EventBridge 는 데이터를 수신하면 규칙에 정의된 대상 작업을 호출합니다. 예를 들어 알림을 보내거나, 이벤트 정보를 저장하거나, 교정 작업을 수행하거나, 기타 이벤트를 호출하는 이벤트 규칙을 생성할 수 있습니다.

원격 측정 이벤트

원격 분석 데이터를 비롯한 배포 상태 변경에 대한 이벤트에서 사용하는 형식은 다음과 같습니다.

{ "version": "0", "id": "f70f943b-9ae2-e7a5-fec4-4c22178a3e6a", "detail-type": "Greengrass Telemetry Data", "source": "aws.greengrass", "account": "123456789012", "time": "2020-07-28T20:45:53Z", "region": "us-west-1", "resources": [], "detail": { "ThingName": "CoolThing", "Schema": "2020-06-30", "ADP": [ { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToKinesis", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToS3ExportTaskExecutor", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToHTTP", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToIoTAnalytics", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "StreamManager", "M": [ { "N": "BytesAppended|BytesUploadedToIoTSiteWise", "Sum": 11, "U": "Bytes" } ] }, { "TS": 123231546, "NS": "arn:aws:lambda:us-west-1:123456789012:function:my-function", "M": [ { "N": "LambdaTimeout", "Sum": 15, "U": "Count" } ] }, { "TS": 123231546, "NS": "CloudSpooler", "M": [ { "N": "DroppedMessageCount", "Sum": 15, "U": "Count" } ] }, { "TS": 1593727692, "NS": "SystemMetrics", "M": [ { "N": "SystemMemUsage", "Sum": 11.23, "U": "Megabytes" }, { "N": "CpuUsage", "Sum": 35.63, "U": "Percent" }, { "N": "TotalNumberOfFDs", "Sum": 416, "U": "Count" } ] }, { "TS": 1593727692, "NS": "arn:aws:lambda:us-west-1:123456789012:function:my-function", "M": [ { "N": "LambdaOutOfMemory", "Sum": 12, "U": "Count" }, { "N": "LambdaUngracefullyKilled", "Sum": 100, "U": "Count" }, { "N": "LambdaError", "Sum": 7, "U": "Count" } ] } ] } }

ADP배열에는 다음 속성이 있는 집계된 데이터 요소의 목록이 포함되어 있습니다.

TS

필수. 데이터가 집계된 시점의 타임스탬프입니다.

NS

필수. 시스템의 네임 스페이스입니다.

M

필수. 지표 목록. 지표에는 다음과 같은 속성이 있습니다.

N

의 이름입니다.지표.

Sum

집계된 지표 값. 원격 분석 에이전트는 이전 합계에 새 값을 추가하므로 합계는 계속 증가하는 값입니다. 타임스탬프를 사용하여 특정 집계의 값을 찾을 수 있습니다. 예를 들어, 최근 집계된 값을 찾으려면 최신 타임스탬프가 지정된 값에서 이전 타임스탬프 값을 뺍니다.

U

측정치 값의 단위입니다.

ThingName

필수. 대상 디바이스의 이름입니다.

EventBridge 규칙 생성을 위한 사전 조건

에 대한 EventBridge 규칙을 만들기 전에AWS IoT Greengrass을 실행하려면 다음을 수행해야 합니다.

  • EventBridge 의 이벤트, 규칙 및 대상을 익힐 수 있습니다.

  • 생성 및 구성targetsEventBridge 규칙에 의해 호출됩니다. Amazon Kinesis 스트림과 같은 다양한 유형의 대상을 호출합니다.AWS Lambda함수, Amazon SNS 주제 및 Amazon SQS 대기열에 대한 정보를 제공합니다.

    EventBridge 규칙 및 연결된 대상은AWS 리전당신은 당신의 Greengrass 자원을 만든 곳. 자세한 내용은 단원을 참조하십시오.서비스 엔드포인트 및 할당량AWS일반 참조.

자세한 내용은 단원을 참조하십시오.Amazon EventBridge 란 무엇입니까?Amazon EventBridge 시작하기Amazon EventBridge 사용 설명서.

원격 분석 데이터를 가져오는 이벤트 규칙 만들기 (콘솔)

다음 단계에 따라AWS Management Console를 사용하여 Greengrass 코어에서 게시한 원격 분석 데이터를 수신하는 EventBridge 규칙을 만듭니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다. 자세한 내용은 단원을 참조하십시오.의 이벤트에서 트리거되는 EventBridge 규칙을 생성하려면AWS리소스Amazon EventBridge 사용 설명서.

  1. 열기Amazon EventBridge 콘솔를 선택하고규칙 생성.

  2. 이름 및 설명에 규칙의 이름과 설명을 입력합니다.

  3. 패턴 정의에서 규칙 패턴을 구성합니다.

    1. [Event pattern]을 선택합니다.

    2. Pre-defined pattern by service(서비스별 사전 정의된 패턴)을 선택하십시오.

    3. Service provider(서비스 제공업체)에 대해 AWS를 선택하십시오.

    4. 서비스 이름에서 Greengrass를 선택합니다.

    5. 이벤트 유형를 선택한 후데이터 Greengrass metry.

  4. 이벤트 버스 선택에서 기본 이벤트 버스 옵션을 유지합니다.

  5. 대상 선택에서 대상을 구성합니다. 다음 예에서는 Amazon SQS 대기열을 사용하지만 다른 대상 유형을 구성할 수 있습니다.

    1. 대상를 선택하고SQS 대기열.

    2. 대기열*에서 대상 대기열을 선택합니다.

  6. 태그 - 선택 사항에서 규칙에 대한 태그를 정의하거나 필드를 비워 둡니다.

  7. Create를 선택합니다.

원격 분석 데이터 (CLI) 가져오기를 위한 이벤트 규칙 만들기

다음 단계에 따라AWS CLI를 사용하여 Greengrass 코어에서 게시한 원격 분석 데이터를 수신하는 EventBridge 규칙을 만듭니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다.

  1. 규칙을 생성합니다.

    • Replace사물 이름을 코어의 사물 이름으로 바꿉니다.

      사물 이름을 얻으려면코어 정의 버전명령입니다. 이 명령은 사물 이름이 포함된 사물의 ARN 반환합니다.

    aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"

    패턴에서 생략된 속성은 무시됩니다.

  2. 규칙 대상으로 주제를 추가합니다. 다음 예에서는 Amazon SQS 사용하지만 다른 대상 유형을 구성할 수 있습니다.

    • Replace대기열-ARNAmazon SQS 대기열의 ARN 과 함께

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="queue-arn"
    참고

    Amazon EventBridge 가 대상 대기열을 호출하도록 허용하려면 주제에 리소스 기반 정책을 추가해야 합니다. 자세한 내용은 단원을 참조하십시오.Amazon SQS 사용 권한Amazon EventBridge 사용 설명서.

자세한 내용은 단원을 참조하십시오.이벤트 브리지의 이벤트 및 이벤트 패턴Amazon EventBridge 사용 설명서.

문제 해결AWS IoT Greengrass원격 측정

다음 정보를 사용하면 구성 문제를 해결하는 데 도움이 됩니다.AWS IoT Greengrass원격 측정.

오류: 응답에는 “구성 상태”가 포함되어 있습니다. 가져오기 실행 시간 구성 명령을 실행 한 후 “OutOfSync”

솔루션:

  • 이AWS IoTDevice Shadow 서비스는 런타임 구성 업데이트를 처리하고 Greengrass 핵심 장치에 업데이트를 제공하는 데 시간이 걸립니다. 잠시 기다렸다가 나중에 원격 분석 설정이 동기화되는지 확인할 수 있습니다.

  • 코어 디바이스가 온라인 상태인지 확인합니다.

  • EnableAmazon CloudWatch LogsAWS IoT Core를 사용하여 섀도우를 모니터링합니다.

  • 사용AWS IoT지표를 사용하여 사물을 모니터링할 수 있습니다.