AlloyDB Omni 로그 순환 구성

문서 버전을 선택합니다.

이 문서에서는 AlloyDB Omni Kubernetes 연산자를 사용할 때 AlloyDB Omni 진단 로그 순환을 구성하는 방법을 설명합니다.

다음 로그 파일은 /obs/diagnostic/ 디렉터리에 있습니다.

  • postgresql.audit: 이 로그 파일은 세션 및 객체 액세스 감사 로그를 수집합니다. 감사 로그를 수집하려면 감사 로그를 사용 설정해야 합니다.

  • postgresql.log: 이 로그 파일은 PostgreSQL 서버 로그를 수집합니다. 이러한 로그는 항상 수집되며 사용 설정되지 않아도 됩니다.

로그 파일이 순환되면 다음과 같은 결과가 발생합니다.

  1. 로그 파일이 /obs/diagnostic/archive/ 디렉터리에 복사됩니다. 이름이 같은 로그 파일이 해당 디렉터리에 있으면 덮어씁니다.

  2. 파일이 비어 있도록 원래 순환된 로그 파일의 콘텐츠가 삭제됩니다.

  3. 로그 정보가 즉시 비어 있는 순환 로그 파일에 기록되기 시작합니다. 로그 정보는 파일이 크기 또는 기간 기준점에 도달할 때까지 로그 파일에 기록되며 이 시점에서 다시 순환됩니다. 로그가 너무 커지지 않도록 순환됩니다.

기본적으로 순환은 크기가 200MB에 도달하면 각 로그 파일이 순환되도록 설정되어 있습니다. 기본 순환에는 기간 설정이 포함되지 않습니다.

보관처리된 파일은 7일 동안 보관됩니다. 마지막 순환 중에 보관처리된 파일을 제외하고 7일이 지난 보관처리된 파일은 자동으로 삭제됩니다. 예를 들어 log_rotation_age가 7일이 지난 경우 보관처리된 파일이 현재 파일이 순환되기 전에 7일 기준점에 도달합니다. 이 경우 다음 순환에서 새 보관처리된 파일을 생성할 때까지 이 보관처리된 파일은 삭제되지 않습니다.

순환된 각 로그 파일 이름은 postgresql-%Y-%m-%d_%H%M%S.log 형식을 따릅니다. 타임스탬프는 로그 순환 시에 결정되며 협정 세계시(UTC)로 표시됩니다. 예를 들어 2024년 12월 20일 13시 1분 2초(UTC)에 로그가 순환되면 보관처리된 파일 이름은 postgresql-2024-12-20_130102.log입니다.

보관처리된 각 파일은 Gzip 파일 형식을 통해 개별적으로 압축됩니다.

감사 로그 사용 설정

세션 및 객체 액세스 로그가 postgresql.audit 파일에 수집되려면 pgaudit 데이터베이스 파라미터를 사용 설정해야 합니다. pgaudit을 사용 설정하려면 다음 줄을 Secret 아래의 v1_dbcluster_parameters.yaml 파일 parameters 섹션에 추가합니다.

alloydb.enable_pgaudit: "on"

이에 대한 예시는 다음과 같습니다.

apiVersion: v1
kind: Secret
...
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
   name: DB_CLUSTER_NAME
spec:
  databaseVersion: "16.8.0"
  primarySpec:
    ...
    parameters:
      ...
      alloydb.enable_pgaudit: "on"

자세한 내용은 지원되는 데이터베이스 확장 프로그램PostgreSQL 감사 확장 프로그램pgaudit을 참조하세요. PostgreSQL 서버 로그는 항상 postgresql.log 파일에 수집되며 pgaudit를 사용 설정하지 않아도 됩니다.

감사 로그 파일 경로 보기

SQL 함수 alloydb_audit_current_logfile을 사용하여 감사 로그 파일 경로를 볼 수 있습니다. 감사가 사용 중지되면 결과는 NULL입니다.

SELECT alloydb_audit_current_logfile();

 alloydb_audit_current_logfile
----------------------------------------------------
 /var/log/pglogs/postgresql-2025-03-28_042024.audit

로그 순환 구성

로그 순환 시점을 더 세밀하게 제어하려면 최대 파일 크기, 로그 순환 간 기간 또는 둘 다를 구성합니다. 로그 순환 간 기간을 로그 수명이라고도 합니다. 두 설정 모두 사용하면 각 로그는 기준점 중 하나에 도달하면 순환됩니다.

로그 순환을 구성하려면 DBCluster 매니페스트의 parameters 섹션에서 다음 파라미터 중 하나 또는 둘 다 설정합니다.

  • log_rotation_size: 'SIZE_IN_KB'
  • log_rotation_age: 'AGE_IN_MINUTES'

로그 순환 설정 중 하나를 사용 중지하려면 0("0")으로 설정합니다. 파일 크기가 200MB에 도달하면 로그를 순환하는 기본 설정을 유지하려면 파라미터를 설정하지 마세요.

로그 순환 최대 로그 크기 및 기간 예시

다음 샘플은 파일 크기가 400MB에 도달하거나 로그 순환 간 시간이 1일에 도달하는 것 중 하나가 먼저 발생하면 로그가 순환되도록 설정합니다.

apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: DB_CLUSTER_NAME
spec:
...
  primarySpec:
  ...
    parameters:
      log_rotation_size: "400000" # 400 MB
      log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day

로그 순환 최대 로그 크기 예시

다음 샘플은 파일 크기가 400MB에 도달하면 로그가 순환되도록 설정합니다.

apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: DB_CLUSTER_NAME
spec:
...
  primarySpec:
  ...
    parameters:
      log_rotation_size: "400000" # 400 MB
      log_rotation_age: "0" # Set to 0 to disable

로그 순환 기간 예시

다음 샘플은 24시간마다 한 번씩 로그가 순환되도록 설정합니다.

apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
  name: DB_CLUSTER_NAME
spec:
...
  primarySpec:
  ...
    parameters:
      log_rotation_size: "0" # Set to 0 to disable
      log_rotation_age: "1440" # 24 hours * 60 minutes = 1 day

다음 단계