기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon CloudWatch 지표 구성 요소(aws.greengrass.Cloudwatch
)에서는 Greengrass 코어 디바이스의 사용자 지정 지표를 Amazon CloudWatch에 게시합니다. 구성 요소를 사용하면 Greengrass 코어 디바이스의 환경 모니터링 및 분석에 사용할 수 있는 CloudWatch 지표를 구성 요소에서 게시할 수 있습니다. 자세한 설명은 Amazon CloudWatch 사용자 가이드에서 Amazon CloudWatch 지표 사용하기를 참조하세요.
이 구성 요소로 CloudWatch 지표를 게시하려면 이 구성 요소에서 구독하는 주제에 메시지를 게시합니다. 기본적으로 이 구성 요소에서는 cloudwatch/metric/put
로컬 게시/구독 주제를 구독합니다. 이 구성 요소를 배포할 때 AWS IoT Core MQTT 주제를 포함한 다른 주제를 지정할 수 있습니다.
이 구성 요소에서는 동일한 네임스페이스에 있는 지표를 배치 처리하며 정기적으로 CloudWatch에 게시합니다.
참고
이 구성 요소는 AWS IoT Greengrass V1의 CloudWatch 지표 커넥터와 유사한 기능을 제공합니다. 자세한 내용은 AWS IoT Greengrass V1 개발자 안내서의 CloudWatch 지표 커넥터를 참조하세요.
버전
이 구성 요소에는 다음과 같은 버전이 있습니다.
-
3.2.x
-
3.1.x
-
3.0.x
-
2.1.x
-
2.0.x
각 구성 요소 버전의 변경 사항에 대한 내용은 changelog를 참조하세요.
유형
이 구성 요소는 일반 구성 요소(aws.greengrass.generic
)입니다. Greengrass nucleus는 구성 요소의 수명 주기 스크립트를 실행합니다.
자세한 내용은 구성 요소 유형 단원을 참조하십시오.
운영 체제
이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.
Linux
Windows
요구 사항
이 구성 요소의 요구 사항은 다음과 같습니다.
-
코어 장치에 설치되고 PATH 환경 변수에 추가된 Python
버전 3.7입니다. -
다음 예제 IAM 정책에 표시된 대로 Greengrass 디바이스 역할에서는
cloudwatch:PutMetricData
작업이 허용되어야 합니다.{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
자세한 내용은 Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 권한 참조를 참조하세요.
엔드포인트 및 포트
이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에 다음 엔드포인트 및 포트에 대한 아웃바운드 요청도 수행할 수 있어야 합니다. 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 단원을 참조하십시오.
엔드포인트 | 포트 | 필수 | 설명 |
---|---|---|---|
|
443 | 예 |
CloudWatch 지표를 업로드합니다. |
종속성
구성 요소를 배포할 때는 호환되는 버전의 종속성 AWS IoT Greengrass 도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 단원에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. AWS IoT Greengrass 콘솔
다음 표에는이 구성 요소의 버전 3.2.0에 대한 종속성이 나열되어 있습니다.
종속성 | 호환 버전 | 종속성 유형 |
---|---|---|
Greengrass nucleus | >=2.0.0 <3.0.0 | 소프트 |
토큰 교환 서비스 | >=0.0.0 | 하드 |
구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하세요.
구성
이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.
-
PublishInterval
-
(선택 사항) 주어진 네임스페이스에 대해 일괄 처리된 지표를 게시하기 전에 대기해야 하는 최대 시간(초)입니다. 지표를 받자마자 배치 처리 없이 게시하도록 구성 요소를 구성하려면
0
을 지정합니다.이 구성 요소에서는 동일한 네임스페이스의 지표 20개를 받은 후 또는 사용자가 지정하는 간격 후 CloudWatch에 게시합니다.
참고
구성 요소에서는 이벤트가 게시되는 순서를 지정되지 않습니다.
이 값은 최대 900초가 될 수 있습니다.
기본값: 10초
-
MaxMetricsToRetain
-
(선택 사항) 구성 요소에서 새 지표로 바꾸기 전에 메모리에 저장되는 모든 네임스페이스의 최대 지표 수입니다.
이 제한은 인터넷에 대한 연결이 코어 디바이스에 없어서 구성 요소에서 나중에 게시할 지표를 버퍼링할 때 적용됩니다. 버퍼가 가득 차면 구성 요소에서는 가장 오래된 지표를 최신 지표로 바뀝니다. 주어진 네임스페이스의 지표에서는 동일한 네임스페이스의 지표만 바뀝니다.
참고
구성 요소에 대한 호스트 프로세스가 중단되면 구성 요소에서는 지표가 저장되지 않습니다. 예를 들어 배포 중이거나 코어 디바이스가 다시 시작할 때 이렇게 될 수 있습니다.
이 값의 지표는 2,000개 이상이어야 합니다.
기본값: 지표 5,000개
InputTopic
-
(선택 사항) 구성 요소에서 메시지 수신이 구독되는 주제입니다.
PubSubToIoTCore
에true
를 지정하는 경우 이 주제에서 MQTT 와일드카드(+ 및 #)를 사용할 수 있습니다.기본값:
cloudwatch/metric/put
OutputTopic
-
(선택 사항) 구성 요소에서 상태 응답이 게시되는 주제입니다.
기본값:
cloudwatch/metric/put/status
PubSubToIoTCore
-
(선택 사항) AWS IoT Core MQTT 주제에 게시하고 구독할지 여부를 정의하는 문자열 값입니다. 지원되는 값은
true
및false
입니다.기본값:
false
LogLevel
-
(선택 사항) 구성 요소의 로깅 수준. 여기에 수준 순서대로 나열된 다음 로그 수준 중에서 선택합니다.
-
DEBUG
-
INFO
-
WARNING
-
ERROR
-
CRITICAL
기본값:
INFO
-
UseInstaller
-
(선택 사항) 이 구성 요소의 설치 프로그램 스크립트를 사용하여 이 구성 요소의 SDK 종속성을 설치할지 여부를 정의하는 부울 값입니다.
사용자 지정 스크립트를 사용하여 종속성을 설치하려는 경우 또는 사전 구축된 Linux 이미지에 런타임 종속성을 포함하려는 경우 이 값을
false
로 설정합니다. 이 구성 요소를 사용하려면 다음 라이브러리를 설치하고(종속성 포함), 기본 Greengrass 시스템 사용자가 사용할 수 있도록 해야 합니다.기본값:
true
PublishRegion
-
(선택 사항) CloudWatch 지표 AWS 리전 를 게시할 입니다. 이 값으로 코어 디바이스의 기본 리전이 재정의됩니다. 이 파라미터는 리전 간 지표에만 필요합니다.
accessControl
-
(선택 사항) 주어진 주제를 게시하고 구독하도록 구성 요소에 허용하는 권한 부여 정책이 있는 객체입니다.
InputTopic
및OutputTopic
에 대한 사용자 지정 값을 지정하는 경우 이 객체의 리소스 값을 업데이트해야 합니다.기본값:
{ "aws.greengrass.ipc.pubsub": { "aws.greengrass.Cloudwatch:pubsub:1": { "policyDescription": "Allows access to subscribe to input topics.", "operations": [ "aws.greengrass#SubscribeToTopic" ], "resources": [ "
cloudwatch/metric/put
" ] }, "aws.greengrass.Cloudwatch:pubsub:2": { "policyDescription": "Allows access to publish to output topics.", "operations": [ "aws.greengrass#PublishToTopic" ], "resources": [ "cloudwatch/metric/put/status
" ] } }, "aws.greengrass.ipc.mqttproxy": { "aws.greengrass.Cloudwatch:mqttproxy:1": { "policyDescription": "Allows access to subscribe to input topics.", "operations": [ "aws.greengrass#SubscribeToIoTCore" ], "resources": [ "cloudwatch/metric/put
" ] }, "aws.greengrass.Cloudwatch:mqttproxy:2": { "policyDescription": "Allows access to publish to output topics.", "operations": [ "aws.greengrass#PublishToIoTCore" ], "resources": [ "cloudwatch/metric/put/status
" ] } } }
예: 구성 병합 업데이트
{
"PublishInterval": 0,
"PubSubToIoTCore": true
}
입력 데이터
이 구성 요소에서는 다음 주제에 대한 지표가 수락되고 지표가 CloudWatch에 게시됩니다. 기본적으로 이 구성 요소는 로컬 게시/구독 메시지가 구독됩니다. 사용자 지정 구성 요소에서 이 구성 요소로 메시지를 게시하는 방법에 대한 자세한 내용은 로컬 메시지 게시/구독 단원을 참조하세요.
구성 요소 버전 v3.0.0부터 PubSubToIoTCore
구성 파라미터를 true
로 설정하여 MQTT 주제를 구독하도록 이 구성 요소를 선택적으로 구성할 수 있습니다. 사용자 지정 구성 요소의 MQTT 주제로 메시지를 게시하는 방법에 대한 자세한 내용은 메시지 게시/구독 AWS IoT Core MQTT 단원을 참조하세요.
기본 주제: cloudwatch/metric/put
메시지는 다음 속성을 수락합니다. 입력 메시지는 JSON 형식이어야 합니다.
-
request
-
이 메시지의 지표입니다.
요청 객체에는 CloudWatch에 게시할 지표 데이터가 포함되어 있습니다. 지표 값에서는
PutMetricData
작업의 사양이 충족되어야 합니다.유형: 다음 정보를 포함하는
object
입니다.-
namespace
-
이 요청의 지표 데이터에 대한 사용자 정의 네임스페이스입니다. CloudWatch는 네임스페이스를 지표 데이터 포인트의 컨테이너로 사용합니다.
참고
예약 문자어
AWS/
로 시작하는 네임스페이스는 지정할 수 없습니다.유형:
string
유효한 패턴:
[^:].*
-
metricData
-
지표에 대한 데이터.
유형: 다음 정보를 포함하는
object
입니다.-
metricName
-
지표의 이름.
유형:
string
-
value
-
지표에 대한 값.
참고
CloudWatch에서는 너무 작거나 큰 값을 거부합니다. 값은
8.515920e-109
~1.174271e+108
(Base 10) 또는2e-360
~2e360
(Base 2)로 되어야 합니다. CloudWatch에서는 특수 값이 지원되지 않습니다(예:NaN
,+Infinity
및-Infinity
).유형:
double
-
dimensions
-
(선택 사항) 지표의 차원입니다. 차원에서는 지표와 해당 데이터에 대한 추가 정보가 제공됩니다. 지표는 최대 10개 차원을 정의할 수 있습니다.
이 구성 요소에는 이름이
coreName
인 차원이 자동으로 포함되어 있으며, 여기에서 값은 코어 디바이스의 이름입니다.유형: 각각 다음 정보가 있는 객체의
array
입니다.-
name
-
(선택 사항) 차원 이름입니다.
유형:
string
-
value
-
(선택 사항) 차원 값입니다.
유형:
string
-
-
timestamp
-
(선택 사항) Unix 에포크 시간으로 초 단위로 표시되는 메트릭 데이터가 수신된 시각입니다.
기본값은 구성 요소에서 메시지를 받는 시각입니다.
유형:
double
참고
이 구성 요소의 버전 2.0.3~2.0.7를 사용한다면 단일 소스의 여러 지표를 보낼 때 지표마다 타임스탬프를 개별적으로 검색하는 것이 좋습니다. 변수를 사용하여 타임스탬프를 저장하지 마세요.
-
unit
-
(선택 사항) 지표의 단위입니다.
유형:
string
유효한 값:
Seconds
,Microseconds
,Milliseconds
,Bytes
,Kilobytes
,Megabytes
,Gigabytes
,Terabytes
,Bits
,Kilobits
,Megabits
,Gigabits
,Terabits
,Percent
,Count
,Bytes/Second
,Kilobytes/Second
,Megabytes/Second
,Gigabytes/Second
,Terabytes/Second
,Bits/Second
,Kilobits/Second
,Megabits/Second
,Gigabits/Second
,Terabits/Second
,Count/Second
,None
기본값은
None
입니다.
-
-
참고
CloudWatch PutMetricData
API에 적용되는 모든 할당량은 이 구성 요소로 게시하는 지표에 적용됩니다. 다음 할당량은 아주 중요합니다.
-
API 페이로드에 대한 40KB 제한
-
API 요청당 20개 지표
-
PutMetricData
API에 대한 150개의 초당 트랜잭션(TPS)
자세한 내용은 CloudWatch 사용 설명서의 CloudWatch 서비스 할당량을 참조하세요.
예 입력 예
{
"request": {
"namespace": "Greengrass",
"metricData": {
"metricName": "latency",
"dimensions": [
{
"name": "hostname",
"value": "test_hostname"
}
],
"timestamp": 1539027324,
"value": 123.0,
"unit": "Seconds"
}
}
}
출력 데이터
이 구성 요소는 기본적으로 다음 로컬 게시/구독 주제에 대한 출력 데이터로 응답을 게시합니다. 사용자 지정 구성 요소의 이 주제에 대한 메시지를 구독하는 방법에 대한 자세한 내용은 로컬 메시지 게시/구독 단원을 참조하세요.
PubSubToIoTCore
구성 파라미터를 true
로 설정하여 MQTT 주제에 게시하도록 이 구성 요소를 선택적으로 구성할 수 있습니다. 사용자 지정 구성 요소의 MQTT 주제에 대한 메시지를 구독하는 방법에 대한 자세한 내용은 메시지 게시/구독 AWS IoT Core MQTT 단원을 참조하세요.
참고
구성 요소 버전 2.0.x에서는 기본적으로 응답이 MQTT 주제에 대한 출력 데이터로 게시됩니다. 레거시 구독 라우터 구성 요소의 구성에서 주제를 subject
로 지정해야 합니다.
기본 주제: cloudwatch/metric/put/status
예 출력 예: 성공
응답에는 지표 데이터의 네임스페이스 및 CloudWatch 응답의 RequestId
필드가 포함되어 있습니다.
{
"response": {
"cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
"namespace": "Greengrass",
"status": "success"
}
}
예 출력 예: 실패
{
"response" : {
"namespace": "Greengrass",
"error": "InvalidInputException",
"error_message": "cw metric is invalid",
"status": "fail"
}
}
참고
구성 요소에서는 연결 오류와 같은 재시도할 수 있는 오류가 감지되면 다음 배치에서 게시를 다시 시도합니다.
라이선스
이 구성 요소에는 다음 타사 소프트웨어/라이선스가 포함되어 있습니다.
-
AWS SDK for Python (Boto3)
/Apache 라이선스 2.0 -
botocore
/Apache 라이선스 2.0 -
dateutil
/PSF 라이선스 -
docutils
/BSD 라이선스, GNU 일반 공개 라이선스(GPL), Python Software Foundation 라이선스, 퍼블릭 도메인 -
jmespath
/MIT 라이선스 -
s3transfer
/Apache 라이선스 2.0 -
urllib3
/MIT 라이선스
이 구성 요소는 Greengrass 코어 소프트웨어 라이선스 계약
로컬 로그 파일
이 구성 요소는 다음 로그 파일을 사용합니다.
/logs/aws.greengrass.Cloudwatch.log
/greengrass/v2
이 구성 요소의 로그를 보려면
-
Core 디바이스에서 다음과 같은 명령을 실행하여 실시간으로 이 구성 요소의 로그 파일을 봅니다.
또는/greengrass/v2
C:\greengrass\v2
를 AWS IoT Greengrass 루트 폴더의 경로로 바꿉니다.sudo tail -f
/logs/aws.greengrass.Cloudwatch.log/greengrass/v2
Changelog
다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.
버전 |
변경 사항 |
---|---|
3.2.0 |
|
3.1.0 |
|
3.0.0 |
CloudWatch 지표 구성 요소의 이 버전에는 버전 2.x와 다른 구성 파라미터가 필요합니다. 버전 2.x에 기본값이 아닌 구성을 사용하고 v2.x에서 v3.x로 업그레이드하려면 구성 요소의 구성을 업데이트해야 합니다. 자세한 내용은 CloudWatch 지표 구성 요소 구성 단원을 참조하세요.
|
다음 사항도 참조하세요.
-
Amazon CloudWatch 사용 설명서의 Amazon CloudWatch 지표 사용
-
Amazon CloudWatch API 참조의 PutMetricData