Blog Forum Wiki Links Contact Us NetbookUser
 
Traductions de cette page:

Cette solution ne pourrait être applicable que si vous augmentez votre mémore à 2 Go, ce qui est autement recommendé vu le faible cout.

Après avoir recomplié le noyau et ajouté la géstion d'iptables, je voulais être capable de surveiller tous les paquets qui étaient rejettés par mon parfeu. J'ai eu besoin de syslog pour cela (il existe d'autre utilaires plus performants dans le domaine). Il y a eu de nombreuses choses d'écrites au sujet de l'écriture sur le disque SSD à éviter tant que possible, afin de prolonger sa durée de vie, et une des choses recommendée est de ne pas loguer du tout. L'installation de l'eee par défaut à un syslogd standard, mais il est désactivé. Cel peut rendre la résolution des problèmes difficile si vous avez l'habitude de lire les logs pour les messages d'erreur comme c'est mon cas. J'ai décidé d'utiliser tmpfs (systeme de fichier en memoire RAM) pour les logs. Le système par défaut crée un tmpfs dans /dev/shm. J'ai choisi de changer syslog par syslog-ng pour sa plus grande flexibilité.

Toutes les commandes sont entrées dans un terminal comme root :

apt-get install syslog-ng

Cela va également effacer les programmes syslogd et klogd installés par défaut.

J'ai alors crée un nouveau répertoire dans /dev/shm

mkdir /dev/shm/logs

et l'ai monté avec unionfs

mount -t unionfs -o dirs=/dev/shm/logs=rw:/var/log/=ro unionfs /var/log

Cela crée une aire dans laquelle on peut écrire, par dessus le /var/log déjà existant, de la même facon que l'unionfs original de l'ee est configuré. Lorsque vous redémarrez, tous les changements sont perdus car ils sont écris en RAM au lieu du SSD.

Voici le point où j'ai eu quelques problèmes. Pour différentes raisons, syslog-ng utilisait TOUT le temps CPU avec la configuration par defaut. J'ai réécrit la configuration pour tout écrire dans un seul fichier. Si vous faites la même chose, remplacez votre /etc/syslog-ng/syslog-ng.conf par le suivant :

options {
      chain_hostnames(0);
      time_reopen(10);
      time_reap(360);
      log_fifo_size(2048);
      create_dirs(yes);
      group(adm);
      perm(0640);
      dir_perm(0755);
      use_dns(no);
stats_freq(0); 
};
source s_all {
      internal();
      unix-stream("/dev/log");
      file("/proc/kmsg" log_prefix("kernel: "));
};
destination df_messages { file("/var/log/messages"); };
filter f_messages {
      level(info,notice,warn,err,crit,alert,emerg);
};
log {
      source(s_all);
      filter(f_messages);
      destination(df_messages);
};

puis démarrez syslog-ng :

/usr/sbin/invoke-rc.d syslog-ng start

Bien sur, dés que vous redémarrez, syslog-ng n'est plus lancé. Si vous désirez le lancer au démarrage :

Éditez /usr/sbin/services.sh puis après la ligne commancant par « PATH » (dans mon cas, la seconde ligne) ajoutez ce qui suit :

mkdir /dev/shm/logs
mount -t unionfs -o dirs=/dev/shm/logs=rw:/var/log/=ro unionfs /var/log

Éditez ou créez alors /etc/fastservices et ajoutez une ligne simple contenant juste syslog-ng.

 
fr/syslog.txt · Dernière modification: 2008/03/02 14:59 par popolon
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki