
Guide complet de l’historique des activités des données dans YugabyteDB

Introduction
Dans le paysage en constante évolution de la gestion des bases de données, maintenir un historique complet des activités des données est crucial pour les organisations cherchant à surveiller et sécuriser leurs interactions avec les bases de données. YugabyteDB, une base de données SQL distribuée haute performance, propose des mécanismes pour suivre les activités des bases de données, garantissant des informations sur la performance système, la sécurité et la conformité.
Capacités natives de l’historique des activités des données
Contrairement aux bases de données relationnelles traditionnelles, YugabyteDB est construit sur une architecture distribuée et ne prend pas en charge l’extension pgAudit
. Cependant, l’audit peut être mis en œuvre en utilisant des tables personnalisées et des outils de surveillance intégrés comme yb_stat_statements
et yb_admin
. Ces méthodes permettent aux organisations de suivre efficacement les interactions avec les bases de données tout en maintenant la performance.
Mise en œuvre de tables d’audit personnalisées
- Créer une table de journal d’audit
-- Créer une table pour stocker les journaux d'audit CREATE TABLE audit_log ( PRIMARY KEY, log_id SERIAL user_name TEXT, action_type TEXT, object_name TEXT, operation_details JSONB,timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
- Créer une fonction pour enregistrer les événements
CREATE FUNCTION log_event() RETURNS TRIGGER AS $$ BEGIN INSERT INTO audit_log (user_name, action_type, object_name, operation_details) VALUES (current_user, TG_OP, TG_TABLE_NAME, row_to_json(NEW)); RETURN NEW; END; $$ LANGUAGE plpgsql;
- Appliquer des déclencheurs pour la surveillance
-- Surveiller les opérations d'INSERTION CREATE TRIGGER insert_audit AFTER INSERT ON user_interactions FOR EACH ROW EXECUTE FUNCTION log_event(); -- Surveiller les opérations de MISE À JOUR CREATE TRIGGER update_audit AFTER UPDATE ON user_interactions FOR EACH ROW EXECUTE FUNCTION log_event();
Surveillance des performances à l’aide des outils intégrés de Yugabyte
Utilisation de yb_stat_statements
YugabyteDB fournit l’extension yb_stat_statements
, similaire à pg_stat_statements
de PostgreSQL, qui suit les requêtes exécutées.
- Activer l’extension
CREATE EXTENSION IF NOT EXISTS yb_stat_statements;
- Récupérer les métriques de performance des requêtes
SELECT query, calls, total_time, rows FROM yb_stat_statements ORDER BY total_time DESC LIMIT 10;
Utilisation de yb_admin
pour la surveillance du cluster
L’outil en ligne de commande yb_admin
de YugabyteDB fournit des informations sur la performance du cluster et le suivi d’activités.
# Vérifier l'état du serveur de tablettes ./yb-admin -master_addresses <master-ip> list_tablet_servers
Exemple de sortie pour yb_stat_statements
Requête | Appels | Temps total (ms) | Lignes retournées |
---|---|---|---|
SELECT * FROM audit_log | 1500 | 32000 | 4500 |
UPDATE user_interactions SET action_type=‘MODIFIED’ WHERE user_id=102 | 500 | 20000 | 500 |
Historique des activités de données avancé avec DataSunrise
Bien que YugabyteDB offre un suivi d’activité natif via des tables d’audit personnalisées et des outils de surveillance intégrés, les organisations ayant des besoins de sécurité et de surveillance plus complexes peuvent améliorer leurs capacités d’audit avec des solutions comme DataSunrise. DataSunrise fournit une surveillance en temps réel, un filtrage avancé et des rapports de conformité.
Caractéristiques clés de la surveillance

- Suivi en temps réel de l’activité de la base de données


Meilleures pratiques pour une surveillance fiable
- Optimiser les performances
- Utiliser un journal sélectif pour capturer uniquement les événements nécessaires
- Revoir et ajuster régulièrement les paramètres d’audit
- Éviter un journal excessif pouvant affecter les performances
-- Créer un rôle avec un accès limité aux journaux d'activité CREATE ROLE activity_analyst WITH LOGIN; GRANT SELECT ON audit_log TO activity_analyst;
- Améliorer la sécurité et la conformité
- Mettre en œuvre des contrôles d’accès basés sur les rôles
- Maintenir des politiques de rétention appropriées pour les journaux
- Sécuriser les données d’audit sensibles
- Effectuer des audits périodiques de l’historique des activités
Conclusion
Une gestion efficace de l’historique des activités des données dans YugabyteDB nécessite un équilibre entre un suivi exhaustif et la performance du système. En utilisant des tables d’audit personnalisées et les outils de surveillance intégrés de YugabyteDB, les organisations peuvent obtenir une visibilité sur les interactions avec les bases de données tout en maintenant la conformité et la sécurité. Des solutions avancées comme DataSunrise renforcent ces capacités.
Pour des conseils supplémentaires, référez-vous à la documentation de sécurité de YugabyteDB ou explorez les solutions de surveillance de DataSunrise.