Entretien de la base de données

Maintenance automatique quotidienne

Par défaut, l'un des cronjobs installés pour l'utilisateur eranger est responsable de la maintenance de la base de données :

$ crontab -l | grep expire
0 4 * * * /opt/eranger/bin/eranger-server-expire

Il réorganise les données quotidiennement en exécutant la fonction de vide automatique PostgreSLQ afin que les données soient accessibles plus rapidement.

La configuration se fait dans la configuration du server SKOOR :

/etc/opt/eranger/eranger-server.cfg

Paramètres avec des valeurs par défaut :

# Expire script config values
expire_days_long = 366
expire_days_short = 31
expire_row_limit=

Le nom du paramètre

La description

expire_days_long

Définit le nombre de jours pendant lesquels les entrées de base de données suivantes sont conservées :

  • Histoire de l'état

  • Historique des valeurs

  • Messages d'alarme

  • Messages d'alarme envoyés

  • Alarmes

  • Journal des modifications

  • Maintenance (heure de fin)

  • Utilisateurs (dernier accès)

  • Données de prédiction de seuil

expire_days_short

Définit le nombre de jours pendant lesquels les messages d'erreur de travail sont conservés dans la base de données. S'il est omis, il sera défini sur jours

expire_row_limit

Nombre maximal de lignes à supprimer en une seule fois de la base de données pour les entrées suivantes. Si omis, les lignes seront supprimées sans limite :

  • Messages d'alarme

  • Messages d'alarme envoyés

  • Alarmes

  • Journal des modifications

  • Entretien

  • Utilisateurs

Réécriture manuelle de la table complète

Cependant, autovacuum ne supprime pas encore réellement les données de table qui ont été supprimées par les utilisateurs. Pour supprimer les données inutilisées et réécrire toutes les tables, la fonction de vide complet doit être utilisée. Un vide complet ne peut être exécuté que lorsque le service eranger- server est arrêté.

Pour exécuter un vide complet, exécutez le script suivant :

/opt/eranger/bin/eranger-db-housekeeping.sh
 *** ATTENTION! This script will block eranger-server for a very long time!
 *** Do you really want to execute this script on database "ng" ? Yy/[Nn]: n

Répondez y à la question ci-dessus. L'opération durera plusieurs heures, selon la quantité de données stockées dans la base de données.

Il est recommandé de l'exécuter au moins une fois par an.