다음 로그 파일은 /obs/diagnostic/
디렉터리에 있습니다.
postgresql.audit
: 이 로그 파일은 세션 및 객체 액세스 감사 로그를 수집합니다. 감사 로그를 수집하려면 감사 로그를 사용 설정해야 합니다.postgresql.log
: 이 로그 파일은 PostgreSQL 서버 로그를 수집합니다. 이러한 로그는 항상 수집되며 사용 설정할 필요가 없습니다.
로그 파일이 순환되면 다음과 같은 결과가 발생합니다.
로그 파일이
/obs/diagnostic/archive/
디렉터리로 복사됩니다. 같은 이름의 로그 파일이 해당 디렉터리에 있으면 덮어씁니다.순환된 로그 파일 원본의 콘텐츠가 삭제되어 파일이 비게 됩니다.
로그 정보가 즉시 빈 순환 로그 파일에 기록되기 시작합니다. 파일이 크기 또는 기간 기준에 도달할 때까지 로그 정보가 로그 파일에 기록되며, 이 시점에서 다시 순환됩니다. 로그가 너무 커지지 않도록 순환됩니다.
기본적으로 순환 설정은 크기가 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"
자세한 내용은 지원되는 데이터베이스 확장 프로그램의 pgaudit
및 PostgreSQL 감사 확장 프로그램을 참조하세요.
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