ADC

Comment configurer la rotation des fichiers journaux

L’appliance Citrix ADC génère des journaux dans plusieurs répertoires et dans différents formats. Certains de ces journaux ne sont pas tournés par défaut et peuvent augmenter en taille en consommant trop d’espace disque. En utilisant les utilitaires inclus pour la rotation des journaux (newsyslog), vous pouvez gérer ces journaux de manière cohérente, en conservant uniquement les informations pertinentes pour faciliter la gestion et l’administration.

L’utilitaire newsyslog inclus dans le microprogramme Citrix ADC archive les fichiers journaux et fait pivoter les journaux système afin que le journal actuel soit vide pendant la rotation. Le système crontab exécute cet utilitaire toutes les heures et lit le fichier de configuration qui spécifie les fichiers à tourner et les conditions. Les fichiers archivés peuvent être compressés si nécessaire.

La configuration existante se trouve dans /etc/newsyslog.conf. Toutefois, comme ce fichier réside dans le système de fichiers de la mémoire, l’administrateur doit enregistrer les modifications pour /nsconfig/newsyslog.conf que la configuration puisse survivre au redémarrage de NetScaler.

Les entrées contenues dans ce fichier ont le format suivant : logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]

Remarque :

Les champs entre crochets carrés sont facultatifs et peuvent être omis.

Chaque ligne du fichier représente un fichier journal et les conditions dans lesquelles la rotation doit se produire.

Dans l’exemple, le size champ indique que la taille de ns.log 100 Kilo-octets. Le count champ indique que le nombre de ns.log fichiers archivés comme 25. Une taille de 100 K et un nombre de 25 sont les valeurs de taille et de nombre par défaut.

Remarque :

Lorsque le champ est configuré avec un astérisque (*), ce qui signifie que le fichier ns.log n’est pas tourné en fonction du temps. Chaque heure, un travail crontab exécute l’utilitaire newsyslog qui vérifie si la taille de ns.log est supérieure ou égale à la taille configurée dans ce fichier. Dans cet exemple, s’il est supérieur ou égal à 100 K, il fait pivoter ce fichier.

root@ns# cat /etc/newsyslog.conf
# Netscaler newsyslog.conf

# This file is present in the memory filesystem by default, and any changes
# to this file will be lost following a reboot. If changes to this file
# require persistence between reboots, copy this file to the /nsconfig
# directory and make the required changes to that file.
#
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/cron 600 3 100 * Z
/var/log/amd.log 644 7 100 * Z
/var/log/auth.log 600 7 100 * Z
/var/log/ns.log 600 25 100 * Z
<!--NeedCopy-->

Le size champ peut être modifié pour modifier la taille minimale du ns.log fichier ou le champ peut être modifié pour faire pivoter le ns.log fichier en fonction d’un certain temps.

La spécification quotidienne, hebdomadaire et/ou mensuelle est donnée comme suit : [Dhh], et [Dhh [Mdd]], respectivement. Les champs heure du jour, qui sont facultatifs, sont par défaut minuit. Les plages et les significations de ces spécifications sont les suivantes :

Hh hours, range 0 ... 23
w day of week, range 0 ... 6, 0 = Sunday
dd day of month, range 1 ... 31, or the letter L or l to specify the last day of the month.
<!--NeedCopy-->

Exemples :

Voici quelques exemples avec des explications pour les journaux qui sont tournés par défaut :

/var/log/auth.log 600 7 100 * Z

Le journal d’authentification est tourné lorsque le fichier atteint 100 K, les 7 dernières copies du fichier auth.log sont archivées et compressées avec gzip (indicateur Z), et les archives résultantes se voient attribuer les autorisations suivantes —rw—.

/var/log/all.log 600 7 * @T00 Z

Le journal catch-all est tourné 7 fois à minuit tous les soirs (@T00) et compressé avec gzip. Les archives résultantes se voient attribuer les autorisations suivantes —rw-r—.

/var/log/weekly.log 640 5 * $W6D0 Z

Le journal hebdomadaire est tourné 5 fois à minuit tous les lundis. Les archives résultantes sont affectées avec des autorisations.

Modèles de rotation courants :

  • D0. rotate every night at midnight
  • D23. rotate every day at 23:00
  • W0D23. rotate every week on Sunday at 23:00
  • W5. rotate every week on Friday at midnight
  • MLD6. rotate at the last day of every month at 6:00
  • M5. rotate on every fifth day of the month at midnight

Si un intervalle et une spécification temporelle sont tous les deux indiqués, les deux conditions doivent être remplies. C’est-à-dire que le fichier doit être aussi ancien que ou plus ancien que l’intervalle spécifié et l’heure actuelle doit correspondre à la spécification temporelle.

Vous pouvez contrôler la taille minimale du fichier, mais il n’y a pas de limite sur la taille du fichier avant que l’utilitaire newsyslog n’ait son tour dans le créneau horaire suivant.

Déboguer newsyslog :

Pour déboguer le comportement de l’utilitaire newsyslog, ajoutez l’indicateur verbeux.

root@dj_ns# newsyslog -v
/var/log/cron <3Z>: size (Kb): 31 [100] --> skipping
/var/log/amd.log <7Z>: does not exist, skipped.
/var/log/auth.log <7Z>: size (Kb): 2 [100] --> skipping
/var/log/kerberos.log <7Z>: does not exist, skipped.
/var/log/lpd-errs <7Z>: size (Kb): 0 [100] --> skipping
/var/log/maillog <7Z>: --> will trim at Tue Mar 24 00:00:00 2009
/var/log/sendmail.st <10>: age (hr): 0 [168] --> skipping
/var/log/messages <5Z>: size (Kb): 7 [100] --> skipping
/var/log/all.log <7Z>: --> will trim at Tue Mar 24 00:00:00 2009
/var/log/slip.log <3Z>: size (Kb): 0 [100] --> skipping
/var/log/ppp.log <3Z>: does not exist, skipped.
/var/log/security <10Z>: size (Kb): 0 [100] --> skipping
/var/log/wtmp <3>: --> will trim at Wed Apr 1 04:00:00 2009
/var/log/daily.log <7Z>: does not exist, skipped.
/var/log/weekly.log <5Z>: does not exist, skipped.
/var/log/monthly.log <12Z>: does not exist, skipped.
/var/log/console.log <5Z>: does not exist, skipped.
/var/log/ns.log <5Z>: size (Kb): 18 [100] --> skipping
/var/log/nsvpn.log <5Z>: size (Kb): 0 [100] --> skipping
/var/log/httperror.log <5Z>: size (Kb): 1 [100] --> skipping
/var/log/httpaccess.log <5Z>: size (Kb): 1 [100] --> skipping
root@dj_ns#
<!--NeedCopy-->
Comment configurer la rotation des fichiers journaux