J'utilise rsyslog pour enregistrer les journaux des hôtes distants sur un serveur de cette façon:
Serveur:
# Logfile for each host
$template DynaFile,"/var/log/rsyslog/%HOSTNAME%.log"
*.* -?DynaFile
Clients:
*.* @servername
Cela crée des fichiers journaux pour chaque hôte client des serveurs, /var/log/rsyslog/
mais il enregistre également chaque message sur les serveurs /var/log/syslog
. Donc ça devient vraiment ballonné. Comment puis-je l'empêcher afin qu'il /var/log/syslog
ne contienne que des messages du serveur lui-même?
/var/log/syslog
Réponses:
Voici ce qui fonctionne pour moi:
la source
TempAuth
etTempMsg
?J'y travaille beaucoup et je pense avoir trouvé une solution. J'encourage les autres à essayer cela et à rechercher des conséquences potentiellement néfastes. Je suggère que cela soit mis en œuvre sur les laboratoires / tests et les machines non critiques en premier.
Les 4 lignes ci-dessus se trouvent dans la section supérieure de mon fichier /etc/rsyslog.conf
Je regarde actuellement 2 fichiers journaux:
/var/log/net-hosts/10.1.1.1
et / var / log / syslog
pendant que je regarde les deux, je vois des journaux se remplir dans le fichier hôte distant, mais pas dans le syslog . J'ai redémarré apache et j'ai vu des entrées de journal dans syslog pour cette tâche.
la source
Vous devez vous assurer que vos nouvelles règles sont évaluées avant celle qui se connecte à / var / log / syslog.
Par exemple, sur Ubuntu Trusty (rsyslog 7.4.4) /etc/rsyslog.conf contient de
$IncludeConfig /etc/rsyslog.d/*.conf
sorte que les règles par défaut soient chargées depuis
/etc/rsyslog.d/50-default.conf
, celle pour / var / log / syslog incluse.Dans ce cas, vous pouvez ajouter un nouveau fichier à charger avant celui-ci, tel que
00-remote.conf
. Pour être complet, voici son contenu pour un système que je gère:la source