Versions 2.1 à 3.1
Dans les versions 2.1, 3.0 et 3.1, OpenIDM fournit un script shell qui permet de mettre en place la rotation des fichiers d'audit (OPENIDM_HOME/bin/create-openidm-logrotate.sh).
Par contre ce script a 2 inconvénients à mon sens :
- si on ne redémarre pas OpenIDM, les fichiers CSV ne sont pas resettés, et on se retrouve donc avec un fichier vide
- la configuration par défaut compresse tous les fichiers du répertoire, et donc fait du récursif sur les fichiers déjà compressés.
Dans ce cas, on peut vite arriver à avoir généré des centaines de milliers de fichiers sur l'espace d'un mois - c'est ce qui m'est arrivé chez un client.
Le fichier de définition des rotations de fichier par défaut contient :
${OPENIDM_HOME}/audit/* { daily missingok rotate 54 compress }
Il faut le corriger en :
${OPENIDM_HOME}/audit/*.csv { daily missingok rotate 54 compress } pour éviter de faire tourner et compresser les fichiers déjà existants.
On aura donc par exemple :
$ cat /etc/logrotate.d/openidmlogs /products/openidm/audit/*.csv daily missingok rotate 54 compress }
Version 4 et supérieure
Depuis la version 4, le script n'est plus fourni car on peut déclencher la rotation des fichiers d'audit via une commande REST (cf. Integration Guide, § 18.9.1).
Par exemple, pour déclencher la rotation du fichier access.csv :
curl \ --cacert self-signed.crt \ --header "X-OpenIDM-Username: openidm-admin" \ --header "X-OpenIDM-Password: openidm-admin" \ --request POST \ "https://localhost:8443/openidm/audit/access?handler=csv&_action=rotate"
Il faut bien évidemment répéter la commande pour les fichiers activity.csv et recon.csv.