기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
시스템 상태 원격 측정 데이터는 Greengrass 코어 장치의 중요 작업 성능을 모니터링하는 데 도움이 되는 진단 데이터입니다. 엣지 장치에서 원격 측정 데이터를 검색, 분석, 변환 및 보고하는 프로젝트와 애플리케이션을 만들 수 있습니다. 프로세스 엔지니어와 같은 도메인 전문가는 이러한 애플리케이션을 사용하여 플릿 상태에 대한 통찰력을 얻을 수 있습니다.
다음 방법을 사용하여 Greengrass 코어 디바이스에서 원격 측정 데이터를 수집할 수 있습니다.
-
nucleus 원격 측정 이미터 구성 요소 - Greengrass 코어 디바이스의 nucleus 원격 측정 이미터 구성 요소(
aws.greengrass.telemetry.NucleusEmitter
)는 기본적으로 원격 측정 데이터를$local/greengrass/telemetry
주제에 게시합니다. 이 주제에 게시된 데이터를 사용하여 디바이스의 클라우드 연결이 제한되어 있는 경우에도 코어 디바이스에서 로컬로 작업할 수 있습니다. 구성 요소를 구성하여 선택한 AWS IoT Core MQTT 주제에 원격 측정 데이터를 게시할 수도 있습니다(선택 사항).원격 측정 데이터를 게시하려면 코어 디바이스에 nucleus 이미터 구성 요소를 배포해야 합니다. 원격 측정 데이터를 로컬 주제에 게시하는 데는 비용이 들지 않습니다. 그러나 MQTT 주제를 사용하여 AWS 클라우드에 데이터를 게시하는 경우에는 AWS IoT Core 요금
이 적용됩니다. AWS IoT Greengrass는 InfluxDB 및 Grafana를 사용하여 코어 디바이스에서 로컬로 원격 측정 데이터를 분석하고 시각화하는 데 도움이 되는 여러 커뮤니티 구성 요소를 제공합니다. 이러한 구성 요소는 nucleus 이미터 구성 요소의 원격 측정 데이터를 사용합니다. 자세한 내용은 InfluxDB 게시자 구성 요소
에 대한 README를 참조하세요. -
원격 측정 에이전트 - Greengrass 코어 디바이스의 원격 측정 에이전트는 로컬 원격 측정 데이터를 수집하여 고객과 상호 작용할 필요 없이 Amazon EventBridge에 게시합니다. 코어 장치는 최선의 노력으로 EventBridge에 원격 측정 데이터를 게시합니다. 예를 들어, 코어 장치는 오프라인 상태에서 원격 측정 데이터를 제공하지 못할 수 있습니다.
원격 측정 에이전트 기능은 모든 Greengrass 코어 디바이스에서 기본적으로 활성화되어 있습니다. Greengrass 코어 디바이스를 설정하는 즉시 자동으로 데이터 수신을 시작합니다. 데이터 링크 비용을 제외하고 코어 디바이스에서 AWS IoT Core로 데이터를 전송하는 데는 요금이 부과되지 않습니다. 이는 에이전트가 AWS 예약된 주제에 게시하기 때문입니다. 하지만 사용 사례에 따라 데이터를 받거나 처리할 때 비용이 발생할 수 있습니다.
참고
Amazon EventBridge는 애플리케이션을 Greengrass 코어 디바이스와 같은 다양한 소스의 데이터와 연결하는 데 사용할 수 있는 이벤트 버스 서비스입니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge란? 섹션을 참조하세요.
AWS IoT Greengrass 코어 소프트웨어가 제대로 작동하도록 하기 위해 AWS IoT Greengrass는 개발 및 품질 개선 목적으로 데이터를 사용합니다. 또한 이 기능은 새롭고 향상된 엣지 기능에 대한 정보를 알려줍니다. AWS IoT Greengrass는 원격 측정 데이터를 최대 7일간 유지합니다.
이 섹션에서는 원격 측정 에이전트를 구성하고 사용하는 방법에 대해 설명합니다. nucleus 원격 측정 이미터 구성 요소 구성에 대한 자세한 내용은 nucleus 원격 측정 이미터 섹션을 참조하세요.
원격 측정 지표
다음 표에서는 원격 측정 에이전트에서 게시하는 지표를 설명합니다.
명칭 | 설명 |
---|---|
시스템 |
|
|
운영 체제를 포함하여 Greengrass 코어 장치의 모든 애플리케이션에서 현재 사용 중인 메모리의 양입니다. |
|
운영 체제를 포함하여 Greengrass 코어 장치의 모든 애플리케이션에서 현재 사용 중인 CPU의 양입니다. |
|
Greengrass 코어 장치의 운영 체제에 저장된 파일 디스크립터 수입니다. 하나의 파일 디스크립터는 열려 있는 파일 하나를 고유하게 식별합니다. |
Greengrass nucleus |
|
|
Greengrass 코어 디바이스에서 실행 중인 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에서 오류 상태에 있는 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에 설치된 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에서 시작하는 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스의 새로운 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에서 중지하는 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에서 완료된 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에서 손상된 구성 요소의 수입니다. |
|
Greengrass 코어 디바이스에 있는 상태 비저장 구성 요소의 수입니다. |
클라이언트 디바이스 인증 - 이 기능을 사용하려면 클라이언트 디바이스 인증 구성 요소의 v2.4.0 이상이 필요합니다. |
|
|
클라이언트 디바이스 ID가 성공했는지 확인하는 횟수. |
|
클라이언트 디바이스 ID가 실패했는지 확인하는 횟수. |
|
클라이언트 디바이스에 요청된 작업을 완료할 수 있는 권한이 부여된 횟수. |
|
클라이언트 디바이스에 요청된 작업을 완료할 수 있는 권한이 부여되지 않은 횟수. |
|
클라이언트 디바이스가 성공적으로 인증된 횟수. |
|
클라이언트 디바이스가 인증되지 못한 횟수. |
|
인증서 업데이트에 대한 성공적인 구독의 수. |
|
인증서 업데이트를 구독하려다 실패한 시도 횟수. |
|
클라이언트 디바이스 인증에서 처리되지 않은 내부 오류의 수. |
스트림 관리자 - 이 기능은 Greengrass nucleus 구성 요소의 v2.7.0 이상에서 사용할 수 있습니다. |
|
|
스트림 관리자에 추가된 데이터의 바이트 수입니다. |
|
스트림 관리자가 AWS IoT Analytics에서 채널로 내보내는 데이터의 바이트 수입니다. |
|
스트림 관리자가 Amazon Kinesis Data Streams의 스트림으로 내보내는 데이터의 바이트 수입니다. |
|
스트림 관리자가 AWS IoT SiteWise에서 에셋 속성으로 내보내는 데이터의 바이트 수입니다. |
|
스트림 관리자가 Amazon S3의 객체로 내보내는 데이터의 바이트 수입니다. |
원격 측정 에이전트 설정
원격 측정 에이전트는 다음 기본 설정을 사용합니다.
-
원격 측정 에이전트는 1시간마다 원격 측정 데이터를 집계합니다.
-
원격 측정 에이전트는 24시간마다 원격 측정 메시지를 게시합니다.
원격 측정 에이전트는 서비스 품질(QoS) 수준이 0인 MQTT 프로토콜을 사용하여 데이터를 게시합니다. 이는 전송을 확인하거나 게시 시도를 다시 시도하지 않음을 의미합니다. 원격 측정 메시지는 AWS IoT Core 대상으로 하는 구독에 대한 다른 메시지와 MQTT 연결을 공유합니다.
데이터 링크 비용을 제외하면 코어에서 AWS IoT Core로 데이터를 전송하는 데는 요금이 부과되지 않습니다. 이는 에이전트가 AWS 예약된 주제에 게시하기 때문입니다. 하지만 사용 사례에 따라 데이터를 받거나 처리할 때 비용이 발생할 수 있습니다.
각 Greengrass 코어 디바이스에 대해 원격 측정 에이전트 기능을 활성화하거나 비활성화할 수 있습니다. 코어 디바이스가 데이터를 집계하고 게시하는 간격을 구성할 수도 있습니다. 원격 측정을 구성하려면 Greengrass nucleus 구성 요소를 배포할 때 원격 측정 구성 파라미터를 사용자 지정합니다.
EventBridge에서 원격 측정 데이터 구독
Amazon EventBridge에서 Greengrass 코어 디바이스의 원격 측정 에이전트에서 게시된 원격 측정 데이터를 처리하는 방법을 정의하는 규칙을 생성할 수 있습니다. 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 규칙을 생성하기 위한 사전 조건
AWS IoT Greengrass에 대한 EventBridge 규칙을 생성하기 전에 다음을 수행해야 합니다.
-
Eventbridge의 이벤트, 규칙, 대상을 숙지해야 합니다.
-
EventBridge 규칙에 의해 호출되는 대상을 생성하고 구성해야 합니다. 규칙은 Amazon Kinesis 스트림, AWS Lambda, 함수, Amazon SNS 주제, Amazon SQS 대기열 등 다양한 유형의 대상을 간접적으로 호출할 수 있습니다.
EventBridge 규칙 및 관련 대상은 Greengrass 리소스를 생성한 AWS 리전에 있어야 합니다. 자세한 내용은 AWS 일반 참조의 서비스 엔드포인트 및 할당량을 참조하십시오.
자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge란? 및 Amazon EventBridge 시작하기 섹션을 참조하세요.
원격 측정 데이터를 가져오기 위한 이벤트 규칙 생성(콘솔)
다음 단계에 따라 AWS Management Console를 사용하여 Greengrass 코어 디바이스에서 게시한 원격 측정 데이터를 수신하는 EventBridge 규칙을 생성할 수 있습니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다. 자세한 내용은 Amazon EventBridge User Guide의 Creating an EventBridge Rule That Triggers on an Event from an AWS Resource를 참조하세요.
-
Amazon EventBridge 콘솔
을 열고 규칙 생성을 선택합니다. -
이름 및 설명에 규칙의 이름과 설명을 입력합니다.
-
패턴 정의에서 규칙 패턴을 구성합니다.
-
[Event pattern]을 선택합니다.
-
Pre-defined pattern by service(서비스별 사전 정의된 패턴)을 선택하십시오.
-
서비스 공급자(Service provider)에 AWS를 선택합니다.
-
서비스 이름에서 Greengrass를 선택합니다.
-
이벤트 유형에서 Greengrass 원격 측정 데이터를 선택합니다.
-
-
이벤트 버스 선택에서 기본 이벤트 버스 옵션을 유지합니다.
-
대상 선택에서 대상을 구성합니다. 다음 예제는 Amazon SQS 대기열을 사용하지만 다른 대상 유형을 구성할 수도 있습니다.
-
대상에서 SQS 대기열을 선택합니다.
-
대기열*에서 대상 대기열을 선택합니다.
-
-
태그 - 선택 사항에서 규칙에 대한 태그를 정의하거나 필드를 비워 둡니다.
-
생성(Create)을 선택합니다.
원격 측정 데이터(CLI) 를 가져오기 위한 이벤트 규칙 생성
다음 단계에 따라 AWS CLI를 사용하여 Greengrass 코어 디바이스에서 게시한 원격 측정 데이터를 수신하는 EventBridge 규칙을 생성할 수 있습니다. 이렇게 하면 웹 서버, 이메일 주소 및 기타 주제 구독자가 이벤트에 대응할 수 있습니다.
-
규칙을 생성합니다.
-
thing-name
을 코어 디바이스의 사물 이름으로 바꿉니다.
aws events put-rule \ --name MyGreengrassTelemetryEventRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"
thing-name
\"]}}"패턴에서 생략된 속성은 무시됩니다.
-
-
규칙 대상으로 주제를 추가합니다. 다음 예제는 Amazon SQS를 사용하지만 다른 대상 유형을 구성할 수 있습니다.
-
queue-arn
을 Amazon SQS 대기열의 ARN으로대체하십시오.
aws events put-targets \ --rule MyGreengrassTelemetryEventRule \ --targets "Id"="1","Arn"="
queue-arn
"참고
Amazon EventBridge가 대상 주제를 간접적으로 호출하도록 허용하려면 대기열에 리소스 기반 정책을 추가해야 합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon SQS 권한 단원을 참조하세요.
-
자세한 내용은 Amazon EventBridge 사용 설명서에서 EventBridge의 이벤트 및 이벤트 패턴 단원을 참조하세요.