Visualizzare i log di controllo generati da pgAudit per AlloyDB per PostgreSQL

Per monitorare l'attività del database e soddisfare i requisiti di conformità governativi, finanziari e ISO, puoi visualizzare ed eseguire query sui log di controllo dell'accesso ai dati generati da pgAudit per AlloyDB per PostgreSQL in Cloud Logging. Puoi anche esaminare il formato della voce di log pgAudit e monitorare lo stato della pipeline di audit logging in Cloud Monitoring. Per saperne di più su pgAudit, consulta Informazioni su pgAudit.

Prima di iniziare

Per visualizzare gli audit log, devi:

Visualizza audit log

I log pgAudit generati per un'istanza specifica vengono inviati a Cloud Logging come audit log di accesso ai dati.

Puoi visualizzare i log pgAudit generati utilizzando l'applicazione Esplora log.

Per visualizzare i log pgAudit, seleziona il filtro dei log cloudaudit.googleapis.com/data_access nell'applicazione Esplora log.

Per visualizzare tutti i log pgAudit per un progetto AlloyDB, esegui questa query utilizzando l'interfaccia Filtro avanzato:

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"

Sostituisci PROJECT_ID con l'ID del tuo progetto AlloyDB.

Formato dei log per pgAudit

Ogni voce di log pgAudit nei log di controllo dell'accesso ai dati contiene campi che rappresentano le informazioni raccolte per una query. Per saperne di più su questi campi voce di log, consulta la documentazione di pgAudit.

Esempio di voce di 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"
    }
  }
}

Di seguito sono riportate le descrizioni dei campi nei log di controllo dell'accesso ai dati:

  • auditClass. Il tipo di istruzione registrata. I valori possibili sono READ, WRITE, FUNCTION, ROLE, DDL, MISC e MISC_SET.
  • auditType. SESSION o OBJECT.
  • chunkCount. La suddivisione in blocchi può avvenire sui dati forniti nei campi parameter e statement. Il campo chunkCount indica il numero totale di blocchi. Consulta anche la descrizione del campo chunkIndex.
  • chunkIndex. Specifica il numero di indice dei blocchi di dati nei campi parameter e statement nel container request corrente. Il numero iniziale è 1. Consulta anche la descrizione del campo chunkCount.
  • command. Ad esempio, ALTER TABLE o SELECT.
  • parameter. Il campo chunkIndex può determinare i contenuti di questo campo; consulta la descrizione del campo chunkIndex. Se il valore del flag pgaudit.log_parameter è impostato, il campo parameter può contenere i parametri dell'istruzione come dati CSV tra virgolette. Se non sono presenti parametri, questo campo contiene [none]. In caso contrario, questo campo contiene [not logged].
  • statement. Istruzione eseguita sul backend. Il campo chunkIndex può determinare i contenuti del campo statement; consulta la descrizione del campo chunkIndex.
  • statementId. ID istruzione univoco per questa sessione. Ogni ID istruzione rappresenta una chiamata di backend. Gli ID istruzione sono sequenziali, anche se alcune istruzioni non vengono registrate.
  • substatementId. ID sequenziale per ogni istruzione secondaria all'interno dell'istruzione principale.

Monitora lo stato della pipeline degli audit log

AlloyDB elabora gli audit log generati dagli utenti in modo asincrono prima di inoltrarli in modo sicuro a Cloud Logging. Puoi monitorare lo stato, il throughput e il backlog della pipeline di audit logging per le tue istanze e i tuoi nodi utilizzando Cloud Monitoring.

Le seguenti metriche sono disponibili nella risorsa monitorata alloydb.googleapis.com/InstanceNode in Esplora metriche:

Nome metrica Nome visualizzato Tipo di metrica / Tipo di valore Unità Descrizione
alloydb.googleapis.com/node/database/logging/audit/backlog_bytes_count Dimensioni del backlog degli audit log GAUGE / INT64 Byte (By) La dimensione, in byte, del backlog degli audit log sul nodo in attesa di elaborazione e caricamento su Cloud Logging. Un valore elevato o in aumento costante indica una contropressione nella pipeline di forwarding degli audit log.
alloydb.googleapis.com/node/database/logging/audit/processed_bytes_count Byte di audit log elaborati DELTA / INT64 Byte (By) Il numero totale di byte di dati degli audit log elaborati e inoltrati correttamente a Cloud Logging dal nodo.
alloydb.googleapis.com/node/database/logging/audit/processed_entries_count Voci dei log di controllo elaborate DELTA / INT64 Conteggio (1) Il numero totale di voci di log degli audit elaborate e inoltrate correttamente a Cloud Logging dal nodo.

Per saperne di più, consulta il riferimento alle metriche di System Insights.

Passaggi successivi