TenÃa pendiente instalar una máquina nueva con Debian 4 para migrar a ella los servicios de monitorización de mi centro de trabajo. Las versiones de Nagios etiquetadas como stable en esta nueva Debian son la 1.4 y la 2.6 asà que como querÃa probar la nueva versión 3 y no encontré ningún repositorio donde estuviera en forma de paquete .deb me decidà por compilarla e instalarla para evaluar si es lo suficientemente estable como para usarla en producción. El proceso ha sido bien sencillo asà que dejo aquà un breve «paso a paso» para quien quiera animarse.
Partimos de una instalación limpia de debian etch con apache2. Lo primero que necesitamos es instalar nuestro entorno de compilación. Hay un paquete en debian con todo lo que necesitas para ello.
apt-get install build-essential
El segundo paso es instalar las librerÃas necesarias para, posteriormente, compilar nagios. Necesitamos las jpeg, png y gd2. Para las dos primeras no tuve ningún problema en instalar las que vienen con la distribución estable:
apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev
Para las gd2 sin embargo me lié un poco ¿necesito las que traen soporte para xpm o las que no?¿es indiferente, tal vez? Cómo no tenÃa ni idea y no encontré información referente a ello visité la página del proyecto y vi que allà no hacÃan distinción alguna… Reconozco que lo de los formatos gráficos no es lo mÃo (ni los de audio, ni los de video, ni…) asà que tiré por la calle de enmedio y decidà bajarme los fuentes y compilarlos también:
cd /tmp
wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar xzf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure
make
make install
Lo siguiente es crear los grupos y usuarios necesarios para nagios:
useradd nagios
passwd nagios
groupadd nagios
groupadd nagcmd
usermod -G nagios nagios
usermod -G nagios josemaria
usermod -G nagcmd nagios
usermod -G nagcmd www-data
Con esto hemos creado un nuevo usuario (nagios), le asignamos una contraseña, creamos dos grupos (nagios y nagcmd). Añadimos nagios a ambos grupos, el usuario www-data (el que usa Apache) al grupo nagcmd y, por comodidad aunque no es indispensable, nuestro usuario común al grupo nagios para que la edición de ficheros de configuración nos resulte maÅ? cómoda.
Ya lo tenemos todo listo. Ahora toca bajarse Nagios, compilarlo e instalarlo. Visita la página oficial para asegurarte de que usas las últimas versiones disponible. Por lo demás, la secuencia usando las versiones actuales es la siguiente:
cd /tmp
wget -c http://tinyurl.com/2jyzao/nagios-3.0a5.tar.gz
wget -c http://tinyurl.com/2mqzzk/nagios-plugins-1.4.9.tar.gz
tar xzf nagios-3.0a5.tar.gz
cd nagios-3.0a5
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
cd ..
tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
Creamos una contraseña para el acceso web del usuario nagiosadmin y reiniciamos apache:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
/etc/init.d/apache2 reload
Y por último arrancamos nagios y, si no presenta ningún error, creamos un enlace para que de ahora en adelante arranque de forma automática al iniciar la máquina:
/etc/init.d/nagios start
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
Y ya. Con esto nuestro nagios debe de estar totalmente funcional y accesible vÃa web a través de la URL «http://hostname/nagios». La configuración por defecto monitoriza algunos servicios en la propia máquina dónde se instala y nos debe de bastar para saber que funciona correctamente. Para sacarle partido debemos de hacer algunas cosillas más que os enumero, aunque con menor detalle, a continuación.
- Primero y fundamental: hay que plasmar la topologÃa de nuestra red a través de los ficheros de configuración de nagios. Dichos ficheros se encuentan en el directorio «/usr/local/nagios/etc/objects». Allà debemos de encontrar al menos un fichero llamado localhost.cfg (el único activo por el momento) y que nos puede servir como ejemplo de base. No le echeis cuenta a quien os diga que la configuración de nagios es enrevesada y echadle un vistazo libres de prejuicios, ya vereis que no es asÃ. La guÃa de configuración deberÃa de ser una buena referencia para este paso.
- Si queremos recibir notificaciones por email de las alertas de nuestra red es preciso que la máquina tenga postfix instalado y correctamente configurado y que editemos el fichero «/usr/local/nagios/etc/objects/contacts.cfg» y cambiemos la dirección de correo que aparece asociada por defecto al usuario nagiosadmin por la nuestra.
- Si queremos personalizar con iconos apropiados los hosts que aparecen en mapas y fichas de información debemos de descargarnos una o varias colecciones de ellos del apartado correspondiente (logos and images) de nagios exchange, descomprimirlas y dejar los iconos en el directorio «/usr/local/nagios/share/images/logos/».
- Y ya que estamos por Nagios Exchange conviene echarle un vistazo también a la sección de Check Plugins. En ella encontraremos una gran colección de scripts para la monitorización de los más variados servicios y que complementan fabulosamente a los que nagios trae de base y hemos instalado ya.
Y poco más… aún no he plasmado todos los hosts y servicios de mi red pero con una horita escasa de trabajo este es el resultado. Cuando concluya prometo hacer una segunda entrada contando en detalle la configuración para los más perezosos que no quieran leerse la documentación en inglés.