시스템 로그 전달자 - AWS IoT Greengrass

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

시스템 로그 전달자

시스템 로그 전달자(aws.greengrass.SystemLogForwarder)는 활성 시스템 로그를 CloudWatch HTTPS API를 사용해 Amazon CloudWatch로 직접 업로드합니다.

중요

이 구성 요소는 런타임 중에 생성된 systemd-journald 로그만 전달합니다. systemd-journald 로그에 대한 자세한 내용은 systemd-journaldjournalctl을 참조하세요.

참고

이 구성 요소는 CloudWatch 로그 그룹과 스트림을 생성하고 관리할 수 있는 특정 권한이 필요합니다.

버전

이 구성 요소에는 다음과 같은 버전이 있습니다.

  • 2.1.x

  • 2.0.x

유형

구성 요소는 일반 구성 요소(aws.greengrass.generic)입니다. Greengrass nucleus는 구성 요소의 수명 주기 스크립트를 실행합니다.

자세한 내용은 구성 요소 유형 단원을 참조하십시오.

운영 체제

이 구성 요소는 systemd 기반 Linux 시스템에 설치해야 합니다.

요구 사항

이 구성 요소에는 다음과 같은 요구 사항이 있습니다.

이 구성 요소는 CloudWatch에서 로그 및 스트림 그룹을 생성할 수 있는 액세스 권한과 PutLogEvents HTTP 호출을 수행할 수 있는 권한이 필요합니다. 최소한, Greengrass 디바이스의 역할 별칭에 다음 정책 권한을 추가해야 합니다.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["logs:CreateLogGroup"], "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:*" }, { "Effect": "Allow", "Action": ["logs:CreateLogStream", "logs:PutLogEvents"], "Resource": "arn:aws:logs:us-east-1:111122223333:log-group:greengrass/systemLogs:log-stream:${credentials-iot:ThingName}" } ] }
참고

자세한 내용은 시스템 로그 전달자 GitHub 페이지를 참조하세요.

엔드포인트 및 포트

이 구성 요소는 기본 작업에 필요한 엔드포인트 및 포트 외에 다음 엔드포인트 및 포트에 대한 아웃바운드 요청도 수행할 수 있어야 합니다. 자세한 내용은 프록시 또는 방화벽을 통해 디바이스 트래픽 허용 단원을 참조하십시오.

엔드포인트 Port 필수 설명

logs.region.amazonaws.com

443 아니요

CloudWatch Logs에 로그를 쓰는 경우 필요합니다.

종속성

구성 요소를 배포할 때는 호환되는 버전의 종속성 AWS IoT Greengrass 도 배포합니다. 즉, 구성 요소를 성공적으로 배포하려면 구성 요소 및 모든 해당 종속성에 대한 요구 사항을 충족해야 합니다. 이 섹션에는 이 구성 요소의 릴리스된 버전에 대한 종속성과 각 종속성에 대한 구성 요소 버전을 정의하는 의미 체계 버전 제약 조건이 나열되어 있습니다. AWS IoT Greengrass 콘솔에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 종속성 목록을 찾습니다.

2.1.x

다음 표에는이 구성 요소의 버전 2.1.x에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
토큰 교환 서비스 >=2.0.0 하드
Greengrass nucleus lite >=2.3.0 소프트
2.0.x

다음 표에는 이 구성 요소의 버전 2.0.x에 대한 종속성이 나열되어 있습니다.

종속성 호환 버전 종속성 유형
토큰 교환 서비스 >=2.0.0 하드

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음 구성 파라미터를 제공합니다.

2.0.x-2.1.x
maxUploadIntervalSec

시스템 로그 전달자가 로그를 업로드하려고 시도하는 최대 주기입니다. 로그 전달자는 메모리가 가득 찼을 때도 로그를 업로드하므로, 구성된 최대 주기보다 더 자주 업로드될 수 있습니다.

maxRetriesCount

시스템 로그 전달자가 일시적인 HTTP 오류 발생 시 재시도하는 횟수입니다.

bufferCapacity

메모리 내 로그 저장용 링 버퍼의 크기입니다.

logGroup

CloudWatch에서의 로그 경로입니다.

logStream

CloudWatch logStream입니다.

filters

코어 디바이스에 대한 필터 구성 맵입니다.

services

시스템 로그 전달자가 로그 업로드 여부를 결정할 때 참조하는 서비스 이름 필터 목록입니다. 로그는 생성된 서비스가 이 목록의 필터 중 하나와 일치할 경우에만 업로드됩니다. 이 목록의 필터는 서비스 이름과 정확히 일치하는 문자열이거나, 뒤에 *가 붙어 접두사가 일치하면 되는 문자열일 수 있습니다.

기본값: [ggl.*]

중요

로그는 생성된 서비스가 이 목록의 필터 중 하나와 일치할 경우에만 업로드됩니다.

참고

* 값을 사용하면 사용 가능한 모든 서비스를 포함합니다.

예 구성의 예제:

아래 예시는 Greengrass nucleus lite에 포함된 모든 서비스의 로그를 필터링하는 방법을 보여줍니다.

{ "maxUploadIntervalSec": 300, "maxRetriesCount": 3, "bufferCapacity": 1048576, "logGroup": "greengrass/systemLogs", "logStream": "deviceName", "filters": { "services": ["ggl.*"] } }

Changelog

다음 표에는 각 구성 요소 버전의 변경 사항이 설명되어 있습니다.

버전

변경 사항

2.1.0

버그 수정 및 개선 사항
  • Greengrass nucleus를 올바르게 지원하도록 구성 요소 레시피를 업데이트합니다.

  • 업로드할 로그가 없는 경우 로깅 출력이 개선되었습니다.

  • 일반적인 버그 수정 및 개선 사항.

2.0.1

버그 수정 및 개선 사항

구성 요소 레시피가 aarch64(arm64) 시스템을 올바르게 지원하도록 업데이트되었습니다.

2.0.0

초기 버전입니다.