로그 매니저 - AWS IoT Greengrass

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

로그 매니저

로그 관리자 구성 요소 (aws.greengrass.LogManager) 는 AWS IoT Greengrass 코어 디바이스에서 Amazon Logs로 CloudWatch 로그를 업로드합니다. Greengrass 코어, 기타 Greengrass 구성 요소, Greengrass 구성 요소가 아닌 기타 애플리케이션 및 서비스에서 로그를 업로드할 수 있습니다. 로그 및 로컬 파일 시스템의 로그를 모니터링하는 방법에 대한 자세한 내용은 을 참조하십시오. CloudWatch 모니터 AWS IoT Greengrass 로그

로그 관리자 구성 요소를 사용하여 로그에 기록할 CloudWatch 때는 다음 고려 사항이 적용됩니다.

  • 로그 지연

    참고

    순환 및 활성 로그 파일의 로그 지연을 줄이는 로그 관리자 버전 2.3.0으로 업그레이드하는 것이 좋습니다. 로그 관리자 2.3.0으로 업그레이드할 때는 Greengrass nucleus 2.9.1으로도 업그레이드하는 것이 좋습니다.

    로그 관리자 구성 요소 버전 2.2.8 (이하) 은 순환된 로그 파일의 로그만 처리하고 업로드합니다. 기본적으로 AWS IoT Greengrass Core 소프트웨어는 1시간마다 또는 1,024KB가 된 이후에 로그 파일을 교체합니다. 따라서 로그 관리자 구성 요소는 AWS IoT Greengrass Core 소프트웨어 또는 Greengrass 구성 요소가 1,024KB 이상의 로그를 기록한 후에만 로그를 업로드합니다. 로그 파일 크기를 낮게 제한하여 로그 파일이 더 자주 회전하도록 구성할 수 있습니다. 이로 인해 로그 관리자 구성 요소가 로그를 로그에 CloudWatch 더 자주 업로드합니다.

    로그 관리자 구성 요소 버전 2.3.0 (이상) 은 모든 로그를 처리하고 업로드합니다. 새 로그를 작성하면 로그 관리자 버전 2.3.0 (이상) 은 활성 로그 파일이 회전될 때까지 기다리지 않고 해당 활성 로그 파일을 처리하여 직접 업로드합니다. 즉, 5분 이내에 새 로그를 볼 수 있습니다.

    로그 관리자 구성 요소는 새 로그를 주기적으로 업로드합니다. 기본적으로 로그 관리자 구성 요소는 5분마다 새 로그를 업로드합니다. 업로드 간격을 낮게 구성하여 로그 관리자 구성 요소가 로그를 로그에 더 자주 업로드하도록 CloudWatch 구성할 수 있습니다. periodicUploadIntervalSec 이 주기적 간격을 구성하는 방법에 대한 자세한 내용은 구성을 참조하십시오.

    동일한 Greengrass 파일 시스템에서 거의 실시간으로 로그를 업로드할 수 있습니다. 로그를 실시간으로 관찰해야 하는 경우 파일 시스템 로그를 사용하는 것이 좋습니다.

    참고

    다른 파일 시스템을 사용하여 로그를 기록하는 경우 로그 관리자는 로그 관리자 구성 요소 버전 2.2.8 및 이전 버전의 동작으로 되돌아갑니다. 파일 시스템 로그에 액세스하는 방법에 대한 자세한 내용은 파일 시스템 로그 액세스를 참조하십시오.

  • 클럭 스큐

    로그 관리자 구성요소는 표준 서명 버전 4 서명 프로세스를 사용하여 CloudWatch 로그에 대한 API 요청을 생성합니다. 코어 디바이스의 시스템 시간이 15분 이상 동기화되지 않으면 CloudWatch Logs는 요청을 거부합니다. 자세한 정보는 AWS 일반 참조서명 버전 4 서명 프로세스를 참조하십시오.

이 구성 요소가 로그를 업로드하는 로그 그룹 및 로그 스트림에 대한 자세한 내용은 을 참조하십시오. 사용량

버전

이 구성 요소의 버전은 다음과 같습니다.

  • 2.3.x

  • 2.2.x

  • 2.1.x

  • 2.0.x

유형

이 구성 요소는 플러그인 구성 요소 () aws.greengrass.plugin 입니다. Greengrass 핵은 핵과 동일한 자바 가상 머신 (JVM) 에서 이 구성 요소를 실행합니다. 코어 디바이스에서 이 구성 요소의 버전을 변경하면 NUCLEUS가 다시 시작됩니다.

이 구성 요소는 Greengrass 핵과 동일한 로그 파일을 사용합니다. 자세한 설명은 모니터 AWS IoT Greengrass 로그 섹션을 참조하세요.

자세한 설명은 구성 요소 유형 섹션을 참조하세요.

운영 체제

이 구성 요소는 다음 운영 체제를 실행하는 코어 디바이스에 설치할 수 있습니다.

  • Linux

  • Windows

요구 사항

이 구성 요소의 요구 사항은 다음과 같습니다.

  • Greengrass 장치 역할은 다음 예제 IAM logs:CreateLogStream 정책에 logs:PutLogEvents 나와 있는 것처럼,, 및 logs:DescribeLogStreams 작업을 허용해야 합니다. logs:CreateLogGroup

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*" } ] }
    참고

    AWS IoT GreengrassCore 소프트웨어를 설치할 때 생성하는 Greengrass 장치 역할에는 기본적으로 이 예제 정책의 권한이 포함됩니다.

    자세한 내용은 Amazon CloudWatch Logs 사용 설명서의 CloudWatch 로그에 대한 ID 기반 정책 (IAM 정책) 사용을 참조하십시오.

  • 로그 관리자 구성요소는 VPC에서 실행되도록 지원됩니다. VPC에 이 구성 요소를 배포하려면 다음이 필요합니다.

    • 로그 관리자 구성 요소에는 VPC 엔드포인트가 logs.region.amazonaws.com 인 연결이 있어야 합니다. com.amazonaws.us-east-1.logs

엔드포인트 및 포트

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

엔드포인트 포트 필수 설명

logs.region.amazonaws.com

443 아니요

로그에 로그를 기록하는 경우 필요합니다. CloudWatch

의존성

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

2.3.7

다음 표에는 이 구성 요소의 버전 2.3.7에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.13.0 소프트
2.3.5 and 2.3.6

다음 표에는 이 구성 요소의 버전 2.3.5 및 2.3.6에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.12.0 소프트
2.3.3 – 2.3.4

다음 표에는 이 구성 요소의 버전 2.3.3~2.3.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.11.0 소프트
2.2.8 – 2.3.2

다음 표에는 이 구성 요소의 버전 2.2.8 ~ 2.3.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.10.0 소프트
2.2.7

다음 표에는 이 구성 요소의 버전 2.2.7에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.9.0 소프트
2.2.6

다음 표에는 이 구성 요소의 버전 2.2.6에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.8.0 소프트
2.2.5

다음 표에는 이 구성 요소의 버전 2.2.5에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.7.0 소프트
2.2.1 - 2.2.4

다음 표에는 이 구성 요소의 버전 2.2.1 - 2.2.4에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.6.0 소프트
2.1.3 and 2.2.0

다음 표에는 이 구성 요소의 버전 2.1.3 및 2.2.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.5.0 소프트
2.1.2

다음 표에는 이 구성 요소의 버전 2.1.2에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.4.0 소프트
2.1.1

다음 표에는 이 구성 요소의 버전 2.1.1에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.3.0 소프트
2.1.0

다음 표에는 이 구성 요소의 버전 2.1.0에 대한 종속성이 나와 있습니다.

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.1.0 <2.2.0 소프트
2.0.x

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

종속성 호환되는 버전 종속성 유형
그린그래스 핵 >=2.0.3 <2.1.0 소프트

구성 요소 종속성에 대한 자세한 내용은 구성 요소 레시피 참조를 참조하십시오.

구성

이 구성 요소는 구성 요소를 배포할 때 사용자 지정할 수 있는 다음과 같은 구성 매개 변수를 제공합니다.

v2.3.6 – v2.3.7
logsUploaderConfiguration

(선택 사항) 로그 관리자 구성 요소가 업로드하는 로그의 구성입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

systemLogsConfiguration

(선택 사항) Greengrass 핵 및 플러그인 구성 요소의 로그를 포함하는 AWS IoT Greengrass Core 소프트웨어 시스템 로그의 구성 로그 관리자 구성 요소가 시스템 로그를 관리할 수 있도록 하려면 이 구성을 지정하십시오. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

uploadToCloudWatch

(선택 사항) 시스템 로그를 Logs에 업로드할 CloudWatch 수 있습니다.

기본값: false

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 Greengrass nucleus 구성요소가 JSON 형식 로그를 출력하도록 구성한 경우에만 적용됩니다. JSON 형식 로그를 활성화하려면 로깅 형식 매개 변수 () JSON 를 지정하십시오. logging.format

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) Greengrass 시스템 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit Greengrass 시스템 로그 파일의 총 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 가장 오래된 Greengrass 시스템 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 동일합니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 최대 총 Greengrass 시스템 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 단위입니다. diskSpaceLimit 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

componentLogsConfigurationMap

(선택 사항) 코어 디바이스의 구성 요소에 대한 로그 구성 맵. 이 맵의 각 componentName 개체는 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다. 로그 관리자 구성 요소는 이러한 구성 요소 로그를 Logs에 CloudWatch 업로드합니다.

중요

구성 요소당 단일 구성 키를 사용하는 것이 좋습니다. 를 사용할 때 활발히 기록되는 로그 파일이 하나뿐인 파일 그룹만 대상으로 지정해야 logFileRegex 합니다. 이 권장 사항을 따르지 않으면 로그가 중복되어 업로드될 수 CloudWatch 있습니다. 단일 정규식을 사용하여 여러 활성 로그 파일을 대상으로 하는 경우 log manager v2.3.1 이상으로 업그레이드하고 예제 구성을 사용하여 구성을 변경하는 것이 좋습니다.

참고

v2.2.0 이전 버전의 로그 관리자에서 업그레이드하는 경우 대신 목록을 계속 사용할 수 있습니다. componentLogsConfiguration componentLogsConfigurationMap 하지만 병합 및 재설정 업데이트를 사용하여 특정 구성 요소의 구성을 수정할 수 있도록 맵 형식을 사용하는 것이 좋습니다. componentLogsConfiguration매개변수에 대한 자세한 내용은 이 구성 요소의 v2.1.x용 구성 매개변수를 참조하십시오.

componentName

이 로그 구성을 위한 구성 componentName요소 또는 응용 프로그램의 로그 구성입니다. Greengrass 구성 요소의 이름 또는 다른 값을 지정하여 이 로그 그룹을 식별할 수 있습니다.

각 개체에는 다음 정보가 포함됩니다.

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 이 구성 요소의 로그가 특정 JSON 형식을 사용하는 경우에만 적용됩니다. 이 형식은 AWS IoT Greengrass로깅 모듈 리포지토리에서 찾을 수 있습니다. GitHub

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) 이 구성 요소에 대한 모든 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit 이 구성 요소 로그 파일의 전체 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 이 구성 요소의 가장 오래된 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 관련이 있습니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 이 구성 요소의 최대 총 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 diskSpaceLimit 단위입니다. 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

logFileDirectoryPath

(선택 사항) 이 구성 요소의 로그 파일이 들어 있는 폴더의 경로입니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

기본값: /greengrass/v2/logs.

logFileRegex

(선택 사항) 구성 요소나 애플리케이션이 사용하는 로그 파일 이름 형식을 지정하는 정규 표현식입니다. 로그 관리자 구성 요소는 이 정규 표현식을 사용하여 의 폴더에 있는 로그 파일을 logFileDirectoryPath 식별합니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

구성 요소나 애플리케이션이 로그 파일을 회전시키는 경우 회전된 로그 파일 이름과 일치하는 정규식을 지정하십시오. 예를 들어 Hello World 애플리케이션의 로그를 hello_world\\\\w*.log 업로드하도록 지정할 수 있습니다. \\\\w*패턴은 영숫자와 밑줄을 포함하는 0개 이상의 단어 문자와 일치합니다. 이 정규식은 이름에 타임스탬프가 있거나 없는 로그 파일을 일치시킵니다. 이 예제에서 로그 관리자는 다음 로그 파일을 업로드합니다.

  • hello_world.log— Hello World 애플리케이션의 최신 로그 파일입니다.

  • hello_world_2020_12_15_17_0.log— 헬로 월드 애플리케이션의 이전 로그 파일입니다.

기본값:componentName\\\\w*.log, 여기서 ComponentName은 이 로그 구성의 구성 요소 이름입니다.

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

multiLineStartPattern

(선택 사항) 새 줄의 로그 메시지가 새 로그 메시지인 경우를 식별하는 정규 표현식입니다. 정규 표현식이 새 줄과 일치하지 않는 경우 로그 관리자 구성 요소는 이전 줄의 로그 메시지에 새 줄을 추가합니다.

기본적으로 로그 관리자 구성요소는 줄이 탭이나 공백과 같은 공백 문자로 시작하는지 확인합니다. 그렇지 않으면 로그 관리자가 해당 줄을 새 로그 메시지로 처리합니다. 그렇지 않으면 해당 줄이 현재 로그 메시지에 추가됩니다. 이 동작은 로그 관리자 구성요소가 스택 트레이스와 같이 여러 줄에 걸쳐있는 메시지를 분할하지 않도록 합니다.

periodicUploadIntervalSec

(선택 사항) 로그 관리자 구성 요소가 업로드할 새 로그 파일을 확인하는 기간 (초).

기본값: 300 (5분)

최소: 0.000001 (1마이크로초)

deprecatedVersionSupport

로그 관리자가 로그 관리자 v2.3.5에 도입된 향상된 로깅 속도를 사용해야 하는지 여부를 나타냅니다. 개선 기능을 false 사용하려면 값을 로 설정합니다.

log manager v2.3.1 또는 이전 버전에서 업그레이드할 false 때 이 값을 로 설정하면 중복된 로그 항목이 업로드될 수 있습니다.

기본값은 true입니다.

예: 구성 병합 업데이트

다음 예제 구성은 시스템 로그와 com.example.HelloWorld 구성 요소 로그를 로그에 업로드하도록 CloudWatch 지정합니다.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300", "deprecatedVersionSupport": "false" }
예: log manager v2.3.1을 사용하여 여러 활성 로그 파일을 업로드하도록 구성

다음 예제 구성은 여러 활성 로그 파일을 대상으로 하려는 경우 권장되는 예제입니다. 이 예제 구성은 업로드하려는 활성 로그 파일을 지정합니다 CloudWatch. 이 구성 예제 구성을 사용하면 다음과 일치하는 회전된 파일도 업로드됩니다. logFileRegex 이 예제 구성은 로그 관리자 v2.3.1에서 지원됩니다.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.3.x
logsUploaderConfiguration

(선택 사항) 로그 관리자 구성 요소가 업로드하는 로그의 구성입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

systemLogsConfiguration

(선택 사항) Greengrass 핵 및 플러그인 구성 요소의 로그를 포함하는 AWS IoT Greengrass Core 소프트웨어 시스템 로그의 구성 로그 관리자 구성 요소가 시스템 로그를 관리할 수 있도록 하려면 이 구성을 지정하십시오. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

uploadToCloudWatch

(선택 사항) 시스템 로그를 Logs에 업로드할 CloudWatch 수 있습니다.

기본값: false

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 Greengrass nucleus 구성요소가 JSON 형식 로그를 출력하도록 구성한 경우에만 적용됩니다. JSON 형식 로그를 활성화하려면 로깅 형식 매개 변수 () JSON 를 지정하십시오. logging.format

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) Greengrass 시스템 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit Greengrass 시스템 로그 파일의 총 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 가장 오래된 Greengrass 시스템 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 동일합니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 최대 총 Greengrass 시스템 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 단위입니다. diskSpaceLimit 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

componentLogsConfigurationMap

(선택 사항) 코어 디바이스의 구성 요소에 대한 로그 구성 맵. 이 맵의 각 componentName 개체는 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다. 로그 관리자 구성 요소는 이러한 구성 요소 로그를 Logs에 CloudWatch 업로드합니다.

중요

구성 요소당 단일 구성 키를 사용하는 것이 좋습니다. 를 사용할 때 활발히 기록되는 로그 파일이 하나뿐인 파일 그룹만 대상으로 지정해야 logFileRegex 합니다. 이 권장 사항을 따르지 않으면 로그가 중복되어 업로드될 수 CloudWatch 있습니다. 단일 정규식을 사용하여 여러 활성 로그 파일을 대상으로 하는 경우 log manager v2.3.1로 업그레이드하고 예제 구성을 사용하여 구성을 변경하는 것이 좋습니다.

참고

v2.2.0 이전 버전의 로그 관리자에서 업그레이드하는 경우 대신 목록을 계속 사용할 수 있습니다. componentLogsConfiguration componentLogsConfigurationMap 하지만 병합 및 재설정 업데이트를 사용하여 특정 구성 요소의 구성을 수정할 수 있도록 맵 형식을 사용하는 것이 좋습니다. componentLogsConfiguration매개변수에 대한 자세한 내용은 이 구성 요소의 v2.1.x용 구성 매개변수를 참조하십시오.

componentName

이 로그 구성을 위한 구성 componentName요소 또는 응용 프로그램의 로그 구성입니다. Greengrass 구성 요소의 이름 또는 다른 값을 지정하여 이 로그 그룹을 식별할 수 있습니다.

각 개체에는 다음 정보가 포함됩니다.

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 이 구성 요소의 로그가 특정 JSON 형식을 사용하는 경우에만 적용됩니다. 이 형식은 AWS IoT Greengrass로깅 모듈 리포지토리에서 찾을 수 있습니다. GitHub

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) 이 구성 요소에 대한 모든 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit 이 구성 요소 로그 파일의 전체 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 이 구성 요소의 가장 오래된 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 관련이 있습니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 이 구성 요소의 최대 총 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 diskSpaceLimit 단위입니다. 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

logFileDirectoryPath

(선택 사항) 이 구성 요소의 로그 파일이 들어 있는 폴더의 경로입니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

기본값: /greengrass/v2/logs.

logFileRegex

(선택 사항) 구성 요소나 애플리케이션이 사용하는 로그 파일 이름 형식을 지정하는 정규 표현식입니다. 로그 관리자 구성 요소는 이 정규 표현식을 사용하여 의 폴더에 있는 로그 파일을 logFileDirectoryPath 식별합니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

구성 요소나 애플리케이션이 로그 파일을 회전시키는 경우 회전된 로그 파일 이름과 일치하는 정규식을 지정하십시오. 예를 들어 Hello World 애플리케이션의 로그를 hello_world\\\\w*.log 업로드하도록 지정할 수 있습니다. \\\\w*패턴은 영숫자와 밑줄을 포함하는 0개 이상의 단어 문자와 일치합니다. 이 정규식은 이름에 타임스탬프가 있거나 없는 로그 파일을 일치시킵니다. 이 예제에서 로그 관리자는 다음 로그 파일을 업로드합니다.

  • hello_world.log— Hello World 애플리케이션의 최신 로그 파일입니다.

  • hello_world_2020_12_15_17_0.log— 헬로 월드 애플리케이션의 이전 로그 파일입니다.

기본값:componentName\\\\w*.log, 여기서 ComponentName은 이 로그 구성의 구성 요소 이름입니다.

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

multiLineStartPattern

(선택 사항) 새 줄의 로그 메시지가 새 로그 메시지인 경우를 식별하는 정규 표현식입니다. 정규 표현식이 새 줄과 일치하지 않는 경우 로그 관리자 구성 요소는 이전 줄의 로그 메시지에 새 줄을 추가합니다.

기본적으로 로그 관리자 구성요소는 줄이 탭이나 공백과 같은 공백 문자로 시작하는지 확인합니다. 그렇지 않으면 로그 관리자가 해당 줄을 새 로그 메시지로 처리합니다. 그렇지 않으면 해당 줄이 현재 로그 메시지에 추가됩니다. 이 동작은 로그 관리자 구성요소가 스택 트레이스와 같이 여러 줄에 걸쳐있는 메시지를 분할하지 않도록 합니다.

periodicUploadIntervalSec

(선택 사항) 로그 관리자 구성 요소가 업로드할 새 로그 파일을 확인하는 기간 (초).

기본값: 300 (5분)

최소: 0.000001 (1마이크로초)

예: 구성 병합 업데이트

다음 예제 구성은 시스템 로그와 com.example.HelloWorld 구성 요소 로그를 로그에 업로드하도록 CloudWatch 지정합니다.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
예: log manager v2.3.1을 사용하여 여러 활성 로그 파일을 업로드하도록 구성

다음 예제 구성은 여러 활성 로그 파일을 대상으로 하려는 경우 권장되는 예제입니다. 이 예제 구성은 업로드하려는 활성 로그 파일을 지정합니다 CloudWatch. 이 구성 예제 구성을 사용하면 다음과 일치하는 회전된 파일도 업로드됩니다. logFileRegex 이 예제 구성은 로그 관리자 v2.3.1에서 지원됩니다.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.A": { "logFileRegex": "com.example.A\\w*.log", "deleteLogFileAfterCloudUpload": "false" } "com.example.B": { "logFileRegex": "com.example.B\\w*.log", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "10" }
v2.2.x
logsUploaderConfiguration

(선택 사항) 로그 관리자 구성 요소가 업로드하는 로그의 구성입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

systemLogsConfiguration

(선택 사항) Greengrass 핵 및 플러그인 구성 요소의 로그를 포함하는 AWS IoT Greengrass Core 소프트웨어 시스템 로그의 구성 로그 관리자 구성 요소가 시스템 로그를 관리할 수 있도록 하려면 이 구성을 지정하십시오. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

uploadToCloudWatch

(선택 사항) 시스템 로그를 Logs에 업로드할 CloudWatch 수 있습니다.

기본값: false

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 Greengrass nucleus 구성요소가 JSON 형식 로그를 출력하도록 구성한 경우에만 적용됩니다. JSON 형식 로그를 활성화하려면 로깅 형식 매개 변수 () JSON 를 지정하십시오. logging.format

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) Greengrass 시스템 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit Greengrass 시스템 로그 파일의 총 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 가장 오래된 Greengrass 시스템 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 동일합니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 최대 총 Greengrass 시스템 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 단위입니다. diskSpaceLimit 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

componentLogsConfigurationMap

(선택 사항) 코어 디바이스의 구성 요소에 대한 로그 구성 맵. 이 맵의 각 componentName 개체는 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다. 로그 관리자 구성 요소는 이러한 구성 요소 로그를 Logs에 CloudWatch 업로드합니다.

참고

v2.2.0 이전 버전의 로그 관리자에서 업그레이드하는 경우 대신 componentLogsConfiguration 목록을 계속 사용할 수 있습니다. componentLogsConfigurationMap 하지만 병합 및 재설정 업데이트를 사용하여 특정 구성 요소의 구성을 수정할 수 있도록 맵 형식을 사용하는 것이 좋습니다. componentLogsConfiguration매개변수에 대한 자세한 내용은 이 구성 요소의 v2.1.x용 구성 매개변수를 참조하십시오.

componentName

이 로그 구성을 위한 구성 componentName요소 또는 응용 프로그램의 로그 구성입니다. Greengrass 구성 요소의 이름 또는 다른 값을 지정하여 이 로그 그룹을 식별할 수 있습니다.

각 개체에는 다음 정보가 포함됩니다.

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 이 구성 요소의 로그가 특정 JSON 형식을 사용하는 경우에만 적용됩니다. 이 형식은 AWS IoT Greengrass로깅 모듈 리포지토리에서 찾을 수 있습니다. GitHub

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) 이 구성 요소에 대한 모든 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit 이 구성 요소 로그 파일의 전체 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 이 구성 요소의 가장 오래된 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 관련이 있습니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 이 구성 요소의 최대 총 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 diskSpaceLimit 단위입니다. 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

logFileDirectoryPath

(선택 사항) 이 구성 요소의 로그 파일이 들어 있는 폴더의 경로입니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

기본값: /greengrass/v2/logs.

logFileRegex

(선택 사항) 구성 요소나 애플리케이션이 사용하는 로그 파일 이름 형식을 지정하는 정규 표현식입니다. 로그 관리자 구성 요소는 이 정규 표현식을 사용하여 의 폴더에 있는 로그 파일을 logFileDirectoryPath 식별합니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

구성 요소나 애플리케이션이 로그 파일을 회전시키는 경우 회전된 로그 파일 이름과 일치하는 정규식을 지정하십시오. 예를 들어 Hello World 애플리케이션의 로그를 hello_world\\\\w*.log 업로드하도록 지정할 수 있습니다. \\\\w*패턴은 영숫자와 밑줄을 포함하는 0개 이상의 단어 문자와 일치합니다. 이 정규식은 이름에 타임스탬프가 있거나 없는 로그 파일을 일치시킵니다. 이 예제에서 로그 관리자는 다음 로그 파일을 업로드합니다.

  • hello_world.log— Hello World 애플리케이션의 최신 로그 파일입니다.

  • hello_world_2020_12_15_17_0.log— 헬로 월드 애플리케이션의 이전 로그 파일입니다.

기본값:componentName\\\\w*.log, 여기서 ComponentName은 이 로그 구성의 구성 요소 이름입니다.

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

multiLineStartPattern

(선택 사항) 새 줄의 로그 메시지가 새 로그 메시지인 경우를 식별하는 정규 표현식입니다. 정규 표현식이 새 줄과 일치하지 않는 경우 로그 관리자 구성 요소는 이전 줄의 로그 메시지에 새 줄을 추가합니다.

기본적으로 로그 관리자 구성요소는 줄이 탭이나 공백과 같은 공백 문자로 시작하는지 확인합니다. 그렇지 않으면 로그 관리자가 해당 줄을 새 로그 메시지로 처리합니다. 그렇지 않으면 해당 줄이 현재 로그 메시지에 추가됩니다. 이 동작은 로그 관리자 구성요소가 스택 트레이스와 같이 여러 줄에 걸쳐있는 메시지를 분할하지 않도록 합니다.

periodicUploadIntervalSec

(선택 사항) 로그 관리자 구성 요소가 업로드할 새 로그 파일을 확인하는 기간 (초).

기본값: 300 (5분)

최소: 0.000001 (1마이크로초)

예: 구성 병합 업데이트

다음 예제 구성은 시스템 로그와 com.example.HelloWorld 구성 요소 로그를 로그에 업로드하도록 CloudWatch 지정합니다.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfigurationMap": { "com.example.HelloWorld": { "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } } }, "periodicUploadIntervalSec": "300" }
v2.1.x
logsUploaderConfiguration

(선택 사항) 로그 관리자 구성 요소가 업로드하는 로그의 구성입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

systemLogsConfiguration

(선택 사항) Greengrass 핵 및 플러그인 구성 요소의 로그를 포함하는 AWS IoT Greengrass Core 소프트웨어 시스템 로그의 구성 로그 관리자 구성 요소가 시스템 로그를 관리할 수 있도록 하려면 이 구성을 지정하십시오. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

uploadToCloudWatch

(선택 사항) 시스템 로그를 Logs에 업로드할 CloudWatch 수 있습니다.

기본값: false

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 Greengrass nucleus 구성요소가 JSON 형식 로그를 출력하도록 구성한 경우에만 적용됩니다. JSON 형식 로그를 활성화하려면 로깅 형식 매개 변수 () JSON 를 지정하십시오. logging.format

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) Greengrass 시스템 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit Greengrass 시스템 로그 파일의 총 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 가장 오래된 Greengrass 시스템 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 동일합니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 최대 총 Greengrass 시스템 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 단위입니다. diskSpaceLimit 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

componentLogsConfiguration

(선택 사항) 코어 디바이스의 구성 요소에 대한 로그 구성 목록입니다. 이 목록의 각 구성은 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다. 로그 관리자 구성 요소는 이러한 구성 요소 로그를 Logs에 CloudWatch 업로드합니다.

각 개체에는 다음 정보가 들어 있습니다.

componentName

이 로그 구성의 구성 요소 또는 응용 프로그램 이름. Greengrass 구성 요소의 이름 또는 다른 값을 지정하여 이 로그 그룹을 식별할 수 있습니다.

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 이 구성 요소의 로그가 특정 JSON 형식을 사용하는 경우에만 적용됩니다. 이 형식은 AWS IoT Greengrass로깅 모듈 리포지토리에서 찾을 수 있습니다. GitHub

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) 이 구성 요소에 대한 모든 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit 이 구성 요소 로그 파일의 전체 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 이 구성 요소의 가장 오래된 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 관련이 있습니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 이 구성 요소의 최대 총 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 diskSpaceLimit 단위입니다. 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

logFileDirectoryPath

(선택 사항) 이 구성 요소의 로그 파일이 들어 있는 폴더의 경로입니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

기본값: /greengrass/v2/logs.

logFileRegex

(선택 사항) 구성 요소나 애플리케이션이 사용하는 로그 파일 이름 형식을 지정하는 정규 표현식입니다. 로그 관리자 구성 요소는 이 정규 표현식을 사용하여 의 폴더에 있는 로그 파일을 logFileDirectoryPath 식별합니다.

표준 출력 (stdout) 및 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에는 이 매개변수를 지정할 필요가 없습니다.

구성 요소나 애플리케이션이 로그 파일을 회전시키는 경우 회전된 로그 파일 이름과 일치하는 정규식을 지정하십시오. 예를 들어 Hello World 애플리케이션의 로그를 hello_world\\\\w*.log 업로드하도록 지정할 수 있습니다. \\\\w*패턴은 영숫자와 밑줄을 포함하는 0개 이상의 단어 문자와 일치합니다. 이 정규식은 이름에 타임스탬프가 있거나 없는 로그 파일을 일치시킵니다. 이 예제에서 로그 관리자는 다음 로그 파일을 업로드합니다.

  • hello_world.log— Hello World 애플리케이션의 최신 로그 파일입니다.

  • hello_world_2020_12_15_17_0.log— 헬로 월드 애플리케이션의 이전 로그 파일입니다.

기본값:componentName\\\\w*.log, 여기서 ComponentName은 이 로그 구성의 구성 요소 이름입니다.

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

multiLineStartPattern

(선택 사항) 새 줄의 로그 메시지가 새 로그 메시지인 경우를 식별하는 정규 표현식입니다. 정규 표현식이 새 줄과 일치하지 않는 경우 로그 관리자 구성 요소는 이전 줄의 로그 메시지에 새 줄을 추가합니다.

기본적으로 로그 관리자 구성요소는 줄이 탭이나 공백과 같은 공백 문자로 시작하는지 확인합니다. 그렇지 않으면 로그 관리자가 해당 줄을 새 로그 메시지로 처리합니다. 그렇지 않으면 해당 줄이 현재 로그 메시지에 추가됩니다. 이 동작은 로그 관리자 구성요소가 스택 트레이스와 같이 여러 줄에 걸쳐있는 메시지를 분할하지 않도록 합니다.

periodicUploadIntervalSec

(선택 사항) 로그 관리자 구성 요소가 업로드할 새 로그 파일을 확인하는 기간 (초).

기본값: 300 (5분)

최소: 0.000001 (1마이크로초)

예: 구성 병합 업데이트

다음 예제 구성은 시스템 로그와 com.example.HelloWorld 구성 요소 로그를 로그에 업로드하도록 CloudWatch 지정합니다.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }
v2.0.x
logsUploaderConfiguration

(선택 사항) 로그 관리자 구성 요소가 업로드하는 로그의 구성입니다. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

systemLogsConfiguration

(선택 사항) AWS IoT Greengrass 코어 소프트웨어 시스템 로그의 구성. 로그 관리자 구성 요소가 시스템 로그를 관리할 수 있도록 하려면 이 구성을 지정하십시오. 이 객체에는 다음 정보가 포함되어 있어야 합니다.

uploadToCloudWatch

(선택 사항) 시스템 로그를 Logs에 업로드할 CloudWatch 수 있습니다.

기본값: false

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 Greengrass nucleus 구성요소가 JSON 형식 로그를 출력하도록 구성한 경우에만 적용됩니다. JSON 형식 로그를 활성화하려면 로깅 형식 매개 변수 () JSON 를 지정하십시오. logging.format

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) Greengrass 시스템 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit Greengrass 시스템 로그 파일의 총 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 가장 오래된 Greengrass 시스템 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 동일합니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 최대 총 Greengrass 시스템 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 단위입니다. diskSpaceLimit 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

componentLogsConfiguration

(선택 사항) 코어 디바이스의 구성 요소에 대한 로그 구성 목록입니다. 이 목록의 각 구성은 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다. 로그 관리자 구성 요소는 이러한 구성 요소 로그를 Logs에 CloudWatch 업로드합니다.

각 개체에는 다음 정보가 들어 있습니다.

componentName

이 로그 구성의 구성 요소 또는 응용 프로그램 이름. Greengrass 구성 요소의 이름 또는 다른 값을 지정하여 이 로그 그룹을 식별할 수 있습니다.

minimumLogLevel

(선택 사항) 업로드할 로그 메시지의 최소 수준입니다. 이 최소 수준은 이 구성 요소의 로그가 특정 JSON 형식을 사용하는 경우에만 적용됩니다. 이 형식은 AWS IoT Greengrass로깅 모듈 리포지토리에서 찾을 수 있습니다. GitHub

여기에 레벨 순서대로 나열된 다음 로그 수준 중에서 선택하십시오.

  • DEBUG

  • INFO

  • WARN

  • ERROR

기본값: INFO

diskSpaceLimit

(선택 사항) 이 구성 요소에 대한 모든 로그 파일의 최대 총 크기 (지정한 단위) diskSpaceLimitUnit 이 구성 요소 로그 파일의 전체 크기가 이 최대 크기를 초과하면 AWS IoT Greengrass Core 소프트웨어는 이 구성 요소의 가장 오래된 로그 파일을 삭제합니다.

이 매개변수는 Greengrass 핵 구성요소의 로그 크기 제한 매개변수 (totalLogsSizeKB) 와 관련이 있습니다. AWS IoT GreengrassCore 소프트웨어는 두 값 중 최소값을 이 구성 요소의 최대 총 로그 크기로 사용합니다.

diskSpaceLimitUnit

(선택 사항) 의 diskSpaceLimit 단위입니다. 다음 옵션 중 하나를 선택합니다.

  • KB— 킬로바이트

  • MB— 메가바이트

  • GB— 기가바이트

기본값: KB

logFileDirectoryPath

이 구성 요소의 로그 파일이 들어 있는 폴더의 경로입니다.

Greengrass 구성 요소의 로그를 업로드하려면 지정한 /greengrass/v2/logs 후 Greengrass 루트 /greengrass/v2 폴더로 대체하십시오.

logFileRegex

구성 요소나 애플리케이션이 사용하는 로그 파일 이름 형식을 지정하는 정규 표현식입니다. 로그 관리자 구성 요소는 이 정규 표현식을 사용하여 의 폴더에 있는 로그 파일을 logFileDirectoryPath 식별합니다.

Greengrass 구성 요소의 로그를 업로드하려면 회전된 로그 파일 이름과 일치하는 정규식을 지정하십시오. 예를 들어 Hello World 구성 요소의 로그를 com.example.HelloWorld\\w*.log 업로드하도록 지정할 수 있습니다. \\w*패턴은 영숫자와 밑줄을 포함하는 0개 이상의 단어 문자와 일치합니다. 이 정규식은 이름에 타임스탬프가 있거나 없는 로그 파일을 일치시킵니다. 이 예제에서 로그 관리자는 다음 로그 파일을 업로드합니다.

  • com.example.HelloWorld.log— Hello World 구성 요소의 최신 로그 파일입니다.

  • com.example.HelloWorld_2020_12_15_17_0.log— 헬로 월드 구성 요소의 이전 로그 파일입니다. Greengrass 핵은 로그 파일에 회전하는 타임스탬프를 추가합니다.

deleteLogFileAfterCloudUpload

(선택 사항) 로그 관리자 구성 요소가 로그를 Logs에 업로드한 후 로그 파일을 삭제할 수 있습니다. CloudWatch

기본값: false

multiLineStartPattern

(선택 사항) 새 줄의 로그 메시지가 새 로그 메시지인 경우를 식별하는 정규 표현식입니다. 정규 표현식이 새 줄과 일치하지 않는 경우 로그 관리자 구성 요소는 이전 줄의 로그 메시지에 새 줄을 추가합니다.

기본적으로 로그 관리자 구성요소는 줄이 탭이나 공백과 같은 공백 문자로 시작하는지 확인합니다. 그렇지 않으면 로그 관리자가 해당 줄을 새 로그 메시지로 처리합니다. 그렇지 않으면 해당 줄이 현재 로그 메시지에 추가됩니다. 이 동작은 로그 관리자 구성요소가 스택 트레이스와 같이 여러 줄에 걸쳐있는 메시지를 분할하지 않도록 합니다.

periodicUploadIntervalSec

(선택 사항) 로그 관리자 구성 요소가 업로드할 새 로그 파일을 확인하는 기간 (초).

기본값: 300 (5분)

최소: 0.000001 (1마이크로초)

예: 구성 병합 업데이트

다음 예제 구성은 시스템 로그와 com.example.HelloWorld 구성 요소 로그를 로그에 업로드하도록 CloudWatch 지정합니다.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true", "minimumLogLevel": "INFO", "diskSpaceLimit": "10", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" }, "componentLogsConfiguration": [ { "componentName": "com.example.HelloWorld", "minimumLogLevel": "INFO", "logFileDirectoryPath": "/greengrass/v2/logs", "logFileRegex": "com.example.HelloWorld\\w*.log", "diskSpaceLimit": "20", "diskSpaceLimitUnit": "MB", "deleteLogFileAfterCloudUpload": "false" } ] }, "periodicUploadIntervalSec": "300" }

사용량

로그 관리자 구성 요소는 다음 로그 그룹 및 로그 스트림에 업로드합니다.

2.1.0 and later
로그 그룹 이름
/aws/greengrass/componentType/region/componentName

로그 그룹 이름은 다음 변수를 사용합니다.

  • componentType— 구성 요소의 유형으로, 다음 중 하나일 수 있습니다.

    • GreengrassSystemComponent— 이 로그 그룹에는 Greengrass 핵과 동일한 JVM에서 실행되는 핵 및 플러그인 구성 요소에 대한 로그가 포함됩니다. 구성 요소는 Greengrass 핵의 일부입니다.

    • UserComponent— 이 로그 그룹에는 일반 구성 요소, Lambda 구성 요소 및 디바이스의 기타 애플리케이션에 대한 로그가 포함됩니다. 구성 요소는 Greengrass 핵의 일부가 아닙니다.

    자세한 설명은 구성 요소 유형 섹션을 참조하세요.

  • region— 코어 디바이스가 사용하는 AWS 지역.

  • componentName— 구성 요소 이름. 시스템 로그의 경우 이 값은 입니다System.

로그 스트림 이름
/date/thing/thingName

로그 스트림 이름은 다음 변수를 사용합니다.

  • date— 로그 날짜 (예:2020/12/15. 로그 관리자 구성 요소는 yyyy/MM/dd 형식을 사용합니다.

  • thingName— 코어 디바이스의 이름.

참고

사물 이름에 콜론 (:) 이 포함된 경우 로그 관리자는 콜론을 더하기 () 로 바꿉니다. +

2.0.x
로그 그룹 이름
/aws/greengrass/componentType/region/componentName

로그 그룹 이름은 다음 변수를 사용합니다.

  • componentType— 구성 요소의 유형으로, 다음 중 하나일 수 있습니다.

    • GreengrassSystemComponent— 성분은 Greengrass 핵의 일부입니다.

    • UserComponent— 성분은 Greengrass 핵의 일부가 아닙니다. 로그 관리자는 장치의 Greengrass 구성 요소 및 기타 애플리케이션에 이 유형을 사용합니다.

  • region— 코어 디바이스가 사용하는 AWS 지역.

  • componentName— 구성 요소 이름. 시스템 로그의 경우 이 값은 입니다System.

로그 스트림 이름
/date/deploymentTargets/thingName

로그 스트림 이름은 다음 변수를 사용합니다.

  • date— 로그 날짜 (예:2020/12/15. 로그 관리자 구성 요소는 yyyy/MM/dd 형식을 사용합니다.

  • deploymentTargets— 배포 대상 항목에 구성 요소가 포함됩니다. 로그 관리자 구성 요소는 각 대상을 슬래시로 구분합니다. 로컬 배포의 결과로 구성 요소가 코어 장치에서 실행되는 경우 이 값은 입니다. LOCAL_DEPLOYMENT

    이름이 지정된 MyGreengrassCore 코어 디바이스가 있고 코어 디바이스에 두 개의 배포가 있는 경우를 예로 들어 보겠습니다.

    • 코어 기기를 대상으로 하는 배포,. MyGreengrassCore

    • 코어 디바이스를 포함하는 이름이 지정된 MyGreengrassCoreGroup 사물 그룹을 대상으로 하는 배포입니다.

    이 코어 디바이스의 deploymentTargets 용도는 다음과 같습니다thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup.

  • thingName— 코어 디바이스의 이름.

로그 항목 형식.

Greengrass 핵은 문자열 또는 JSON 형식으로 로그 파일을 작성합니다. 시스템 로그의 경우 항목 format 필드를 설정하여 형식을 제어합니다. logging Greengrass nucleus 컴포넌트의 구성 파일에서 logging 항목을 찾을 수 있습니다. 자세한 내용은 Greengrass 핵 구성을 참조하십시오.

텍스트 형식은 자유 형식이며 모든 문자열을 사용할 수 있습니다. 다음 플릿 상태 서비스 메시지는 문자열 형식 로깅의 예입니다.

2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, currentState=RUNNING}

Greengrass CLI logs 명령으로 로그를 보거나 프로그래밍 방식으로 로그와 상호 작용하려면 JSON 형식을 사용해야 합니다. 다음 예제에서는 JSON 형태를 간략하게 설명합니다.

{ "loggerName": <string>, "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">, "eventType": <string, optional>, "cause": <string, optional>, "contexts": {}, "thread": <string>, "message": <string>, "timestamp": <epoch time> # Needs to be epoch time }

구성 요소 로그의 출력을 제어하려면 구성 옵션을 사용할 수 있습니다. minimumLogLevel 이 옵션을 사용하려면 구성 요소가 로그 항목을 JSON 형식으로 작성해야 합니다. 시스템 로그 파일과 같은 형식을 사용해야 합니다.

로컬 로그 파일

이 구성 요소는 Greengrass 핵 구성 요소와 동일한 로그 파일을 사용합니다.

Linux
/greengrass/v2/logs/greengrass.log
Windows
C:\greengrass\v2\logs\greengrass.log
이 구성 요소의 로그를 보려면
  • 코어 기기에서 다음 명령을 실행하여 이 구성 요소의 로그 파일을 실시간으로 확인합니다. /greengrass/v2또는 C:\greengrass\v2 를 AWS IoT Greengrass 루트 폴더 경로로 바꿉니다.

    Linux
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows (PowerShell)
    Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait

Changelog

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

버전

변경

2.3.7

그린그래스 뉴클리어스 버전 2.12.0 릴리스를 위해 버전이 업데이트되었습니다.

2.3.6

버그 수정 및 개선
  • 특정 오류의 로그 수준을 조정합니다.

2.3.5

개선 사항

로그 업로드 속도를 개선합니다.

그린그래스 뉴클리어스 버전 2.11.0 릴리스를 위해 버전이 업데이트되었습니다.

2.3.4

버그 수정 및 개선
  • periodicUploadIntervalSec파라미터를 소수 값으로 설정하는 서포트를 추가합니다. 최소값은 1마이크로초입니다.

  • 로그 관리자가 CloudWatch putLogEvents 제한을 준수하지 않는 문제를 수정합니다.

2.3.3

그린그래스 뉴클리어스 버전 2.10.0 릴리스를 위해 버전이 업데이트되었습니다.

2.3.2

버그 수정 및 개선
  • 로그 파일이 업로드되기 전에 삭제되지 않도록 공간 관리를 개선합니다.

  • 캐시 관리 문제를 수정합니다.

  • 추가 사소한 버그 수정 및 개선

2.3.1

버그 수정 및 개선
  • 활성 로그 파일이 여러 개 있는 대상 파일 그룹이 중복 항목을 업로드하는 CloudWatch 문제를 수정합니다.

  • 추가적인 사소한 버그 수정 및 개선

2.3.0

참고

로그 관리자 2.3.0으로 업그레이드할 때는 Greengrass nucleus 2.9.1로 업그레이드하는 것이 좋습니다.

새로운 기능

새 파일이 교체될 때까지 기다리지 않고 활성 로그 파일을 처리하고 직접 업로드하여 로그 지연을 줄입니다.

버그 수정 및 개선
  • 고유한 이름을 가진 파일을 회전할 때 로그 로테이션 지원을 개선합니다.

  • 추가 사소한 버그 수정 및 개선

2.2.8

Greengrass 뉴클리어스 버전 2.9.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.7

Greengrass 뉴클리어스 버전 2.8.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.6

Greengrass 뉴클리어스 버전 2.7.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.5

Greengrass 뉴클리어스 버전 2.6.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.4

버그 수정 및 개선
  • 잘못된 구성을 처리할 때의 안정성을 개선합니다.

  • 추가 사소한 수정 및 개선.

2.2.3

버그 수정 및 개선
  • 구성 요소가 다시 시작되거나 오류가 발생하는 특정 시나리오의 안정성을 개선합니다.

  • 특정 시나리오에서 대용량 로그 메시지와 대용량 로그 파일이 업로드되지 않는 문제를 수정합니다.

  • 이 구성 요소가 구성 재설정 업데이트를 처리하는 방식과 관련된 문제를 수정합니다.

  • nulldiskSpaceLimit구성 값으로 인해 구성 요소를 배포할 수 없었던 문제를 수정합니다.

2.2.2

버그 수정 및 개선
  • 256킬로바이트보다 큰 로그 메시지에 대한 지원을 추가합니다. 로그 관리자 구성요소는 이러한 대용량 로그 메시지를 로그 이벤트 타임스탬프가 동일한 여러 메시지로 분할합니다.

2.2.1

Greengrass 뉴클리어스 버전 2.5.0 릴리스를 위해 버전이 업데이트되었습니다.

2.2.0

새 기능
  • componentLogsConfigurationMap구성 요소 로그 구성을 위한 맵 형식을 지원하는 구성 매개변수를 추가합니다. 맵의 각 componentName 개체는 구성 요소 또는 응용 프로그램의 로그 구성을 정의합니다.

2.1.3

그린그래스 뉴클리어스 버전 2.4.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.2

그린그래스 뉴클리어스 버전 2.3.0 릴리스를 위해 버전이 업데이트되었습니다.

2.1.1

버그 수정 및 개선
  • 특정 경우에 시스템 로그 구성이 업데이트되지 않던 문제를 수정합니다.

2.1.0

버그 수정 및 개선
  • 표준 출력 (stdout) logFileDirectoryPathlogFileRegex 표준 오류 (stderr) 로 인쇄되는 Greengrass 구성 요소에 대한 기본값과 작동하는 기본값을 사용하십시오.

  • 로그를 Logs에 업로드할 때 구성된 네트워크 프록시를 통해 트래픽을 올바르게 라우팅합니다. CloudWatch

  • 로그 스트림 이름의 콜론 문자 (:) 를 올바르게 처리하십시오. CloudWatch 로그 로그 스트림 이름은 콜론을 지원하지 않습니다.

  • 로그 스트림에서 사물 그룹 이름을 제거하여 로그 스트림 이름을 단순화합니다.

  • 정상 동작 중에 인쇄되는 오류 로그 메시지를 제거합니다.

2.0.x

초기 버전