기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS IoT Greengrass은(는) 클라우드 서비스와 AWS IoT Greengrass 코어 소프트웨어로 구성됩니다. AWS IoT Greengrass 코어 소프트웨어는 Amazon CloudWatch Logs 및 코어 장치의 로컬 파일 시스템에 로그를 기록할 수 있습니다. 코어 디바이스에서 실행되는 Greengrass 구성 요소는 CloudWatch Logs 및 로컬 파일 시스템에 로그를 기록할 수도 있습니다. 로그를 사용하여 이벤트를 모니터링하고 문제를 해결할 수 있습니다. 모든 AWS IoT Greengrass 로그 항목에는 타임스탬프, 로그 수준 및 이벤트에 대한 정보가 포함됩니다.
기본적으로 AWS IoT Greengrass 코어 소프트웨어는 로컬 파일 시스템에만 로그를 기록합니다. 파일 시스템 로그를 실시간으로 볼 수 있으므로 개발 및 배포하는 Greengrass 구성 요소를 디버깅할 수 있습니다. 또한 코어 디바이스가 CloudWatch Logs에 로그를 기록하도록 구성하여 로컬 파일 시스템에 액세스하지 않고도 코어 디바이스의 문제를 해결할 수도 있습니다. 자세한 내용은 CloudWatch Logs에 로깅 활성화 섹션을 참조하세요.
주제
파일 시스템 로그 액세스
AWS IoT Greengrass 코어 소프트웨어는 코어 디바이스의
폴더에 로그를 저장합니다. 여기서
/logs/greengrass/v2
는 AWS IoT Greengrass 루트 폴더의 경로입니다. 로그그 폴더의 구조는 다음과 같습니다./greengrass/v2
└── logs ├── greengrass.log ├── greengrass_
/greengrass/v2
2021_09_14_15_0
.log ├──ComponentName
.log ├──ComponentName
_2021_09_14_15_0
.log └── main.log
-
greengrass.log
– AWS IoT Greengrass 코어 소프트웨어 로그 파일입니다. 이 로그 파일을 사용하면 구성 요소 및 배포에 대한 실시간 정보를 볼 수 있습니다. 이 로그 파일에는 AWS IoT Greengrass 코어 소프트웨어의 코어인 Greengrass nucleus에 대한 로그와 로그 관리자 및 보안 암호 관리자와 같은 플러그인 구성 요소가 포함됩니다. -
– Greengrass 구성 요소 로그 파일입니다. 구성 요소 로그 파일을 사용하면 코어 디바이스에서 실행되는 Greengrass 구성 요소에 대한 실시간 정보를 볼 수 있습니다. 일반 구성 요소와 Lambda 구성 요소에서는 이러한 로그 파일에 표준 출력(stdout)과 표준 오류(stderr)를 기록합니다.ComponentName
.log -
main.log
- 구성 요소 수명 주기를 처리하는main
서비스에 대한 로그 파일입니다. 이 로그 파일은 항상 비어 있습니다.
플러그인, 일반 및 Lambda 구성 요소의 차이점에 대한 자세한 내용은 구성 요소 유형 섹션을 참조하세요.
파일 시스템 로그 사용 시 다음 사항을 고려하십시오.
-
루트 사용자 권한
파일 시스템에서 AWS IoT Greengrass 로그를 읽을 수 있는 루트 권한이 있어야 합니다.
-
로그 파일 교체
AWS IoT Greengrass 코어 소프트웨어에서는 매시간 또는 파일 크기 제한이 초과될 때 로그 파일을 교체합니다. 교체된 로그 파일의 파일 이름에는 타임스탬프가 포함됩니다. 예를 들어 교체된 AWS IoT Greengrass 코어 소프트웨어 로그 파일의 이름은
greengrass_2021_09_14_15_0.log
일 수 있습니다. 기본 파일 크기 제한은 1,024KB(1MB)입니다. Greengrass nucleus 구성 요소에서 파일 크기 제한을 구성할 수 있습니다. -
로그 파일 삭제
AWS IoT Greengrass 코어 소프트웨어는 교체된 로그 파일을 포함하여 AWS IoT Greengrass 코어 소프트웨어 로그 파일 또는 Greengrass 구성 요소 로그 파일의 크기가 디스크 공간 제한을 초과하는 경우 이전 로그 파일을 정리합니다. AWS IoT Greengrass 코어 소프트웨어 로그 및 각 구성 요소 로그의 기본 디스크 공간 제한은 10,240KB(10MB)입니다. Greengrass nucleus 구성 요소 또는 로그 관리자 구성 요소에서 AWS IoT Greengrass 코어 소프트웨어 로그 디스크 공간 제한을 구성할 수 있습니다. 로그 관리자 구성 요소에서는 각 구성 요소의 로그 디스크 공간 제한을 구성할 수 있습니다.
AWS IoT Greengrass 코어 소프트웨어 로그 파일을 보려면
-
로그 파일을 실시간으로 보려면 다음 명령을 실행합니다.
를 AWS IoT Greengrass 루트 폴더의 경로로 바꿉니다./greengrass/v2
sudo tail -f
/logs/greengrass.log/greengrass/v2
구성 요소의 로그 파일을 보려면
-
로그 파일을 실시간으로 보려면 다음 명령을 실행합니다.
또는/greengrass/v2
C:\greengrass\v2
를 AWS IoT Greengrass 루트 폴더의 경로로 바꾸고com.example.HelloWorld
를 구성 요소 이름으로 바꿉니다.sudo tail -f
/logs//greengrass/v2
com.example.HelloWorld
.log
Greengrass CLI의 logs
명령을 사용하여 코어 디바이스에서 Greengrass 로그를 분석할 수도 있습니다. logs
명령을 사용하려면 Greengrass nucleus가 JSON 형식 로그 파일을 출력하도록 구성해야 합니다. 자세한 내용은 Greengrass 명령줄 인터페이스 및 로그 단원을 참조하세요.
CloudWatch Logs 액세스
로그 관리자 구성 요소를 배포하여 CloudWatch Logs에 쓰도록 코어 디바이스를 구성할 수 있습니다. 자세한 내용은 CloudWatch Logs에 로깅 활성화 섹션을 참조하세요. 그런 다음 Amazon CloudWatch 콘솔의 로그 페이지에서나 CloudWatch Logs API를 사용하여 로그를 볼 수 있습니다.
- 로그 그룹 이름
-
/aws/greengrass/
componentType
/region
/componentName
로그 그룹 이름에는 다음 변수를 사용합니다.
-
componentType
- 구성 요소의 유형으로, 다음 중 하나일 수 있습니다.-
GreengrassSystemComponent
– 이 로그 그룹에는 Greengrass nucleus와 동일한 JVM에서 실행되는 nucleus 및 플러그인 구성 요소에 대한 로그가 포함됩니다. 이 구성 요소는 Greengrass nucleus의 일부입니다. -
UserComponent
- 이 로그 그룹에는 디바이스의 일반 구성 요소, Lambda 구성 요소 및 기타 애플리케이션에 대한 로그가 포함됩니다. 이 구성 요소는 Greengrass nucleus의 일부가 아닙니다.
자세한 내용은 구성 요소 유형 섹션을 참조하세요.
-
-
region
- 코어 디바이스에서 사용하는 AWS 리전입니다. -
componentName
- 구성 요소의 이름입니다. 시스템 로그의 경우 이 값은System
입니다.
-
- 로그 스트림 이름
-
/
date
/thing/thingName
로그 스트림 이름에는 다음 변수를 사용합니다.
-
date
- 와 같은 로그 날짜입니다(예:2020/12/15
). 로그 관리자 구성 요소에서는yyyy/MM/dd
형식을 사용합니다. -
thingName
- 코어 디바이스 이름의 이름입니다.
참고
사물 이름에 콜론(
:
)이 포함된 경우 로그 관리자에서는 콜론을 더하기(+
)로 바꿉니다. -
로그 관리자 구성 요소를 사용하여 CloudWatch Logs에 쓸 때는 다음 사항을 고려하세요.
-
로그 지연
참고
교체된 로그 파일과 활성 로그 파일에 대한 로그 지연을 줄이는 로그 관리자 버전 2.3.0으로 업그레이드하는 것이 좋습니다. 로그 관리자 2.3.0으로 업그레이드할 때는 Greengrass nucleus도 2.9.1로 업그레이드하는 것이 좋습니다.
로그 관리자 구성 요소 2.2.8 및 이전 버전은 교체된 로그 파일에서만 로그를 처리하고 업로드합니다. 기본적으로 AWS IoT Greengrass 코어 소프트웨어는 로그 파일을 매시간 교체하거나 1,024KB가 넘으면 교체합니다. 따라서 로그 관리자 구성 요소는 AWS IoT Greengrass 코어 소프트웨어 또는 Greengrass 구성 요소에서 1,024KB 이상의 로그를 쓴 후에만 로그를 업로드합니다. 로그 파일 크기 제한을 더 낮게 구성하여 로그 파일이 더 자주 교체되도록 할 수 있습니다. 이렇게 하면 로그 관리자 구성 요소에서 CloudWatch Logs에 로그를 더 자주 업로드합니다.
로그 관리자 구성 요소 2.3.0 이상 버전은 모든 로그를 처리하고 업로드합니다. 새 로그를 쓸 때 로그 관리자 2.3.0 이상 버전은 해당 활성 로그 파일이 교체될 때까지 기다리지 않고 활성 로그를 처리하고 직접 업로드합니다. 즉, 새 로그를 5분 이내에 볼 수 있습니다.
로그 관리자 구성 요소에서는 새 로그를 주기적으로 업로드합니다. 기본적으로 로그 관리자 구성 요소는 5분마다 새 로그를 업로드합니다. 업로드 간격을 더 낮게 구성할 수 있으므로
periodicUploadIntervalSec
을 구성하면 로그 관리자 구성 요소가 CloudWatch Logs에 로그를 더 자주 업로드합니다. 이 주기적 간격을 구성하는 방법에 대한 자세한 내용은 구성을 참조하세요.동일한 Greengrass 파일 시스템에서 로그를 거의 실시간으로 업로드할 수 있습니다. 로그를 실시간으로 관찰해야 하는 경우 파일 시스템 로그를 사용하는 것이 좋습니다.
참고
다른 파일 시스템을 사용하여 로그를 쓰는 경우 로그 관리자가 로그 관리자 구성 요소 2.2.8 이하 버전의 동작으로 돌아갑니다. 파일 시스템 로그에 액세스하는 방법에 대한 자세한 내용은 파일 시스템 로그 액세스를 참조하세요.
-
클록 스큐
로그 관리자 구성 요소는 표준 Signature 버전 4 서명 프로세스를 사용하여 CloudWatch Logs에 대한 API 요청을 생성합니다. 코어 디바이스에서 시스템 시간이 15분 이상 동기화되지 않을 경우, CloudWatch Logs에서 요청을 거부합니다. 자세한 정보는 AWS 일반 참조의 서명 버전 4 서명 프로세스를 참조하십시오.
시스템 서비스 로그 액세스
AWS IoT Greengrass 코어 소프트웨어를 시스템 서비스로 구성하는 경우 시스템 서비스 로그를 확인하여 소프트웨어가 시작되지 않음과 같은 문제를 해결할 수 있습니다.
시스템 서비스 로그를 보려면(CLI)
-
다음 명령을 실행하여 AWS IoT Greengrass 코어 소프트웨어 시스템 서비스 로그를 봅니다.
sudo journalctl -u greengrass.service
-
Windows 디바이스에서 AWS IoT Greengrass 코어 소프트웨어는 시스템 서비스 오류에 대한 로그 파일을 별도로 생성합니다. 다음 명령을 실행하여 시스템 서비스 오류 로그를 봅니다.
type
C:\greengrass\v2
\logs\greengrass.err.log
Windows 디바이스에서는 이벤트 뷰어 애플리케이션을 사용하여 시스템 서비스 로그를 볼 수도 있습니다.
Windows 서비스 로그를 보려면(이벤트 뷰어)
-
이벤트 뷰어 애플리케이션을 엽니다.
-
Windows 로그를 선택하여 확장합니다.
-
애플리케이션을 선택하여 애플리케이션 서비스 로그를 봅니다.
-
소스가 greengrass인 이벤트 로그를 찾아 엽니다.
CloudWatch Logs에 로깅 활성화
로그 관리자 구성 요소를 배포하여 CloudWatch Logs에 로그를 쓰도록 코어 디바이스를 구성할 수 있습니다. AWS IoT Greengrass 코어 소프트웨어 로그에 대해 CloudWatch Logs를 활성화하고 특정 Greengrass 구성 요소에 대해 CloudWatch Logs를 활성화할 수 있습니다.
참고
다음 예제 IAM 정책에 표시된 대로 Greengrass 코어 디바이스의 토큰 교환 역할에서 코어 디바이스가 CloudWatch Logs에 쓸 수 있도록 허용해야 합니다. 자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어를 설치한 경우 코어 디바이스에 이러한 권한이 있습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Effect": "Allow",
"Resource": "arn:aws:logs:*:*:*"
}
]
}
AWS IoT Greengrass 코어 소프트웨어 로그를 CloudWatch Logs에 쓰도록 코어 디바이스를 구성하려면 aws.greengrass.LogManager
구성 요소에 대해 uploadToCloudWatch
을 true
로 설정하는 구성 업데이트를 지정하는 배포를 생성합니다. AWS IoT Greengrass 코어 소프트웨어 로그에는 Greengrass nucleus 및 플러그인 구성 요소 에 대한 로그가 포함됩니다.
{
"logsUploaderConfiguration": {
"systemLogsConfiguration": {
"uploadToCloudWatch": "true"
}
}
}
Greengrass 구성 요소의 로그를 CloudWatch Logs에 쓰도록 코어 디바이스를 구성하려면 구성 요소 로깅 구성 목록에 구성 요소를 추가하는 구성 업데이트를 지정하는 배포를 생성합니다. 이 목록에 구성 요소를 추가하면 로그 관리자 구성 요소는 그 구성 요소의 로그를 CloudWatch Logs에 씁니다. 구성 요소 로그에는 일반 구성 요소 및 Lambda 구성 요소에 대한 로그가 포함됩니다.
{
"logsUploaderConfiguration": {
"componentLogsConfigurationMap": {
"com.example.HelloWorld
": {
}
}
}
}
로그 관리자 구성 요소를 배포할 때 디스크 공간 제한과 코어 디바이스에서 CloudWatch Logs에 로그를 쓴 후 로그 파일을 삭제하는지 여부도 구성할 수 있습니다. 자세한 내용은 AWS IoT Greengrass의 로깅 구성 섹션을 참조하세요.
AWS IoT Greengrass의 로깅 구성
다음 옵션을 구성하여 Greengrass 코어 디바이스에 대한 로깅을 사용자 지정할 수 있습니다. 이러한 옵션을 구성하려면 Greengrass nucleus 또는 로그 관리자 구성 요소에 대한 구성 업데이트를 지정하는 배포를 생성합니다.
-
CloudWatch Logs에 로그 쓰기
코어 디바이스 문제를 원격으로 해결하려면 AWS IoT Greengrass 코어 소프트웨어 및 구성 요소 로그를 CloudWatch Logs에 쓰도록 코어 디바이스를 구성할 수 있습니다. 이렇게 하려면 로그 관리자 구성 요소를 배포하고 구성합니다. 자세한 내용은 CloudWatch Logs에 로깅 활성화 섹션을 참조하세요.
-
업로드된 로그 파일 삭제
디스크 공간 사용량을 줄이기 위해 CloudWatch Logs에 로그 파일을 쓴 후 로그 파일을 삭제하도록 코어 디바이스를 구성할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 로그 및 구성 요소 로그에 지정할 수 있는 로그 관리자 구성 요소의
deleteLogFileAfterCloudUpload
파라미터를 참조하세요. -
로그 디스크 공간 제한
디스크 공간 사용량을 제한하려면 코어 디바이스에서 교체된 로그 파일을 포함하여 각 로그에 대한 최대 디스크 공간을 구성할 수 있습니다. 예를 들어
greengrass.log
및 교체된greengrass.log
파일의 최대 합산 디스크 공간을 구성할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 로그 및 구성 요소 로그에 지정할 수 있는 Greengrass nucleus 구성 요소의logging.totalLogsSizeKB
파라미터 및 로그 관리자 구성 요소의diskSpaceLimit
파라미터를 참조하세요. -
로그 파일 크기 제한
각 로그 파일의 최대 파일 크기를 구성할 수 있습니다. 로그 파일이 이 파일 크기 제한을 초과하면 AWS IoT Greengrass 코어 소프트웨어에서 새 로그 파일을 생성합니다. 로그 관리자 구성 요소 2.28 이하 버전에서는 교체된 로그 파일만 CloudWatch Logs에 쓰므로 CloudWatch Logs에 로그를 더 자주 쓰도록 파일 크기 제한을 더 낮게 지정할 수 있습니다. 로그 관리자 구성 요소 2.3.0 이상 버전에서는 로그가 교체될 때까지 기다리지 않고 모든 로그를 처리하고 업로드합니다. 자세한 내용은 Greengrass nucleus 구성 요소의 로그 파일 크기 제한 파라미터(
logging.fileSizeKB
)를 참조하세요. -
최소 로그 수준
Greengrass nucleus 구성 요소가 파일 시스템 로그에 쓰는 최소 로그 수준을 구성할 수 있습니다. 예를 들어 문제 해결에 도움이 되는
DEBUG
수준 로그를 지정하거나 코어 디바이스가 생성하는 로그의 양을 줄이기 위해ERROR
수준 로그를 지정할 수 있습니다. 자세한 내용은 Greengrass nucleus 구성 요소의 로그 수준 파라미터(logging.level
)를 참조하세요.로그 관리자 구성 요소가 CloudWatch Logs에 쓰는 최소 로그 수준을 구성할 수도 있습니다. 예를 들어 로깅 비용
을 줄이기 위해 더 높은 로그 수준을 지정할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 로그 및 구성 요소 로그에 지정할 수 있는 로그 관리자 구성 요소의 minimumLogLevel
파라미터를 참조하세요. -
CloudWatch Logs에 쓸 로그를 확인하는 간격
로그 관리자 구성 요소가 CloudWatch Logs에 로그를 쓰는 빈도를 늘리거나 줄이려면 쓸 새 로그 파일을 확인하는 간격을 구성할 수 있습니다. 예를 들어 CloudWatch Logs에서 로그를 기본 5분 간격보다 더 빨리 보도록 간격을 더 낮게 지정할 수 있습니다. 간격을 더 높게 지정하여 비용을 줄 일 수도 있습니다. 이 경우 로그 관리자 구성 요소에서 로그 파일을 더 적은 요청으로 일괄 처리하기 때문입니다. 자세한 내용은 로그 관리자 구성 요소의 업로드 간격 파라미터(
periodicUploadIntervalSec
)를 참조하세요. -
로그 형식
AWS IoT Greengrass 코어 소프트웨어에서 로그를 텍스트 또는 JSON 형식 중 어떤 형식으로 쓰는지를 선택할 수 있습니다. 로그를 읽는 경우에는 텍스트 형식을 선택하고, 애플리케이션을 사용하여 로그를 읽거나 구문 분석하는 경우에는 JSON 형식을 선택합니다. 자세한 내용은 Greengrass nucleus 구성 요소의 로그 형식 파라미터(
logging.format
)를 참조하세요. -
로컬 파일 시스템 로그 폴더
로그 폴더를
에서 코어 디바이스의 다른 폴더로 변경할 수 있습니다. 자세한 내용은 Greengrass nucleus 구성 요소의 출력 디렉터리 파라미터(
/logs/greengrass/v2
logging.outputDirectory
)를 참조하세요.
AWS CloudTrail 로그
AWS IoT Greengrass는 AWS IoT Greengrass에서 사용자, 역할 또는 AWS 서비스가 수행한 작업에 대한 레코드를 제공하는 서비스인 AWS CloudTrail과 통합됩니다. 자세한 내용은 를 사용하여 통화 로깅 AWS IoT Greengrass V2 API AWS CloudTrail 섹션을 참조하세요.