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"

자세한 내용은 지원되는 데이터베이스 확장 프로그램pgauditPostgreSQL 감사 확장 프로그램을 참조하세요. 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

다음 단계