로그 순환(사용하지 않을 때 여러 로그 파일을 순환하는 프로세스)으로, 대량의 로그 파일을 생성하는 시스템 관리가 간소화됩니다. 로그 순환을 사용하면 로그 파일의 자동 순환, 압축, 삭제, 메일링이 가능합니다.
Private Cloud용 Edge에서 각 apigee
구성요소의 일부 기본 로그 파일은 기본 순환 메커니즘으로 구성됩니다. 예를 들어 메시지 프로세서 구성요소에서 다음 파일은 logback을 사용하는 기본 순환 메커니즘으로 구성됩니다.
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
이름이 edge-
로 시작하는 다른 edge-*
구성요소 (예: edge-management-server
, edge-router
, edge-postgres-server
, edge-qpid-server
)에도 유사한 파일이 존재합니다.
edge-*
구성요소는 각 구성요소 콘솔의 리디렉션된 출력인 추가 로그 파일도 생성합니다. 메시지 프로세서 구성요소의 경우 이 파일은 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
라고 합니다.
다른 edge-*
구성요소도 유사한 파일을 생성합니다. 이러한 파일의 순환은 logback 라이브러리가 아니라 logrotate
및 crontab
를 사용하여 실행됩니다.
시작하기 전에
logrotate
구성에 익숙하지 않다면 logrotate 설명서를 참고하세요.crontab
구성에 익숙하지 않은 경우 crontab 매뉴얼을 읽어보세요.
로그 순환 사용 설정
Edge for Private Cloud 버전 4.52부터 edge-*
구성요소를 설치하면 이 로그를 순환하기 위한 crontab
항목이 apigee
사용자의 crontab
에 자동으로 생성됩니다. 이 크론 작업은 기본적으로 1시간 간격으로 실행되며 logrotate
유틸리티를 사용하여 로그를 순환합니다. 여러 edge-*
구성요소가 동일한 노드에 설치된 경우 (예: 올인원 설치 또는 라우터와 메시지 프로세서가 한 노드에 설치된 경우) 모든 구성요소는 각 로그를 순환하기 위한 자체 크론 항목을 갖습니다.
참고:
edge-*
구성요소를 설치하는 동안logrotate
cronjob을 자동으로 설정하지 않으려면 설치에 사용하는 자동 구성 파일에 'ENABLE_LOGROTATE=n' 플래그를 설정합니다. 설치 중에 크론 작업이 설정되지 않은 경우 구성요소의logrotate
크론 단계를 수행하여 나중에 크론 작업을 설정할 수 있습니다.edge-router
구성요소의 경우 추가logrotate
크론 작업도 기본적으로 구성됩니다. 이 크론은 Nginx에서 생성된 액세스 및 오류 로그를 순환합니다.
다음 예시에서는 사용자가 수행할 수 있는 다양한 구성 및 관리 작업을 보여줍니다.
노드에서 크론 항목 보기
sudo crontab -u apigee -l
구성요소의 logrotate
크론 항목 보기
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
예를 들어 Edge-message-processor의 logrotate
크론을 보려면 다음을 실행합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
구성요소의 logrotate
구성 보기
구성요소의 logrotate
구성은 $APIGEE_ROOT/<component>/logrotate/logrotate.conf
파일에서 찾을 수 있습니다.
예를 들어 에지 메시지 프로세서의 경우 노드의 logrotate
구성은 $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
에서 찾을 수 있습니다.
구성요소의 logrotate
크론 사용 설정
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
예를 들어 Edge-message-processor의 logrotate
크론을 사용 설정하려면 다음을 실행합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
구성요소의 logrotate
크론 사용 중지
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
예를 들어 Edge-message-processor의 logrotate
크론을 사용 중지하려면 다음을 실행합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
특정 logrotate
명령어의 크론 일정 변경
logrotate
크론 일정을 변경하려는 노드에서 해당 구성요소의 구성 재정의 파일을 엽니다. edge-*
구성요소의 구성 재정의 파일은 아래 표에 나와 있습니다.
구성요소 | 구성 재정의 파일 |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
적절한 재정의 파일을 열고 다음 구성 재정의를 설정합니다. 아래 예시는 매시간 0분에 실행되도록 크론 작업을 재정의합니다.
conf_logrotate_cron_duration=0 * * * *
구성 재정의를 설정하려면 다음 안내를 따르세요.
apigee
사용자가 파일을 읽을 수 있는지 확인합니다.- 구성요소에 최신 크론 일정을 적용합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
예를 들어 에지 메시지 프로세서의 logrotate
에 최신 크론 일정을 적용하려면 다음을 입력합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
변경사항이 적용되었는지 확인하려면 크론 항목을 확인하거나 구성요소의 logrotate
크론 항목을 확인합니다.
추가 logrotate
구성
cron 일정을 수정하기 위해 위 섹션에 나열된 단계와 마찬가지로 추가 구성을 수정할 수도 있습니다. 아래 표에서는 이러한 구성을 설명합니다.
구성 | 설명 |
---|---|
conf_logrotate_bin_location |
logrotate 바이너리의 위치입니다. 기본값: /usr/sbin/logrotate |
conf_logrotate_status_file |
logrotate의 런타임 상태를 캡처하는 상태 파일 - apigee 사용자에 대한 읽기/쓰기 권한이 있음을 보여줍니다. 기본값: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
순환할 로그. 와일드 카드를 포함할 수 있습니다. 기본값:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
회전 횟수 기본값: '5' |
conf_logrotate_compress |
회전된 파일을 압축할지 여부입니다. 기본값: 'compress' |
conf_logrotate_compress_type |
압축 유형입니다. 기본값: 'Delaycompress'. 최근에 순환된 파일의 압축을 다음 logrotate 주기로 연기합니다. |
conf_logrotate_size |
순환의 로그 크기 제한입니다. 기본값: '10M' |
자체 로그 순환 메커니즘 및 크론 사용
Apigee에서 제공하는 구성으로 <component>.log의 순환 요구사항이 충족되지 않는 경우 logrotate 등의 도구를 사용하여 자체 로그 순환 메커니즘을 활용할 수 있습니다. 예를 들어 Apigee에서 제공하는 구성을 사용하면 로그를 크기별로 순환할 수 있지만 날짜/시간 또는 기타 요인을 기준으로 로그를 순환할 수 있습니다. 이러한 경우 Apigee에서 제공하는 logrotate
크론을 사용 중지하고 필요에 따라 자체 크론 작업을 설정해야 합니다.
Apigee의 로그 순환 크론 항목을 참조해야 하는 경우 $APIGEE_ROOT/
파일에서 찾을 수 있습니다. 예를 들어 edge-message-processor
의 경우 이 파일의 이름은 $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
입니다. 이 파일에는 크론 항목과 로그 순환을 위해 Apigee에서 실행하는 명령어가 모두 포함됩니다. logrotate
를 사용하고 싶지만 Apigee의 구성은 사용하지 않으려면 logrotate
구성 파일을 직접 만들고 유사한 logrotate
명령어를 사용하여 로그 순환을 수행하면 됩니다.