rosgos

Notas de un SysAdmin

Cactiplug: Acceder a gráficas de Cacti desde Nagios

catiplug-logo

Cactiplug es un sencillo plugin hecho en php que sirve para enlazar Nagios con Cacti, de forma que desde el interfaz de Nagios se pueda acceder a las gráficas de Cacti con un solo click.

Este plugin nos vendrá muy bien si nuestro entorno de monitorización está basado en Cacti + Nagios y tenemos los clientes monitorizados en ambas plataformas.

Cactiplug  aprovecha la funcionalidad que ofrece Nagios de poder realizar acciones adicionales en sus clientes, a través del parámetro de configuración action_url. Para poder generar las url que servirán de enlaces a Cacti, el plugin consulta los id de los clientes en la base de datos de Cacti.

Preparación del entorno

Por defecto., así es como vemos el estado de un servidor desde la vista Host Groups del interfaz de Nagios:

cactiplug1

Para crear el enlace hacia Cacti, en el fichero hosts.cfg  añadiremos la siguiente línea en las definiciones de aquellos hosts que también tengamos definidos en Cacti:

define host {

…
action_url /nagios/cactiplug/cactiplug.php?ip=$HOSTADDRESS
}

Al aplicar este cambio y reiniciar o recargar Nagios, la vista del cliente será esta:

cactiplug2

Si además queremos cambiar el icono de action_url por el de Cacti, tendremos que crear una imagen de 20×20 pixels y guardarla como /usr/local/nagios/share/images/action.gif

Al aplicar este cambio y reiniciar o recargar Nagios, la vista del cliente será esta:

cactiplug3

Instalación de cactiplug.php

Para acceder a la base de datos de Cacti crearemos un usuario nuevo otórgandole únicamente permisos de lectura:

# mysql -u root -p
mysql> GRANT SELECT ON cacti.* TO 'cactiplug'@localhost IDENTIFIED BY 'cactiplug';

Ahora descargamos el script php y recargamos la configuración de Nagios:


# mkdir /usr/local/nagios/share/cactiplug
# cd /usr/local/nagios/share/cactiplug
# wget http://svn.nicolargo.com/cactiplug/trunk/cactiplug.php
# chown -R nagios:nagios /usr/local/nagios/share/cactiplug
# service nagios reload

Configuración de cactiplug.php

Por último, configuramos estas líneas del script para que se puedan hacer las consultas a la BD:

# vi cactiplug.php
$cactiurl="http://ServidorMonitorizacion/cacti";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiplug";
$database_password = "cactiplug";

Con estos pasos ya es posible acceder a las gráficas de Cacti desde el interfaz gráfico de Nagios.

Referencias

http://blog.nicolargo.com/2008/06/lier-cacti-et-nagios.html

http://blog.nicolargo.com/2008/07/cactiplug-v02-pour-lier-cacti-et-nagios.html

http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#host

Tamaño de la partición swap en Linux

La elección del tamaño óptimo para la partición swap dependerá de algunas características de la máquina como:

  • Tamaño de memoria RAM
  • Tamaño de disco
  • Aplicaciones ejecutadas
  • Arquitectura
  • Versión del Sistema Operativo

 

Debido a estas variantes, no existe una fórmula exacta para calcular el tamaño del espacio swap. Como fórmula general se podría considerar la siguiente como una buena configuración:

0 a 2 GB de RAM SWAP = 2 x RAM
2 a 8 GB de RAM SWAP = RAM
> 8 GB de RAM SWAP = 8 GB

 

Algunos ejemplos de configuración recomendada por Red Hat:

Red Hat Enterprise Linux 5

0 a 4 GB de RAM SWAP = 2 GB como mínimo
4 a 16 GB de RAM SWAP = 4 GB como mínimo
16 a 64 GB de RAM SWAP = 8 GB como mínimo
64 a 256 GB de RAM SWAP = 16 GB como mínimo
256 a 512 GB de RAM SWAP = 32 GB como mínimo

 

Red Hat Enterprise Linux 6

0 a 2 GB de RAM SWAP = 2 x RAM
2 a 8 GB de RAM SWAP = RAM
8 a 64 GB de RAM SWAP = 0.5 x RAM
> 64 GB de RAM SWAP = 4 GB

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

Al configurar Apache con hosts virtuales basados en nombre, podemos encontrarnos con que Apache nos muestre este mensaje:

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

Para solucionarlo, tendremos que configurar la directiva NameVirtualHost en el fichero httpd.conf

vi /etc/apache2/httpd.conf

Para que escuche por el puerto 80 de cualquier ip del servidor

NameVirtualHost *:80

O por el puerto 80 de una ip determinada

NameVirtualHost 200.200.200.200:80

Ahora solo nos falta reiniciar Apache

/etc/init.d/apache2 restart