로그 순환(사용되지 않는 여러 로그 파일을 순환하는 프로세스) 시스템의 관리를 간소화하여 다량의 로그 파일을 생성할 수 있습니다. 로그 회전을 사용하면 자동 회전, 압축, 로그 파일 삭제, 메일링 리스트에 포함됩니다.
Private Cloud용 Edge에서 각 apigee
의 일부 기본 로그 파일
기본 회전 메커니즘으로 구성됩니다. 예를 들어
메시지 프로세서 구성요소에서 다음 파일은 기본 순환으로 구성됩니다.
메커니즘을 사용합니다.
/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-*
구성요소도 비슷한 파일을 생성합니다. 이러한 파일은 인코더-디코더 아키텍처를
로그백 라이브러리를 사용하지만 대신 logrotate
및 crontab
를 사용합니다.
시작하기 전에
logrotate
구성에 관해 잘 모른다면 logrot 매뉴얼.crontab
구성에 관해 잘 모른다면 crontab 설명서를 참조하세요.
로그 순환 사용 설정
edge-*
설치 시 Private Cloud용 Edge 버전 4.52부터
구성요소, 다음에 대한 crontab
항목
이 로그를 순환하는 작업은 apigee
사용자의 crontab
에서 자동으로 생성됩니다. 이 크론 작업은
시간으로 기본 시간이며 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
예를 들어 Edge-message-processor의 경우 노드의 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
예를 들어 Edge-message-processor의 logrotate
에 최신 크론 일정을 적용하려면 다음을 입력합니다.
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
변경사항이 적용되었는지 확인하려면 크론 항목을 확인하거나 구성요소의
logrotate
크론 항목
추가 logrotate
구성
크론 일정 수정을 위해 위 섹션에 나열된 단계와 마찬가지로 추가 구성을 수정할 수도 있습니다. 아래 표에서는 이러한 구성을 설명합니다.
구성 | 설명 |
---|---|
conf_logrotate_bin_location |
logrot 바이너리의 위치입니다. 기본값: /usr/sbin/logrotate |
conf_logrotate_status_file |
logrot의 런타임 상태를 캡처하는 상태 파일 - 읽기/쓰기 권한이 있는 항목 표시
(사용자 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'입니다. 압축 연기 다음 로그 회전 주기로 최근에 순환된 파일을 반환합니다. |
conf_logrotate_size |
순환의 로그 크기 한도입니다. 기본값: '10M' |
자체 로그 순환 메커니즘 및 크론 사용
구성으로 <component>.log 순환에 대한 요구사항이 충족되지 않는 경우
Google Cloud가 제공하는 로그 회전 메커니즘은
또는 기타 등등 예를 들어 Apigee에서 제공하는 구성을 사용하면 로그를 크기별로 순환할 수 있지만
날짜/시간 또는 기타 요소를 기준으로 로그를 순환하려는 경우 이러한 경우
Apigee에서 제공하는 logrotate
크론을 사용 중지하고 필요에 따라 자체 크론 작업을 설정합니다.
Apigee의 로그 순환 크론 항목을 참조해야 하는 경우 다음 파일에서 찾을 수 있습니다.
$APIGEE_ROOT/
예를 들어
edge-message-processor
, 파일 이름은 다음과 같습니다.
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
이 파일
여기에는 크론 항목과 로그 순환을 위해 Apigee에서 실행하는 명령어가 모두 포함됩니다. 만약
logrotate
를 사용하고 싶지만 Apigee 구성을 사용하지 않으려면
logrotate
소유
구성 파일을 만들고 유사한 logrotate
명령어를 사용하여 로그 순환을 수행합니다.