Je voudrais faire pivoter mes journaux openvpn. Comment puis-je accomplir cela?
Ajoutez le contenu de ce qui suit dans le nouveau fichier /etc/rsyslog.d/20-ovpn.conf. Cela garantit que les événements de journal envoyés à rsyslog sont gérés correctement.
# Create a template for the vpn log location
$template OpenVPN,"/var/log/openvpn/ovpn.log"
# Save log events where the programname starts with ovpn like ovpn-server to the
# location mentioned in the template
:programname, startswith, "ovpn-" -?OpenVPN
# Stop processing ovpn-* log events
:programname, startswith, "ovpn-" ~
Exécutez cette commande et assurez-vous qu'il n'y a pas de sortie.
grep ^log /etc/openvpn/server.conf
Si cette commande génère des lignes, vous devez entrer dans la configuration et commenter le journal ou la ligne d’ajout-journal. Cela déclenchera la journalisation par défaut qui l'enverra à Syslog.
Enfin, créez un nouveau fichier /etc/logrotate.d/ovpn et ajoutez le contenu ci-dessous à ce fichier. Cela fera une rotation hebdomadaire ou une rotation une fois qu'un fichier journal atteindra 100M. Il gardera 4 semaines et compressera tout sauf ces deux dernières.
/var/log/openvpn/*.log {
weekly
size 100M
rotate 4
compress
delaycompress
missingok
notifempty
create 640 syslog adm
}
Redémarrez les services rsyslog puis openvpn pour vous assurer que ces nouvelles configurations prennent. Vous devriez voir que/var/log/openvpn et /var/log/openvpn/ovpn.log sont créés immédiatement par rsyslog après le redémarrage de openvpn.
Il semble que l'exemple ci-dessus utilise la syntaxe héritée de rsyslog. La documentation indique que ce serait la syntaxe actuelle:
if $programname startswith 'ovpn-' then /var/log/openvpn/ovpn.log
& ~
Je l'ai testé et cela fonctionne pour moi (TM).