AWS IoT Greengrass핵심 장치에서 시스템 상태 원격 측정 데이터 수집 - AWS IoT Greengrass

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

AWS IoT Greengrass핵심 장치에서 시스템 상태 원격 측정 데이터 수집

시스템 상태 원격 측정 데이터는 Greengrass 코어 디바이스의 중요 작업 성능을 모니터링하는 데 도움이 되는 진단 데이터입니다. 엣지 디바이스에서 원격 측정 데이터를 검색, 분석, 변환 및 보고하는 프로젝트와 애플리케이션을 만들 수 있습니다. 프로세스 엔지니어와 같은 도메인 전문가는 이러한 애플리케이션을 사용하여 플릿 상태에 대한 통찰력을 얻을 수 있습니다.

다음 방법을 사용하여 Greengrass 코어 장치에서 원격 측정 데이터를 수집할 수 있습니다.

  • Nucleus 텔레메트리 이미터 구성 요소 —Greengrass 코어 디바이스의 Nucleus 텔레메트리 이미터 구성 요소 () 는 기본적으로 원격 측정 데이터를 aws.greengrass.telemetry.NucleusEmitter 주제에 게시합니다. $local/greengrass/telemetry 디바이스의 클라우드 연결이 제한된 경우에도 이 주제에 게시된 데이터를 사용하여 코어 디바이스에서 로컬로 작동할 수 있습니다. 원하는 AWS IoT Core MQTT 주제에 원격 분석 데이터를 게시하도록 구성 요소를 구성할 수도 있습니다.

    텔레메트리 데이터를 게시하려면 핵 이미터 구성 요소를 코어 장치에 배포해야 합니다. 원격 분석 데이터를 로컬 주제에 게시하는 데는 비용이 들지 않습니다. 하지만 MQTT 주제를 사용하여 에 데이터를 게시하는 경우 요금이 AWS 클라우드 부과됩니다. AWS IoT Core

    AWS IoT GreengrassInfluxDB 및 Grafana를 사용하여 코어 장치에서 로컬로 원격 측정 데이터를 분석하고 시각화하는 데 도움이 되는 여러 커뮤니티 구성 요소를 제공합니다. 이러한 구성 요소는 핵 방사체 구성 요소의 원격 측정 데이터를 사용합니다. 자세한 내용은 InfluxDB 게시자 구성 요소에 대한 README를 참조하십시오.

  • 텔레메트리 에이전트 —Greengrass 코어 디바이스의 텔레메트리 에이전트는 고객 개입 없이 로컬 텔레메트리 데이터를 수집하여 Amazon에 게시합니다. EventBridge 코어 디바이스는 최선의 노력을 다해 원격 분석 데이터를 게시합니다. EventBridge 예를 들어, 코어 디바이스는 오프라인 상태에서 원격 측정 데이터를 제공하지 못할 수 있습니다.

    원격 분석 에이전트 기능은 모든 Greengrass 코어 디바이스에서 기본적으로 활성화됩니다. Greengrass 코어 디바이스를 설정하는 즉시 자동으로 데이터를 수신하기 시작합니다. 데이터 링크 비용을 제외하고 코어 디바이스에서 코어 디바이스로의 데이터 전송에는 요금이 AWS IoT Core 부과되지 않습니다. 이는 에이전트가 AWS 예약된 주제에 게시하기 때문입니다. 하지만 사용 사례에 따라 데이터를 받거나 처리할 때 비용이 발생할 수 있습니다.

    참고

    EventBridge Amazon은 Greengrass 코어 디바이스와 같은 다양한 소스의 데이터에 애플리케이션을 연결하는 데 사용할 수 있는 이벤트 버스 서비스입니다. 자세한 내용은 Amazon이란 무엇입니까 EventBridge? 를 참조하십시오. Amazon EventBridge 사용 설명서에서 확인할 수 있습니다.

AWS IoT GreengrassCore 소프트웨어가 제대로 작동하도록 하기 위해 는 데이터를 개발 및 품질 개선 목적으로 AWS IoT Greengrass 사용합니다. 또한 이 기능은 새롭고 향상된 엣지 기능을 알려주는 데도 도움이 됩니다. AWS IoT Greengrass텔레메트리 데이터를 최대 7일 동안 보존합니다.

이 섹션에서는 원격 분석 에이전트를 구성하고 사용하는 방법에 대해 설명합니다. nucleus 텔레메트리 이미터 구성 요소 구성에 대한 자세한 내용은 을 참조하십시오. 뉴클리어스 텔레메트리 이미터

원격 측정 지표

다음 표에는 원격 분석 에이전트가 게시한 메트릭이 설명되어 있습니다.

명칭 설명

시스템

SystemMemUsage

운영 체제를 포함하여 Greengrass 코어 디바이스의 모든 애플리케이션에서 현재 사용 중인 메모리의 양입니다.

CpuUsage

운영 체제를 포함하여 Greengrass 코어 디바이스의 모든 애플리케이션에서 현재 사용 중인 CPU의 양입니다.

TotalNumberOfFDs

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

그린그래스 핵

NumberOfComponentsRunning

Greengrass 코어 디바이스에서 실행 중인 구성 요소 수입니다.

NumberOfComponentsErrored

Greengrass 코어 디바이스에서 오류 상태에 있는 구성 요소의 수입니다.

NumberOfComponentsInstalled

Greengrass 코어 디바이스에 설치된 구성 요소 수입니다.

NumberOfComponentsStarting

Greengrass 코어 디바이스에서 시작되는 구성 요소 수입니다.

NumberOfComponentsNew

Greengrass 코어 디바이스에 새로 추가된 구성 요소의 수.

NumberOfComponentsStopping

Greengrass 코어 디바이스에서 중지되는 구성 요소의 수입니다.

NumberOfComponentsFinished

Greengrass 코어 디바이스에서 완성된 구성 요소의 수입니다.

NumberOfComponentsBroken

Greengrass 코어 디바이스에서 고장난 구성 요소의 수입니다.

NumberOfComponentsStateless

Greengrass 코어 디바이스에서 스테이트리스 상태인 구성 요소의 수입니다.

클라이언트 장치 인증 - 이 기능을 사용하려면 v2.4.0 이상의 클라이언트 장치 인증 구성 요소가 필요합니다.

VerifyClientDeviceIdentity.Success

클라이언트 장치 ID가 성공했는지 확인한 횟수입니다.

VerifyClientDeviceIdentity.Failure

클라이언트 장치 ID 확인에 실패한 횟수입니다.

AuthorizeClientDeviceActions.Success

클라이언트 장치가 요청된 작업을 완료할 수 있는 권한을 부여받은 횟수.

AuthorizeClientDeviceActions.Failure

클라이언트 장치에 요청된 작업을 완료할 권한이 없는 횟수.

GetClientDeviceAuthToken.Success

클라이언트 장치가 성공적으로 인증된 횟수.

GetClientDeviceAuthToken.Failure

클라이언트 장치를 인증할 수 없는 횟수입니다.

SubscribeToCertificateUpdates.Success

인증서 업데이트를 성공적으로 구독한 횟수.

SubscribeToCertificateUpdates.Failure

인증서 업데이트 구독 시도에 실패한 횟수.

ServiceError

클라이언트 장치 인증에서 처리되지 않은 내부 오류 수입니다.

스트림 매니저 — 이 기능을 사용하려면 v2.7.0 이상의 Greengrass 핵 구성 요소가 필요합니다.

BytesAppended

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

BytesUploadedToIoTAnalytics

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

BytesUploadedToKinesis

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

BytesUploadedToIoTSiteWise

스트림 관리자가 AWS IoT SiteWise에서 에셋 속성으로 내보내는 데이터의 바이트 수입니다.

BytesUploadedToS3

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

원격 분석 에이전트 설정을 구성합니다.

원격 분석 에이전트는 다음과 같은 기본 설정을 사용합니다.

  • 원격 측정 에이전트는 1시간마다 원격 측정 데이터를 집계합니다.

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

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

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

각 Greengrass 코어 장치에 대해 원격 분석 에이전트 기능을 활성화하거나 비활성화할 수 있습니다. 코어 디바이스가 데이터를 집계하고 게시하는 간격을 구성할 수도 있습니다. 텔레메트리를 구성하려면 Greengrass nucleus 구성 요소를 배포할 때 텔레메트리 구성 매개변수를 사용자 지정하십시오.

에서 텔레메트리 데이터를 구독하세요. EventBridge

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

텔레메트리 이벤트

텔레메트리 이벤트는 다음 형식을 사용합니다.

{ "version": "0", "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955", "detail-type": "Greengrass Telemetry Data", "source": "aws.greengrass", "account": "123456789012", "time": "2020-11-30T20:45:53Z", "region": "us-east-1", "resources": [], "detail": { "ThingName": "MyGreengrassCore", "Schema": "2020-07-30", "ADP": [ { "TS": 1602186483234, "NS": "SystemMetrics", "M": [ { "N": "TotalNumberOfFDs", "Sum": 6447.0, "U": "Count" }, { "N": "CpuUsage", "Sum": 15.458333333333332, "U": "Percent" }, { "N": "SystemMemUsage", "Sum": 10201.0, "U": "Megabytes" } ] }, { "TS": 1602186483234, "NS": "GreengrassComponents", "M": [ { "N": "NumberOfComponentsStopping", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStarting", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsBroken", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsFinished", "Sum": 1.0, "U": "Count" }, { "N": "NumberOfComponentsInstalled", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsRunning", "Sum": 7.0, "U": "Count" }, { "N": "NumberOfComponentsNew", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsErrored", "Sum": 0.0, "U": "Count" }, { "N": "NumberOfComponentsStateless", "Sum": 0.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.ClientDeviceAuth", "M": [ { "N": "VerifyClientDeviceIdentity.Success", "Sum": 3.0, "U": "Count" }, { "N": "VerifyClientDeviceIdentity.Failure", "Sum": 1.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Success", "Sum": 20.0, "U": "Count" }, { "N": "AuthorizeClientDeviceActions.Failure", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Success", "Sum": 5.0, "U": "Count" }, { "N": "GetClientDeviceAuthToken.Failure", "Sum": 2.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Success", "Sum": 10.0, "U": "Count" }, { "N": "SubscribeToCertificateUpdates.Failure", "Sum": 1.0, "U": "Count" }, { "N": "ServiceError", "Sum": 3.0, "U": "Count" } ] }, { "TS": 1602186483234, "NS": "aws.greengrass.StreamManager", "M": [ { "N": "BytesAppended", "Sum": 157745524.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTAnalytics", "Sum": 149012.0, "U": "Bytes" }, { "N": "BytesUploadedToKinesis", "Sum": 12192.0, "U": "Bytes" }, { "N": "BytesUploadedToIoTSiteWise", "Sum": 13321.0, "U": "Bytes" }, { "N": "BytesUploadedToS3", "Sum": 12213.0, "U": "Bytes" } ] } ] } }

ADP 배열에는 다음과 같은 속성을 가진 집계된 데이터 포인트 목록이 포함됩니다.

TS

데이터 수집 시점의 타임스탬프.

NS

메트릭 네임스페이스.

M

지표 목록 이 지표는 다음 속성을 포함하고 있습니다.

N

지표의 이름입니다.

Sum

이 텔레메트리 이벤트의 메트릭 값 합계.

U

지표 값의 단위입니다.

각 지표에 대한 자세한 내용은 을 참조하십시오원격 측정 지표.

규칙 생성을 위한 사전 요구 사항 EventBridge

에 대한 EventBridge 규칙을 생성하기 전에 AWS IoT Greengrass 다음을 수행해야 합니다.

  • 에서 이벤트, 규칙, 대상을 숙지하세요. EventBridge

  • 규칙에 따라 호출되는 대상을 만들고 구성하세요. EventBridge 규칙은 Amazon Kinesis 스트림, AWS Lambda, 함수, Amazon SNS 주제, Amazon SQS 대기열 등 다양한 유형의 대상을 간접적으로 호출할 수 있습니다.

    EventBridge 규칙 및 관련 대상은 Greengrass 리소스를 생성한 AWS 리전 위치에 있어야 합니다. 자세한 내용은 AWS 일반 참조서비스 엔드포인트 및 할당량을 참조하십시오.

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

원격 측정 데이터를 가져오기 위한 이벤트 규칙 생성(콘솔)

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

  1. Amazon EventBridge 콘솔을 열고 규칙 생성을 선택합니다.

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

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

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

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

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

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

    5. 이벤트 유형에서 Greengrass 텔레메트리 데이터를 선택합니다.

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

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

    1. Target에서 SQS 대기열을 선택합니다.

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

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

  7. 생성을 선택하세요.

원격 측정 데이터(CLI) 를 가져오기 위한 이벤트 규칙 생성

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

  1. 규칙을 생성합니다.

    • 사물 이름을 코어 디바이스의 사물 이름으로 바꾸십시오.

    Linux or Unix
    aws events put-rule \ --name MyGreengrassTelemetryEventRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
    Windows Command Prompt (CMD)
    aws events put-rule ^ --name MyGreengrassTelemetryEventRule ^ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
    PowerShell
    aws events put-rule ` --name MyGreengrassTelemetryEventRule ` --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"

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

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

    • queue-arn을 Amazon SQS 대기열의 ARN으로대체하십시오.

    Linux or Unix
    aws events put-targets \ --rule MyGreengrassTelemetryEventRule \ --targets "Id"="1","Arn"="queue-arn"
    Windows Command Prompt (CMD)
    aws events put-targets ^ --rule MyGreengrassTelemetryEventRule ^ --targets "Id"="1","Arn"="queue-arn"
    PowerShell
    aws events put-targets ` --rule MyGreengrassTelemetryEventRule ` --targets "Id"="1","Arn"="queue-arn"
    참고

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

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