web-dev-qa-db-fra.com

Comment configurer OpenVPN pour faire pivoter les journaux?

Je voudrais faire pivoter mes journaux openvpn. Comment puis-je accomplir cela?

3
flickerfly

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.

8
flickerfly

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).

2
Josip Rodin