File log berikut berada di direktori /obs/diagnostic/
:
postgresql.audit
: File log ini mengumpulkan log audit akses sesi dan objek. Untuk mengumpulkan log audit, Anda harus mengaktifkan log audit.postgresql.log
: File log ini mengumpulkan log server PostgreSQL. Log ini selalu dikumpulkan dan tidak perlu diaktifkan.
Saat file log dirotasi, hal berikut akan terjadi:
File log disalin ke direktori
/obs/diagnostic/archive/
. Jika ada file log dengan nama yang sama di direktori tersebut, file tersebut akan ditimpa.Isi file log yang dirotasi asli dihapus sehingga file tersebut kosong.
Informasi log akan segera ditulis ke file log yang dirotasi dan kosong. Informasi log ditulis ke file log hingga file mencapai batas ukuran atau usia, yang kemudian akan dirotasi lagi. Log dirotasi agar tidak terlalu besar.
Secara default, setelan rotasi adalah agar setiap file log dirotasi saat ukurannya mencapai 200 MB. Rotasi default tidak menyertakan setelan usia.
File yang diarsipkan akan disimpan selama 7 hari. File yang diarsipkan yang sudah lebih dari 7 hari akan otomatis dihapus, kecuali file yang diarsipkan selama rotasi terakhir. Misalnya, jika log_rotation_age
lebih lama dari 7 hari,
maka file yang diarsipkan mencapai batas 7 hari sebelum rotasi file saat ini. Dalam hal ini, file yang diarsipkan ini tidak dihapus hingga rotasi berikutnya membuat file yang diarsipkan baru.
Setiap nama file log yang dirotasi mengikuti format ini: postgresql-%Y-%m-%d_%H%M%S.log
.
Stempel waktu ditentukan pada saat rotasi log dan dinyatakan dalam
Coordinated Universal Time (UTC). Misalnya, jika log dirotasi pada
13.01.02 20/12/2024 UTC, nama file yang diarsipkan adalah
postgresql-2024-12-20_130102.log
.
Setiap file yang diarsipkan dikompresi satu per satu menggunakan format file Gzip.
Mengaktifkan log audit
Agar log akses sesi dan objek dikumpulkan dalam file postgresql.audit
, Anda harus mengaktifkan parameter database pgaudit
. Untuk mengaktifkan pgaudit
,
tambahkan baris berikut ke bagian parameters
pada file
v1_dbcluster_parameters.yaml
di bagian Secret
:
alloydb.enable_pgaudit: "on"
Berikut adalah contoh tampilannya:
apiVersion: v1
kind: Secret
...
apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
name: DB_CLUSTER_NAME
spec:
databaseVersion: "16.3.0"
primarySpec:
...
parameters:
...
alloydb.enable_pgaudit: "on"
Untuk mengetahui informasi selengkapnya, lihat pgaudit
di
Ekstensi database yang didukung,
dan Ekstensi Audit PostgreSQL.
Log server PostgreSQL selalu dikumpulkan dalam file postgresql.log
dan
tidak memerlukan pengaktifan pgaudit
.
Melihat jalur file log audit
Fungsi SQL alloydb_audit_current_logfile
dapat digunakan untuk melihat jalur file log audit. Jika audit dinonaktifkan, hasilnya adalah NULL
.
SELECT alloydb_audit_current_logfile();
alloydb_audit_current_logfile
----------------------------------------------------
/var/log/pglogs/postgresql-2025-03-28_042024.audit
Mengonfigurasi rotasi log
Jika Anda ingin lebih mengontrol kapan log dirotasi, konfigurasikan ukuran file maksimum, durasi antara rotasi log, atau keduanya. Durasi antara rotasi log juga disebut usia log. Jika Anda menggunakan kedua setelan, setiap log akan dirotasi saat mencapai salah satu nilai minimum.
Untuk mengonfigurasi rotasi log, Anda menetapkan satu atau kedua parameter berikut di
bagian parameters
manifes DBCluster
:
log_rotation_size
: "SIZE_IN_KB"log_rotation_age
: "AGE_IN_MINUTES"
Untuk menonaktifkan salah satu setelan rotasi log, tetapkan ke nol ("0"
).
Untuk mempertahankan setelan default yang merotasi log saat ukuran filenya
mencapai 200 MB, jangan tetapkan salah satu parameter.
Contoh ukuran dan durasi log maksimum rotasi log
Contoh berikut menetapkan log untuk dirotasi jika ukuran filenya mencapai 400 MB atau jika waktu antara rotasi log mencapai satu hari, mana saja yang terjadi lebih dulu:
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
Contoh ukuran log maksimum rotasi log
Contoh berikut menetapkan log untuk dirotasi saat ukuran filenya mencapai 400 MB:
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
Contoh durasi rotasi log
Contoh berikut menetapkan log untuk dirotasi sekali setiap 24 jam:
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
Langkah berikutnya
- Mengelola dan memantau AlloyDB Omni
- Membuat dan mendiagnosis file dump AlloyDB Omni
- Pelajari pengelolaan memori otomatis