Melihat log audit yang dihasilkan oleh pgAudit untuk AlloyDB untuk PostgreSQL

Untuk memantau aktivitas database dan membantu memenuhi persyaratan kepatuhan pemerintah, keuangan, dan ISO, Anda dapat melihat dan mengkueri log audit Akses Data yang dihasilkan oleh pgAudit untuk AlloyDB untuk PostgreSQL di Cloud Logging. Anda juga dapat memeriksa format entri log pgAudit dan memantau status pipeline logging audit di Cloud Monitoring. Untuk mengetahui informasi selengkapnya tentang pgAudit, lihat Tentang pgAudit.

Sebelum memulai

Untuk melihat log audit, Anda harus melakukan hal berikut:

Lihat log audit

Log pgAudit yang dibuat untuk instance tertentu dikirim ke Cloud Logging sebagai log audit Akses Data.

Anda dapat melihat log pgAudit yang dibuat menggunakan aplikasi Logs Explorer.

Untuk melihat log pgAudit, pilih filter log cloudaudit.googleapis.com/data_access di aplikasi Logs Explorer.

Untuk melihat semua log pgAudit untuk project AlloyDB, jalankan kueri berikut menggunakan antarmuka Filter lanjutan:

resource.type="alloydb.googleapis.com/Instance"
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access"
protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"

Ganti PROJECT_ID dengan ID project AlloyDB Anda.

Format log untuk pgAudit

Setiap entri log pgAudit di log audit Akses Data berisi kolom yang mewakili informasi yang dikumpulkan untuk kueri. Untuk mengetahui informasi selengkapnya tentang kolom entri log ini, lihat dokumentasi pgAudit.

Contoh entri log pgAudit:

{
  protoPayload: {
    @type: "type.googleapis.com/google.cloud.audit.AuditLog"
    methodName: "alloydb.instances.query"
    request: {
      @type: "type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
      auditClass: "READ"
      auditType: "SESSION"
      chunkCount: "1"
      chunkIndex: "1"
      command: "SELECT"
      database: "finance"
      databaseSessionId: 2209692
      parameter: "[not logged]"
      statement: "SELECT * FROM revenue"
      statementId: 2
      substatementId: 1
      user: "alice"
    }
  }
}

Berikut adalah deskripsi kolom di log audit Akses Data:

  • auditClass. Jenis pernyataan yang dicatat dalam log. Nilai yang mungkin adalah READ, WRITE, FUNCTION, ROLE, DDL, MISC, dan MISC_SET.
  • auditType. SESSION atau OBJECT.
  • chunkCount. Chunking dapat terjadi pada data yang tersedia di kolom parameter dan statement. Kolom chunkCount menunjukkan jumlah total potongan. Lihat juga deskripsi kolom chunkIndex.
  • chunkIndex. Menentukan nomor indeks potongan data di kolom parameter dan statement dalam penampung request saat ini. Angka awalnya adalah 1. Lihat juga deskripsi kolom chunkCount.
  • perintah. Misalnya, ALTER TABLE atau SELECT.
  • parameter. Kolom chunkIndex dapat menentukan konten kolom ini; lihat deskripsi kolom chunkIndex. Jika nilai untuk flag pgaudit.log_parameter ditetapkan, kolom parameter dapat berisi parameter pernyataan sebagai data CSV yang dikutip. Jika tidak ada parameter, kolom ini berisi [none]. Jika tidak, kolom ini berisi [not logged].
  • pernyataan. Pernyataan yang dijalankan di backend. Kolom chunkIndex dapat menentukan konten kolom statement; lihat deskripsi kolom chunkIndex.
  • statementId. ID pernyataan unik untuk sesi ini. Setiap ID pernyataan mewakili panggilan backend. ID pernyataan bersifat berurutan, meskipun beberapa pernyataan tidak dicatat dalam log.
  • substatementId. ID berurutan untuk setiap sub-pernyataan dalam pernyataan utama.

Memantau status pipeline log audit

AlloyDB memproses log audit yang dibuat pengguna secara asinkron sebelum meneruskannya dengan aman ke Cloud Logging. Anda dapat memantau status, throughput, dan backlog pipeline logging audit untuk instance dan node Anda menggunakan Cloud Monitoring.

Metrik berikut tersedia di resource yang dimonitor alloydb.googleapis.com/InstanceNode di Metrics Explorer:

Nama metrik Nama tampilan Jenis metrik / Jenis nilai Unit Deskripsi
alloydb.googleapis.com/node/database/logging/audit/backlog_bytes_count Ukuran backlog log audit GAUGE / INT64 Byte (By) Ukuran, dalam byte, backlog log audit pada node yang menunggu pemrosesan dan upload ke Cloud Logging. Nilai tinggi atau meningkat yang berkelanjutan menunjukkan adanya tekanan balik dalam pipeline penerusan log audit.
alloydb.googleapis.com/node/database/logging/audit/processed_bytes_count Byte log audit yang diproses DELTA / INT64 Byte (By) Jumlah total byte data log audit yang berhasil diproses dan diteruskan ke Cloud Logging dari node.
alloydb.googleapis.com/node/database/logging/audit/processed_entries_count Entri log audit yang diproses DELTA / INT64 Jumlah (1) Jumlah total entri log audit yang berhasil diproses dan diteruskan ke Cloud Logging dari node.

Untuk mengetahui informasi selengkapnya, lihat Referensi metrik insight sistem.

Langkah berikutnya