
Log di Audit TiDB

Introduzione
Nell’odierno mondo guidato dai dati, mantenere un log di audit completo delle attività del database è fondamentale per la sicurezza, la conformità e le intuizioni operative. TiDB, una potente piattaforma di database SQL distribuiti, offre funzionalità di audit native che possono essere potenziate con soluzioni di terze parti sofisticate. Mentre le organizzazioni devono far fronte a crescenti pressioni per proteggere i propri asset di dati e rispettare le normative, l’implementazione di un robusto sistema di audit del database diventa essenziale.
Secondo le recenti tendenze in tema di sicurezza, gli incidenti di sicurezza legati ai database continuano ad aumentare, rendendo cruciale mantenere log di audit dettagliati su tutte le attività del database. Un adeguato sistema di log di audit aiuta le organizzazioni a tracciare le attività degli utenti, monitorare l’accesso a dati sensibili e garantire la conformità con vari requisiti normativi. Fornirò una panoramica completa con esempi di query e incorporerò i link direttamente nel testo.
Comprendere il Log di Audit TiDB
TiDB offre opzioni di logging flessibili per il monitoraggio e la risoluzione dei problemi. È possibile regolare queste impostazioni dinamicamente utilizzando comandi SQL:
Interrogazione delle Impostazioni del Log
Per recuperare le impostazioni attuali relative al log in TiDB, puoi utilizzare le seguenti query:
SHOW VARIABLES LIKE 'tidb%log%';
Questo mostrerà le variabili relative al logging in TiDB.
In alternativa, puoi interrogare la tabella INFORMATION_SCHEMA.CLUSTER_CONFIG
per ottenere informazioni di configurazione più dettagliate:
SELECT *
FROM INFORMATION_SCHEMA.CLUSTER_CONFIG
WHERE `KEY` LIKE '%log%';
Esempio di Configurazione del Log:

Modifica delle Impostazioni del Log
Alcune impostazioni di log in TiDB possono essere modificate dinamicamente utilizzando query SET GLOBAL
, mentre altre richiedono modifiche al file config.toml
. Ecco una panoramica:
Cambiamenti Dinamici (tramite
SET GLOBAL
):
Alcune impostazioni possono essere regolate in tempo reale, ad esempio:SET GLOBAL tidb_slow_log_threshold = 300; -- Modifica la soglia del log per le query lente SET GLOBAL tidb_query_log_max_len = 4096; -- Regola la lunghezza massima della query
Modifiche nel File
config.toml
:
Alcune impostazioni, comelog.format
(per il formato di output del log) elog.level
(per la verbosità del log), devono essere modificate direttamente nel fileconfig.toml
. Queste impostazioni non possono essere modificate dinamicamente tramite query SQL e richiedono un riavvio dell’istanza TiDB per avere effetto.
1. Logging delle Query Lente
Abilita, imposta la soglia e registra i piani di esecuzione:
SET GLOBAL tidb_enable_slow_log = 1;
SET GLOBAL tidb_slow_log_threshold = 500; -- in millisecondi
SET GLOBAL tidb_record_plan_in_slow_log = 1;
- Soglia predefinita:
300 ms
.
2. Logging delle Query Costose
Traccia le query ad alto impiego di risorse basate sul numero di righe:
SET GLOBAL tidb_expensive_query_time_threshold = 300;
- Le query che superano la soglia impostata (in ms) verranno registrate.
3. Gestione dei File di Log
Configura l’archiviazione e la conservazione dei log in config.toml
:
[log.file]
filename = "/var/log/tidb/tidb.log"
max-size = 300 # MB prima della rotazione
max-days = 7 # Periodo di conservazione
max-backups = 5 # Numero di backup
compression = "gzip"
Per ulteriori dettagli, vedi la Documentazione TiDB.
Interrogazione del Log di Audit TiDB
Per esaminare le query recenti, puoi interrogare la tabella INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
. Questa tabella cattura le query lente in tutto il cluster TiDB.
Esempio: Recuperare le Ultime 50 Query Eseguite
SELECT
Time,
Query,
Query_time
FROM INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
ORDER BY Time DESC
LIMIT 50;
Questa query:
- Recupera le ultime 50 query eseguite in tutto il cluster.
- Include il tempo di esecuzione (
Query_time
) per analisi delle prestazioni. - È utile per identificare query a lunga esecuzione o ad alto impiego di risorse.
Abilitazione dei Log Generali per una Cronologia Completa delle Query
Se hai bisogno di una cronologia completa delle query, abilita il logging generale e recupera i log usando INFORMATION_SCHEMA.CLUSTER_LOG
.
Passo 1: Abilita il Logging Generale:
SET GLOBAL tidb_general_log = 1;
(Questa impostazione inizia a registrare tutte le query eseguite nel log generale)
Passo 2: Interroga i Log Generali all’interno di un Intervallo di Tempo:
Puoi utilizzare la seguente query per recuperare le ultime 50 voci del log generale all’interno di un intervallo di tempo specificato. Questa query filtra anche in base al contenuto del messaggio di log.
SELECT * FROM information_schema.cluster_log
WHERE time > '2024-02-18 00:00:00'
AND time < '2025-02-18 23:59:59'
AND message LIKE '%'; -- restringe i risultati
ORDER BY Time DESC
LIMIT 50;
Questa query recupererà le 50 voci del log più recenti che corrispondono all’intervallo di tempo specificato. La condizione message LIKE '%'
è una ricerca jolly, il che significa che restituirà tutti i log. Puoi sostituire la condizione LIKE
con parole chiave più specifiche (ad esempio, '%select%'
, 'insert%'
, ecc.) per filtrare per tipo di log o contenuto della query.
Esempio di Output della Query:

DataSunrise: Funzionalità Estese per il Log di Audit TiDB, Sicurezza e Conformità
DataSunrise offre una soluzione completa di audit del database che potenzia notevolmente le capacità native di TiDB con funzionalità avanzate e controllo granulare.
Monitoraggio e Analisi in Tempo Reale
DataSunrise implementa un monitoraggio continuo delle attività del database che cattura e analizza tutte le operazioni in tempo reale. La piattaforma fornisce approfondimenti dettagliati su:
- Esecuzione di query SQL
- Attività delle sessioni utente
- Modifiche agli schemi
- Modelli di accesso ai dati

Gestione Avanzata della Traccia di Audit
La soluzione mantiene tracciati di audit completi con sofisticate capacità di filtraggio e archiviazione. Gli amministratori possono facilmente cercare, analizzare ed esportare i dati di audit per report di conformità o indagini sulla sicurezza.

Reportistica Automatica per la Conformità
DataSunrise semplifica la conformità con varie normative attraverso la reportistica automatizzata per la conformità. La piattaforma include modelli preconfigurati per i framework di conformità comuni e consente la personalizzazione per requisiti specifici.

Caratteristiche Chiave
- Protezione Continua dei Dati con monitoraggio e allerta in tempo reale
- Controlli di Sicurezza Completi con gestione degli accessi basata sui ruoli
- Analisi Comportamentale per rilevare attività anomale
- Notifiche in Tempo Reale per eventi di sicurezza
- Generazione Automatica di Report per esigenze di conformità e sicurezza
Conclusione
Se da un lato TiDB offre funzionalità di audit native essenziali, le organizzazioni con requisiti avanzati di sicurezza e conformità possono beneficiare in modo significativo dalla soluzione di audit completa di DataSunrise. La combinazione della robusta piattaforma di database di TiDB e delle sofisticate capacità di audit di DataSunrise crea un ambiente potente per mantenere la sicurezza, garantire la conformità e ottenere approfondimenti operativi.
Pronto a potenziare la sicurezza e la conformità del tuo database TiDB? Prenota una demo oggi stesso per scoprire come DataSunrise può trasformare le capacità di audit del tuo database.