Par défaut, le fichier de configuration SYSLOG-NG est positionné dans le répertoire '/opt/syslog-ng/etc' et se nomme 'syslog-ng.conf'.
Ce fichier est un fichier texte éditable sous VI ou autre éditeur.
Il peut y avoir le nom du serveur de réception des messages systèmes, ainsi que d'autres paramètres liés au compte de connexion.
Lors de l'installation ou récupération du produit syslog-ng, il peut être nécessaire de récupérer sur un autre serveurs similaire les fichiers suivants :
syslog-ng.conf
scl.conf
modules.conf
blocks.conf
allhosts.csv
La ligne de lancement du service se trouve dans /etc/inittab ( 'lsitab -a' ou 'lsitab syslogng') :
#lsitab syslogng
syslogng:2:once:/opt/syslog-ng/sbin/syslog-ng.sh start
POur suivre le déroulement, il est possible de lancer avec 'sh -x ' :
# sh -x /opt/syslog-ng/sbin/syslog-ng.sh start
+ [ 1 -ne 1 ]
+ BASE_DIR=/opt/syslog-ng
+ pidfile=/opt/syslog-ng/var/syslog-ng.pid
+ ecode=1
+ checkProc
+ [ 1 -eq 1 ]
+ cd /opt/syslog-ng/sbin
+ ./syslog-ng
+ sleep 2
+ checkProc
+ [ 0 -eq 0 ]
+ exit 0
L'option 'checkconf' permet de contrôler la qualité du fichier de configuration.
Exemple :
# /opt/syslog-ng/sbin/syslog-ng.sh checkconf
Error parsing filter expression, syntax error, unexpected KW_VALUE, expecting LL_IDENTIFIER or LL_STRING in /opt/syslog-ng/etc/syslog-ng.conf at line 43, column 31:
filter f_nonrpe { not match( value ("nrpe")); };
^^^^^
syslog-ng documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
mailing list: https://lists.balabit.hu/mailman/listinfo/syslog-ng
Pour relancer le service, utiliser successivement les options 'stop' et 'start'.
Pour filtrer sur du texte, voici les lignes à ajouter dans la configuration.
Exemple :
Dans la zone de définition des filtres, ajouter une ligne avec le nom du filtre :
filter f_nonrpe { not match("is_an_allowed_host" value("MESSAGE")); };
Dans la zone de description du journal, ajouter le filtre souhaité :
log {
filter(f_nomail);
filter(f_nonrpe);
destination(d_messages);
flags(flow-control final);
};
Concernant la rotation des fichiers, vous pouvez travailler avec l'option 'overwrite-if-older' liée au fichier de destination.
Dans le fichier de configuration syslog-ng.conf, nous devons trouver une ligne avec la description de la destination, comme vu plus haut :
destination d_messages {
file( "/var/adm/messages.${DAY}" overwrite-if-older(86400) ); # Ici, on crée un nouveau fichier s'il est plus vieux d'une journée. Comme on tourne sur un fichier par jour, on écrasera donc le précédent fichier quand on revient dessus.
};