Installation de syslog-ng par IPKG et déplacement des logs (/var/log) sur une clé USB
L'idée est de ménager les disques durs du NAS. Ayant pour ma part des écritures de logs fréquentes, les disques sont sans cesse sollicités.
La première étape (pas indispensable pour avoir /var/log sur une clé USB) est d'installer syslog-ng. Avec le démon syslogd installé de base, je ne récupérais jamais les logs de mon serveur mail, j'ai donc tenté syslog-ng et ça marche beaucoup mieux.
Installation et configuration de syslog-ng
Installation
ipkg update ipkg install syslog-ng
Fichier de configuration
Modifier le chemin des fichiers de logs en éditant :
vi /opt/etc/syslog-ng/syslog-ng.conf
... destination authlog { file("/var/log/auth.log"); }; ...
Ceci est un exemple, pensez à modifier chaque ligne ayant le même modèle ;)
Démarrage
Script de démarrage
Le script de démarrage se trouve dans /opt/etc/init.d/S01syslog-ng, il doit contenir ceci :
#!/bin/sh # # Startup script for syslog-ng # # Stop itself if running if [ -n "`pidof syslog-ng`" ]; then /usr/bin/killall syslog-ng 2>/dev/null fi
sleep 2
/opt/sbin/syslog-ng -f /opt/etc/syslog-ng/syslog-ng.conf
Erreur possible
Error binding socket; addr='AF_UNIX(/dev/log)', error='Address already in use (98)' Error initializing source driver; source='src'
Dans ce cas, supprimez le lien suivant :
cd /dev ls -l log >lrwxrwxrwx 1 root root 13 Jan 8 11:05 log -> /var/run/log rm log
Arrêt de syslogd
Afin de ne pas avoir deux processus syslog en parallèle, il faut arreter syslogd (le process du syno). Pour cela, il faut éditer deux fichiers et modifier : /etc/rc
syslogd_enable="NO"
Attention, ce fichier est écrasé à chaque mise à jour de diskStation.
/etc/defaults/rc.conf
syslogd_enable="NO"
Création du point de montage /var/log sur une clé USB
Via le portail d'administration web DiskStation, dans le panneau de configuration section périphériques externes, formatez votre clé en ext3 ou ext4. Ensuite, il faut stopper tous les services syslog :
ps | grep syslog
puis (méthode radicale)
kill -9 pour chaque pid
Ensuite, si vous souhaitez garder vos logs existants, faites en une copie ailleurs, le dossier actuel ne sera plus pointé par /var/log. Les fichiers seront toujours sur le disque mais ne seront plus accessibles tant que la clé usb sera connectée.
On peut donc monter la clé sur le chemin /var/log :
mount (pour savoir si le syno a déjà monté la clé, ici elle est montée : /volumeUSB1/usbshare1) umount /volumeUSB1/usbshare1 (si le syno a déjà monté la clé) fdisk -l (pour repérer la clé, ici il s'agit de /dev/sdq1) mount -t ext4 /dev/sdq1 /var/log
Si vous aviez fait une sauvegarde de vos logs, c'est le moment de les déplacer sur la clé, soit sur /var/log puisqu'elle est à présent montée.
Puis, on relance syslog-ng
/opt/etc/init.d/S01syslog-ng start
Avec cette technique, la clé ne sera pas montée sur /var/log au prochain redémarrage de votre synology...
Pour que le montage soit fait automatiquement à chaque démarrage, il faut modifier la fstab avec un script car le syno réinitailise la fstab à chaque redémarrage (voir cet article Photos et musiques sur un autre volume).
Testé sur le NAS synology DS 411+
|