
TiDB Audit-Log

Einführung
In der heutigen datengesteuerten Welt ist die Pflege eines umfassenden Audit-Logs der Datenbankaktivitäten entscheidend für Sicherheit, Compliance und operative Einblicke. TiDB, eine leistungsstarke verteilte SQL-Datenbankplattform, bietet native Audit-Funktionen, die mit ausgeklügelten Lösungen von Drittanbietern erweitert werden können. Da Organisationen zunehmend unter Druck stehen, ihre Datenressourcen zu schützen und Vorschriften einzuhalten, wird die Implementierung von robustem Datenbank-Auditing unerlässlich.
Entsprechend aktuellen Sicherheitstrends nehmen sicherheitsrelevante Vorfälle im Zusammenhang mit Datenbanken weiter zu, was es entscheidend macht, detaillierte Audit-Logs aller Datenbankaktivitäten zu führen. Ein ordnungsgemäßes Audit-Log-System hilft Organisationen, Benutzeraktivitäten zu verfolgen, den Zugriff auf sensible Daten zu überwachen und die Einhaltung verschiedener regulatorischer Anforderungen zu gewährleisten. Ich werde einen umfassenden Überblick mit Abfragebeispielen geben und Links direkt in den Text einfügen.
Verständnis des TiDB Audit-Logs
TiDB bietet flexible Logging-Optionen zur Überwachung und Fehlerbehebung. Sie können diese Einstellungen dynamisch mit SQL-Befehlen anpassen:
Abfrage der Log-Einstellungen
Um die aktuellen logbezogenen Einstellungen in TiDB abzurufen, können Sie die folgenden Abfragen verwenden:
SHOW VARIABLES LIKE 'tidb%log%';
Dies zeigt die Variablen in Bezug auf das Logging in TiDB an.
Alternativ können Sie die Tabelle INFORMATION_SCHEMA.CLUSTER_CONFIG
abfragen, um detailliertere Konfigurationsinformationen zu erhalten:
SELECT *
FROM INFORMATION_SCHEMA.CLUSTER_CONFIG
WHERE `KEY` LIKE '%log%';
Beispiel für Log-Konfiguration:

Ändern der Log-Einstellungen
Einige Log-Einstellungen in TiDB können dynamisch mit SET GLOBAL
-Abfragen geändert werden, während andere Änderungen der config.toml
-Datei erfordern. Hier ist eine Aufschlüsselung:
Dynamische Änderungen (über
SET GLOBAL
):
Bestimmte Einstellungen können im laufenden Betrieb angepasst werden, wie z.B.:SET GLOBAL tidb_slow_log_threshold = 300; -- Ändern der Schwelle für langsame Abfragen SET GLOBAL tidb_query_log_max_len = 4096; -- Anpassung der maximalen Abfragenlänge
Änderungen in der
config.toml
-Datei:
Einige Einstellungen, wielog.format
(für das Log-Ausgabeformat) undlog.level
(für die Log-Verboserate), müssen direkt in derconfig.toml
-Datei geändert werden. Diese Einstellungen können nicht dynamisch über SQL-Abfragen geändert werden und erfordern einen Neustart der TiDB-Instanz, um wirksam zu werden.
1. Protokollierung langsamer Abfragen
Aktivieren, Schwelle setzen und Ausführungspläne protokollieren:
SET GLOBAL tidb_enable_slow_log = 1;
SET GLOBAL tidb_slow_log_threshold = 500; -- in Millisekunden
SET GLOBAL tidb_record_plan_in_slow_log = 1;
- Standard-Schwelle:
300 ms
.
2. Protokollierung aufwendiger Abfragen
Verfolgen Sie Abfragen mit hohem Ressourcenaufwand basierend auf der Zeilenanzahl:
SET GLOBAL tidb_expensive_query_time_threshold = 300;
- Abfragen, die die festgelegte Schwelle (in ms) überschreiten, werden protokolliert.
3. Logfile-Management
Konfigurieren Sie Speicherung und Aufbewahrung von Logs in config.toml
:
[log.file]
filename = "/var/log/tidb/tidb.log"
max-size = 300 # MB vor der Rotation
max-days = 7 # Aufbewahrungsdauer
max-backups = 5 # Anzahl der Sicherungen
compression = "gzip"
Weitere Details finden Sie in der TiDB-Dokumentation.
Abfragen des TiDB-Audit-Logs
Um kürzlich ausgeführte Abfragen zu überprüfen, können Sie die Tabelle INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
abfragen. Diese Tabelle erfasst langsame Abfragen im gesamten TiDB-Cluster.
Beispiel: Abrufen der letzten 50 ausgeführten Abfragen
SELECT
Time,
Query,
Query_time
FROM INFORMATION_SCHEMA.CLUSTER_SLOW_QUERY
ORDER BY Time DESC
LIMIT 50;
Diese Abfrage:
- Ruft die letzten 50 im Cluster ausgeführten Abfragen ab.
- Enthält die Ausführungszeit (
Query_time
) zur Leistungsanalyse. - Nützlich zur Identifizierung von lang laufenden oder ressourcenintensiven Abfragen.
Aktivieren von Allgemeinprotokollen für vollständige Abfragehistorie
Wenn Sie eine vollständige Abfragehistorie benötigen, aktivieren Sie die allgemeine Protokollierung und rufen Sie Protokolle mit INFORMATION_SCHEMA.CLUSTER_LOG
ab.
Schritt 1: Aktivieren der allgemeinen Protokollierung:
SET GLOBAL tidb_general_log = 1;
(Diese Einstellung startet die Aufzeichnung aller ausgeführten Abfragen im allgemeinen Log)
Schritt 2: Abrufen allgemeiner Logs innerhalb eines Zeitbereichs:
Sie können die folgende Abfrage verwenden, um die letzten 50 allgemeinen Log-Einträge innerhalb eines bestimmten Zeitrahmens abzurufen. Diese Abfrage filtert auch basierend auf dem Lognachrichteninhalt.
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 '%'; -- Ergebnisse eingrenzen
ORDER BY Time DESC
LIMIT 50;
Diese Abfrage wird die 50 letzten Loggergebnisse abrufen, die dem angegebenen Zeitbereich entsprechen. Die Bedingung message LIKE '%'
ist eine Platzhaltersuche, was bedeutet, dass sie alle Logs zurückgibt. Sie können die LIKE
-Bedingung durch spezifischere Schlüsselwörter (z.B. '%select%'
, 'insert%'
, etc.) ersetzen, um nach Logtyp oder Abfrageinhalt zu filtern.
Abfrageausgabe-Beispiel:

DataSunrise: Erweiterte Fähigkeiten für TiDB Audit-Log, Sicherheit und Compliance
DataSunrise bietet eine umfassende Datenbank-Audit-Lösung, die die nativen Fähigkeiten von TiDB erheblich mit erweiterten Funktionen und granularem Steuerungszugriff verbessert.
Echtzeitüberwachung und -analyse
DataSunrise implementiert eine kontinuierliche Überwachung der Datenbankaktivitäten, die alle Datenbankoperationen in Echtzeit aufzeichnet und analysiert. Die Plattform bietet detaillierte Einblicke in:
- SQL-Abfrageausführung
- Benutzersitzungsaktivitäten
- Schemamodifikationen
- Datenzugriffsmuster

Erweitertes Management von Audit-Trails
Die Lösung pflegt umfassende Audit-Trails mit ausgeklügelten Filter- und Speichermöglichkeiten. Administratoren können Audit-Daten einfach durchsuchen, analysieren und für Compliance-Berichterstattung oder Sicherheitsuntersuchungen exportieren.

Automatisierte Compliance-Berichterstattung
DataSunrise optimiert die Einhaltung von Vorschriften durch automatisierte Compliance-Berichte. Die Plattform enthält vorkonfigurierte Vorlagen für gängige Compliance-Rahmenwerke und erlaubt Anpassungen für spezifische Anforderungen.

Hauptmerkmale
- Kontinuierlicher Datenschutz mit Echtzeitüberwachung und -alarmierung
- Umfassende Sicherheitskontrollen mit rollenbasierter Zugriffskontrolle
- Verhaltensanalysen zur Erkennung von Anomalien
- Echtzeit-Benachrichtigungen für Sicherheitsereignisse
- Automatische Berichterstellung für Compliance- und Sicherheitsanforderungen
Fazit
Während TiDB grundlegende native Audit-Log-Fähigkeiten bietet, können Organisationen mit erweiterten Sicherheits- und Compliance-Anforderungen erheblich von der umfassenden Audit-Lösung von DataSunrise profitieren. Die Kombination der robusten Datenbankplattform von TiDB mit den ausgefeilten Audit-Fähigkeiten von DataSunrise schafft eine leistungsstarke Umgebung zur Sicherstellung der Sicherheit, Gewährleistung der Compliance und Erlangung operativer Einblicke.
Bereit, die Sicherheit und Compliance Ihrer TiDB-Datenbank zu verbessern? Vereinbaren Sie noch heute eine Demo, um zu sehen, wie DataSunrise Ihre Datenbank-Auditing-Fähigkeiten transformieren kann.