====== Données Nagios dans un ramdisk ======

Comme le suggère la documentation officielle de Nagios, il est possible d'améliorer les performances de Nagios et notamment son interface Web par le biais de l'utilisation d'un ram disk pour stocker différentes informations. Les infos de création du ramdisk proviennent de ce [[http://www.vanemery.com/Linux/Ramdisk/ramdisk.html | mini-howto]].


===== Quels fichiers =====

Le fichier le plus évident à placer en ram disk est **status.dat**. Tout simplement parce que ce fichier est temporaire par nature et utilisé par les cgi de l'interface. L'autres est le **dossier rw** et le fichier de pipe qu'il contient **nagios.cmd**. Il ne faut pas oublier le fichier temp_file duquel découle le fichier de status.

Les autres candidats sont :

  * objects.cache
  * objects.precache
  * retention.dat
  * check_result_path
Le répertoire check_result_path est important également : il contient les fichiers de résultats de Nagios, ils sont tepoiraires mais peuvent représenter beaucoup d'I/O disques.
Les tests sur objects.precache ne montre aucun gain sur le calcul de configuration appelé par

<code>
/usr/local/nagios/bin/nagios -vps /usr/local/nagios/etc/nagios.cfg
</code>

Dans le cadre d'une utilisation des données de performance par un fichier temporaire, il est également intéressant de placer ce fichier ((service-perfdata sur mon install)) dans le ramdisk. C'est un fichier temporaire par excellence

===== Création ramdisk =====

<code>
sudo mkdir /tmp/ramdisk0
sudo mkfs.ext3 /dev/ram0
sudo mount /dev/ram0 /tmp/ramdisk0
sudo chmod ugoa+rwx /tmp/ramdisk0
</code>

Ces commandes peuvent être intégrées à /etc/rc.local pour une création automatique au démarrage.

Pour créer un ramdisk d'une taille de 256 Mo, il faut ajouter le paramètre ramdisk_size=256000 à /boot/grub/menu.lst comme suit :

<code>
kernel          /vmlinuz-2.6.15-51-server root=/dev/mapper/Ubuntu-root ro quiet splash ramdisk_size=256000
</code>

Une fois formatté, il y aura 243 Mo utilisable.

Une autre solution consiste à utiliser l'espace monté en mémoire /dev/shm qui est présent sur toutes les distributions.