운영 에이전트는 logging-module.log
라는 로그 파일에 작성합니다. 에이전트가 장시간 동안 방치되거나 문제가 발생한 경우 이 '자체 로그' 파일이 사용 가능한 디스크 공간을 모두 사용할 수 있습니다. 이 문서에서는 이 문제를 방지하기 위해 로그 로테이션을 사용하는 방법을 설명합니다.
운영 에이전트 버전 2.31.0에는 에이전트에 기본 제공되는 구성 가능한 로그 로테이션 기능이 도입되었습니다. 운영 에이전트 버전 2.31.0 이상을 실행하는 경우 기본 제공 로그 로테이션 기능을 사용할 수 있습니다. 운영 에이전트에서 로그 로테이션 구성을 참조하세요.
로그 로테이션을 수동으로 관리할 수도 있습니다. 기본 제공 로그 로테이션 없이 운영 에이전트 버전을 사용하거나 로그를 수동으로 순환하려는 경우 수동 프로세스가 필요할 수 있습니다. 가능한 방법 중 하나는 Linux VM에서 자체 로그 파일 로테이션 설정을 참조하세요.
운영 에이전트에서 로그 로테이션 구성
이 섹션에서는 운영 에이전트가 로그를 자동으로 순환하기 위해 사용하는 기본 로그 로테이션 구성을 수정하는 방법을 설명합니다. 이 기능을 사용하려면 운영 에이전트 버전 2.31.0 이상이 필요합니다.
기본 구성
운영 에이전트는 default_self_log_file_rotation
항목을 사용하여 로그 로테이션을 구성합니다. 이 구성 항목에는 세 가지 옵션이 있습니다. 다음 스니펫은 해당 옵션과 기본값을 보여줍니다.
default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
default_self_log_file_rotation
구성에는 세 가지 옵션이 있습니다.
enabled
: 로그 로테이션 사용 설정 여부입니다. 기본값은true
입니다.max_file_size_megabytes
: 로그 로테이션에서 로그 파일을 백업하기 전에 도달할 수 있는 최대 로그 파일 크기입니다. MB(1,0242바이트) 단위로 측정됩니다. 기본값은 400이고 유효한 최솟값은 1입니다.backup_count
: 보관할 이전 로그 파일 수입니다. 기본값은 1이고 유효한 최솟값은 1입니다.
로그 로테이션 사용자 구성
기본 로그 로테이션 구성을 수정하려면 운영 에이전트 사용자 구성 파일에서 구성을 재정의하여 해당 구성을 재정의합니다.
- Linux:
/etc/google-cloud-ops-agent/config.yaml
- Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
운영 에이전트에서 로그 로테이션을 구성하려면 사용자 구성 파일에 global
섹션을 추가하고 global
섹션에 구성 요소 default_self_log_file_rotation
을 포함합니다. 이 구성 파일에 이미 로깅 또는 측정항목 파이프라인이 있을 수 있습니다. 파이프라인 뒤에 global
섹션을 추가하세요. 모든 옵션과 기본값을 지정할 경우 결과는 다음과 같습니다.
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
구성 예시
운영 에이전트의 로그 로테이션을 중지하려면 enabled
옵션을 false
값으로 지정합니다.
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: false
로그 파일이 20MB에 도달하면 로그를 순환하고 백업 5개(총 6개 파일)를 유지하려면 다음과 같이 지정합니다.
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 20 backup_count: 5
로그 파일이 2,000MB(2GB)에 도달하면 로그를 순환하고 백업 1개(총 2개 파일)를 유지하려면 다음과 같이 지정합니다.
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 2000
로그 파일이 400MB에 도달하면 로그를 순환하고 백업 2개(총 3개 파일)를 유지하려면 다음과 같이 지정합니다.
logging: ... metrics: ... global: default_self_log_file_rotation: backup_count: 2
로그 로테이션 구성을 미세 조정하기 위해 자주 변경하는 경우에는 에이전트를 다시 시작하여 변경사항을 적용해야 합니다.
Linux VM에서 자체 로그 파일 로테이션 설정
/var/log/google-cloud-ops-agent/subagents/logging-module.log
에서 로깅 하위 에이전트 로그의 크기를 제한하려면 logrotate
유틸리티를 설치하고 구성합니다.
다음 명령어를 실행하여
logrotate
유틸리티를 설치합니다.Debian 및 Ubuntu
sudo apt install logrotate
CentOS, RHEL, 및 Fedora
sudo yum install logrotate
/etc/logrotate.d/google-cloud-ops-agent.conf
에logrotate
구성 파일을 만듭니다.sudo tee /etc/logrotate.d/google-cloud-ops-agent.conf > /dev/null << EOF # logrotate config to rotate Google Cloud Ops Agent self log file. # See https://manpages.debian.org/jessie/logrotate/logrotate.8.en.html for # the full options. /var/log/google-cloud-ops-agent/subagents/logging-module.log { # Log files are rotated every day. daily # Log files are rotated this many times before being removed. This # effectively limits the disk space used by the Ops Agent self log files. rotate 30 # Log files are rotated when they grow bigger than maxsize even before the # additionally specified time interval maxsize 256M # Skip rotation if the log file is missing. missingok # Do not rotate the log if it is empty. notifempty # Old versions of log files are compressed with gzip by default. compress # Postpone compression of the previous log file to the next rotation # cycle. delaycompress } EOF
logrotate
유틸리티를 주기적으로 트리거하도록crontab
또는systemd timer
를 설정합니다.
로그 로테이션이 적용되면 /var/log/google-cloud-ops-agent/subagents/
디렉터리에 순환된 파일이 표시됩니다. 출력은 다음과 유사합니다.
/var/log/google-cloud-ops-agent/subagents$ ls -lh
total 24K
-rw-r--r-- 1 root root 717 Sep 3 19:54 logging-module.log
-rw-r--r-- 1 root root 6.8K Sep 3 19:51 logging-module.log.1
-rw-r--r-- 1 root root 874 Sep 3 19:50 logging-module.log.2.gz
-rw-r--r-- 1 root root 873 Sep 3 19:50 logging-module.log.3.gz
-rw-r--r-- 1 root root 3.2K Sep 3 19:34 logging-module.log.4.gz
로그 로테이션을 테스트하려면 다음 안내를 따르세요.
/etc/logrotate.d/google-cloud-ops-agent.conf
파일에서maxsize
값을1k
로 설정하여 순환이 트리거되는 파일 크기를 일시적으로 줄입니다.에이전트를 몇 번 다시 시작하여 1K보다 크도록 에이전트 자체 로그 파일을 트리거합니다.
sudo service google-cloud-ops-agent restart
crontab
또는systemd timer
가logrotate
유틸리티를 트리거할 때까지 기다리거나 다음 명령어를 실행하여 수동으로logrotate
유틸리티를 트리거합니다.sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
/var/log/google-cloud-ops-agent/subagents/
디렉터리에 순환된 로그 파일이 있는지 확인합니다.원래
maxsize
값을 복원하여 로그 로테이션 구성을 재설정합니다.