AWS IoT Core에서 특정 리소스의 로깅 수준을 수동으로 구성하려면 어떻게 해야 합니까?

4분 분량
0

AWS IoT Core 로그에 대한 리소스별 로깅을 수동으로 구성하고 싶습니다.

간략한 설명

**참고:**이 문서는 AWS IoT Core 로그의 V2에만 해당됩니다.

AWS IoT Core 로그를 사용하면 다음에 대한 리소스별 로깅 수준을 설정할 수 있습니다.

  • 사물로 등록된 클라이언트
  • 사물로 등록되지 않은 클라이언트

이는 특정 대상 유형에 대한 로깅 수준을 생성하고 해당 세부 정보 수준을 구성하여 수행됩니다. 대상 유형에는 THING_GROUP, CLIENT_ID, SOURCE_IP 또는 PRINCIPAL_ID가 포함됩니다. 기본 로깅을 더 낮은 세부 수준 수준으로 구성하고 리소스별 로깅을 더 높은 세부 정보 수준 수준으로 구성하는 것이 가장 좋습니다.

로그 상세도 수준에는 사용 안 함(최저), 오류, 경고, 정보 및 디버그(최고)가 포함됩니다.

**중요:**AWS IoT Core 플릿 크기에 따라 더 자세한 로그 수준을 설정하면 비용이 많이 들고 문제 해결이 더 어려워질 수 있습니다. 세부 정보 로깅을 켜면 데이터 트래픽도 증가합니다. INFO 또는 DEBUG는 문제 해결 시 임시 조치로만 사용해야 합니다. 문제 해결이 완료되면 로깅 수준을 덜 자세한 설정으로 다시 설정해야 합니다.

해결 방법

전제 조건

IoT 관리자 권한 보안 인증 정보를 사용하여 AWS Command Line Interface(AWS CLI)를 로컬에 설치해야 합니다. AWS CLI용 기본 AWS 리전은 대상 AWS 리전을 가리켜야 합니다. 등록된 IoT 사물 또는 등록되지 않은 IoT 사물로 AWS IoT Core 엔드포인트에 연결되고 이와 상호 작용하는 클라이언트가 있어야 합니다.

**참고:**AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

사물로 등록된 클라이언트에 대한 수동 로깅 구성

정의된 로깅 수준에서 여러 항목에 대한 리소스별 로깅을 관리한 다음 사물 그룹에서 항목을 수동으로 추가하거나 제거할 수 있습니다. 디바이스와 클라이언트는 AWS IoT Core에 IoT 사물로 등록되어 있어야 하며 동일한 클라이언트 ID와 연결된 사물 이름을 사용하여 연결해야 합니다. 그런 다음 대상 유형이 THING_GROUP인 정적 사물 그룹을 사용하여 사물 그룹을 관리할 수 있습니다. 계층 내에서 상위 사물 그룹을 구성하는 경우 해당 구성은 계층 구조의 하위 사물 그룹에도 적용됩니다.

**참고:**정적 사물 그룹을 대상 유형으로 사용하는 경우 할당량 제한을 고려해야 합니다. 자세한 내용은 AWS IoT Core 사물 그룹 리소스 제한 및 할당량을 참조하세요.

1.    두 개의 정적 사물 그룹을 생성합니다. AWS IoT 콘솔을 사용하거나 AWS CLI의 create-thing-group 명령을 사용하여 이 작업을 수행할 수 있습니다. 이 예에서는 AWS CLI가 사용됩니다.

aws iot create-thing-group --thing-group-name logging_level_info
aws iot create-thing-group --thing-group-name logging_level_debug

**참고:**기존 사물 그룹을 사용하는 경우 logging_level_infologging_level_debug를 사물 그룹의 이름으로 바꾸세요.

출력은 다음 메시지와 비슷합니다.

{
 "thingGroupName": "logging_level_info",
 "thingGroupArn": "arn:aws:iot:eu-west1-1:123456789012:thinggroup/logging_level_info",
 "thingGroupId": "58dd497e-97fc-47d2-8745-422bb21234AA"
}
{
 "thingGroupName": "logging_level_debug",
 "thingGroupArn": "arn:aws:iot:eu-west-1:123456789012:thinggroup/logging_level_debug",
 "thingGroupId": "2a9dc698-9a40-4487-81ec-2cb4101234BB"
}

2.    SetV2LoggingLevel 명령을 실행하여 사물 그룹의 로깅 수준을 설정합니다. **참고:**로그 수준 구성 변경 사항이 반영되려면 최대 10분이 걸릴 수 있습니다.

aws iot set-v2-logging-level \
 --log-target targetType=THING_GROUP,targetName=logging_level_info \
 --log-level INFO

aws iot set-v2-logging-level \
--log-target targetType=THING_GROUP,targetName=logging_level_debug \
--log-level DEBUG

**참고:**INFODEBUG를 각 사물 그룹에 설정하려는 로그 수준으로 바꾸세요.

3.    다음 명령을 실행하여 로깅 수준이 올바르게 구성되었는지 확인합니다.

aws iot list-v2-logging-levels

출력은 다음 메시지와 비슷합니다.

{
 "logTargetConfigurations": [
 {
 "logTarget": {
 "targetType": "DEFAULT"
 },
 "logLevel": "WARN"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_debug"
 },
 "logLevel": "DEBUG"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_info"
 },
 "logLevel": "INFO"
 }
 ]
}

4.    AddThingToThingGroup 명령을 실행하여 적절한 사물 그룹에 사물을 추가합니다.

aws iot add-thing-to-thing-group \
 --thing-name YourThingName1 \
 --thing-group-name logging_level_info

참고:****YourThingName1을 사물 그룹에 추가하려는 사물의 이름으로 바꿉니다.

사물로 등록되지 않은 클라이언트에 대한 수동 로깅 구성

AWS IoT Core에 항목을 등록하지 않아도 여러 대상 유형에 대해 리소스별 로깅 수준을 추가할 수 있습니다. 이러한 대상 유형은 클라이언트 속성이며 CLIENT_ID, SOURCE_IP 또는 PRINCIPAL_ID를 포함합니다. 디바이스가 이미 AWS IoT Core 사물로 등록된 경우에도 이러한 클라이언트 속성을 사용하여 로깅 수준을 관리할 수 있습니다.

1.    SetV2LoggingLevel 명령을 실행하여 특정 클라이언트에 대한 로깅 수준을 설정합니다.

aws iot set-v2-logging-level \
 --log-target targetType=CLIENT_ID,targetName=YourClientId \
 --log-level YourLogLevel

**참고:**다른 대상 유형을 사용하려면 CLIENT\ _ID를 대상 클라이언트에서 사용하는 지원되는 값(예: SOURCE_IP 또는 PRINCIPAL_ID)으로 바꾸세요.

2.    다음 명령을 실행하여 로깅 수준이 올바르게 구성되었는지 확인합니다.

aws iot list-v2-logging-levels

출력은 다음 메시지와 비슷합니다.

...
 {
 "logTarget": {
 "targetType": "CLIENT_ID",
 "targetName": "YourClientId"
 },
 "logLevel": "YourLogLevel"
 }
...

생성된 로그 모니터링

IoT 로그에서 문제나 문제를 모니터링하는 것이 가장 좋습니다. Amazon CloudWatch Logs 콘솔 또는 AWS CLI를 사용하여 AWS IoT Core 로그를 모니터링할 수 있습니다.자세한 내용은 AWS IoT Core에서 AWS IoT 로그의 로깅 수준을 가장 잘 관리하려면 어떻게 해야 합니까?의 “모니터링 로그 항목” 섹션을 참조하세요.

관련 정보

AWS IoT 모니터링

AWS IoT Core의 기본 로깅 설정을 구성하려면 어떻게 해야 합니까?

AWS IoT Core에서 특정 리소스의 로깅 수준을 동적으로 구성하려면 어떻게 해야 합니까?

AWS 공식
AWS 공식업데이트됨 일 년 전