에지 구성요소에 로그 순환 사용 설정

로그 순환(사용되지 않는 여러 로그 파일을 순환하는 프로세스) 시스템의 관리를 간소화하여 다량의 로그 파일을 생성할 수 있습니다. 로그 회전을 사용하면 자동 회전, 압축, 로그 파일 삭제, 메일링 리스트에 포함됩니다.

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-* 구성요소도 비슷한 파일을 생성합니다. 이러한 파일은 인코더-디코더 아키텍처를 로그백 라이브러리를 사용하지만 대신 logrotatecrontab를 사용합니다.

시작하기 전에

로그 순환 사용 설정

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 * * * *

구성 재정의를 설정하려면 다음 안내를 따르세요.

  1. apigee 사용자가 파일을 읽을 수 있는지 확인합니다.
  2. 구성요소에 최신 크론 일정을 적용합니다.
    $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//logrotate/logrotate.cron 예를 들어 edge-message-processor, 파일 이름은 다음과 같습니다. $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron 이 파일 여기에는 크론 항목과 로그 순환을 위해 Apigee에서 실행하는 명령어가 모두 포함됩니다. 만약 logrotate를 사용하고 싶지만 Apigee 구성을 사용하지 않으려면 logrotate 소유 구성 파일을 만들고 유사한 logrotate 명령어를 사용하여 로그 순환을 수행합니다.