Monday, March 25, 2013

Cacti NPC Plugin

penguin-centos-logo


Cacti + Nagios + NDOUtils -- CentOS 6.3




Cacti NPC Plugin

 

 

He estado padeciendo casi una semana para intentar agregar el Nagios Plugin for Cacti a mi instalacion de Cacti 6.3.
La instalacion de Cacti es realmente simple. Los plugins antes de la version 0.8.8a se podian instalar luego de parchar Cacti y la Base de Datos...
Bueno la version 0.8.8a incluye out-of-the-box Plugin Architecture con lo que unicamente se requiere descargar el plugin en la carpeta correspondiente.

Bueno, los pasos para instalar Cacti son los siguientes: 


INSTALACION DE CACTI

Pre-requisitos

[root@host]# yum install rrdtool  rrdtool-devel ruby-rrdtool


Mysql

[root@host]# yum install mysql-server mysql-devel


PHP

[root@host]# yum install php-mysql  php-devel  php php-snmp


HTTPD

[root@host]# yum install httpd


SNMP

[root@host]# yum install net-snmp net-snmp-devel net-snmp-utils


Descargamos cacti desde la pagina oficial

 http://www.cacti.net

[root@host]# wget http://www.cacti.net/downloads/cacti-0.8.8a.tar.gz



Descomprimimos el paquete

# tar zxvf cacti-version.tar.gz



Movemos la carpeta de cacti a otra ubicación

# mv cacti-version /usr/local/share/cacti/

 

Configurar MySQL

# mysqladmin --user=root password cact1.123

# mysqladmin --user=root --password reload


# mysql -u root -pcact1.123

mysql> CREATE USER cacti;

mysql> CREATE DATABASE cacti;

mysql> GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY 'cacti';

mysql> FLUSH PRIVILEGES;


Base de Datos de Cacti

En caso que la BD, como ya creamos una base de datos vacía, restauramos la BD que viene con el paquete de Cacti en la que creamos en el paso de Configurar MySQL.
Para esto ingresamos a la carpeta cacti dentro del directorio donde la descargamos y ejecutamos.

mysql -u root -pcact1.123 cacti < cacti.sql


CREAR EL USUARIO CACTI

Creamos el usuario cacti

# /usr/sbin/adduser cacti


Permisos de archivos

# chown -R cacti:apache /usr/local/share/cacti/


Configurar PHP

#vi /usr/local/share/cacti/include/config.php

  $database_type = "mysql";

  $database_default = "cacti";

  $database_hostname = "localhost";

  $database_username = "cacti";

  $database_password = "cacti";


Iniciamos Servicios

root@host]# /etc/init.d/httpd start

Iniciando httpd:

[root@host]# /etc/init.d/mysqld start

Iniciando MySQL:                        [  OK  ]

[root@host]# /etc/init.d/snmpd start

Iniciando snmpd:                        [  OK  ]


Iniciando servicios desde el Arranque

[root@host]# /sbin/chkconfig --level 352 httpd on

[root@host]# /sbin/chkconfig --level 352 mysqld on

[root@host]# /sbin/chkconfig --level 352 snmpd on


Cron para las graficas

# crontab -e -u cacti

*/5 * * * * cacti /usr/bin/php /usr/local/share/cacti/poller.php > /dev/null 2>&1


Apache Configuration

Creamos el archivo cacti.conf (la ruta es la siguiente - - - > /etc/httpd/conf.d/cacti.conf)



DocumentRoot "/usr/local/share/cacti"

Alias /cacti /usr/local/share/cacti
< Directory /usr/local/share/cacti>
Order allow,deny
Allow from all
< /Directory >
En el archivo php.conf (la ruta es la siguiente - - - > /etc/httpd/conf.d/php.conf), nos aseguramos de que la sección de AddType este especificada de la siguiente manera, sino lo está lo modificamos y agregamos lo necesario, el resto del archivo queda sin modificaciones.


AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps



http://IP/cacti/


Completamos el wizard de instalación y nos pedira finalmente la contraseña del usuario admin (por defecto es admin) luego procedemos a cambiarla por una contraseña más segura.



INSTALACION DE NAGIOS


 Si bien se puede instalar Nagios desde el repositorio EPEL con Yum, esta vez siguiendo un tutorial que lo compilaba intente instalar el nagios, sin problemas.... porque compile Nagios?, la respuesta es la siguiente.
Si usas el nagios de Yum las rutas cambian y en este caso los pasos no funcionarian... tengo que ahondar un poco mas en el sistema de archivos para encontrar las rutas que se pueden usar con el Nagios del yum.


Por otro lado la version de Nagios es 3.2.3, Luego tendre que hacerlo con la ultima version para ver si mejoran algunos links que deberian funcionar (pero eso lo veremos luego).

Los pasos que yo utilice para instalar Nagios y sus plugins fueron los siguientes:


 Crear El Usuario Nagios

[root@host]# useradd -m -s /bin/bash nagios


Asignar Password Al Usuario Nagios

[root@host]# passwd nagios


Crear El Grupo Nagcmd

[root@host]# groupadd nagcmd


Agregar Al Usuario Nagios Al Grupo Nagcmd

[root@host]# usermod -G nagios,nagcmd nagios


Agregar Al Usuario Apache Al Grupo Nagcmd

 [root@host]# usermod -a -G nagios,nagcmd apache


Agregar Al Usuario Cactiuser Al Grupo Nagcmd

[root@host]# usermod -a -G nagios,nagcmd cactiuser


Ingresamos Al Directorio /Tmp

[root@host]# cd /tmp


Descargamos Nagios

[root@host]# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz



Descargamos Nagios-Plugins

[root@host]# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz


Descomprimimos Nagios

[root@host]# tar xvzf nagios-3.2.3.tar.gz


Descomprimimos Nagios-Plugins

[root@host]# tar xzf nagios-plugins-1.4.15.tar.gz


Ingresamos Al Directorio /Nagios-3.2.3

[root@host]# cd nagios-3.2.3


Inciamos La Compilacion De Nagios

[root@host]#./configure --with-command-group=nagcmd
[root@host]# make all
[root@host]# make install
[root@host]# make install-init
[root@host]# make install-config
[root@host]# make install-commandmode

Editamos Al Usuario Nagiosadmin

[root@host]# vi /usr/local/nagios/etc/objects/contacts.cfg
Cambiar el correo que está asignado al usuario nagios por el Nuevo administrador.

[root@host]# make install-webconf


Asignamos El Password Del Usuario Nagiosadmin

[root@host]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
enter a great password 


Iniciamos Apache

[root@host]# /etc/rc.d/init.d/httpd reload


Ingresamos Al Directorio /Nagios-Plugins-3.2.3

[root@host]# cd /tmp/nagios-plugins-1.4.15/


Inciamos La Compilacion De Nagios-Plugins

[root@host]#./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@host]# make
[root@host]# make install


Linkeamos Nagios A Los Procesos Init

[root@host]# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios


Verificamos La Configuracion De Nagios

[root@host]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


Inciamos Nagios Por Primera Vez

 [root@host]# /etc/init.d/nagios start
http://IP/nagios/


La instalacion de Nagios 3.4.1 esta en el siguiente link y es la documentacion oficial de Nagios.

CACTI PLUGINS


Ingresamos a la carpeta de plugins segun lo configurado de Cacti

[root@host]#cd /usr/local/share/cacti/plugins


Descargamos un par de plugins para las pruebas

En este caso descargamos el plugin, le cambiamos el nombre y lo descomprimimos en la carpeta que corresponde.

Hacemos lo mismo con cada plugin descargado.


Settings

[root@host]#wget http://docs.cacti.net/_media/plugin:settings-v0.7-1.tgz
[root@host]#mv plugin\:settings-v0.7-1.tgz settings-v0.7-1.tgz
[root@host]#tar zxvf settings-v0.7-1.tgz


Monitor

[root@host]#wget http://docs.cacti.net/_media/plugin:monitor-v1.2-1.tgz
[root@host]#mv plugin\:monitor-v1.2-1.tgz monitor-v1.2-1.tgz
[root@host]#tar zxvf monitor-v1.2-1.tgz


NPC
NPC lo descargamos del siguiente link http://www.mediafire.com/?iefyesb24ppsbwl, el problema es que el usuario cambia por lo tanto sugiero que lo puedan ver desde una pagina web y luego descargar ya que el link que ven abajo solo funciono una vez.


[root@host]#wget http://205.196.123.83/ccuyad4sd6gg/iefyesb24ppsbwl/npc-2.0.4.tar.gz
[root@host]#tar zxvf npc-2.0.4.tar.gz


NDOUTILS

Ingresamos a la carpeta de descargars, en este caso  /tmp.

[root@host]#cd /tmp


Descargamos NDOUtils

Una vez descargado el paquete descomprimimos e ingresamos a la carpeta resultante para compilar los paquetes.

 [root@host]#wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b7/ndoutils-1.4b7.tar.gz
[root@host]#tar xvfz ndoutils-1.4b7.tar.gz|
[root@host]#cd ndoutils-1.4b7


Compilamos los paquetes de NDOUtils

[root@host]#./configure
[root@host]#make


Copiamos los archivos resultantes a las carpetas de nagios

[root@host]#cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
[root@host]#cp config/ndomod.cfg /usr/local/nagios/etc/ndomod.cfg


Editamos el archivo ndomod.cfg

Debe quedarnos de la siguiente manera, el resto no se modifica.

[root@host]#vi /usr/local/nagios/etc/ndomod.cfg

output_type=tcpsocket
#output_type=unixsocketoutput=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock



Editamos el archivo nagios.cfg

[root@host]#vi /usr/local/nagios/etc/nagios.cfg

Agregamos al archive la siguiente linea.

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Cambiamos de 0 a 1 el valor de la siguiente directiva.

                 process_performance_data=1


Copiamos los archivos restantes a la ruta correspondiente.

[root@host]#cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db
[root@host]#cp config/ndo2db.cfg /usr/local/nagios/etc/ndo2db.cfg


Editamos el archivo ndo2db.cfg

Debe quedar de la siguiente manera

[root@host]#vim /usr/local/nagios/etc/ndo2db.cfg

#socket_type=unix
socket_type=tcpdb_host=127.0.0.1
db_name=cacti
db_prefix=npc_
db_user=cacti
db_pass=***********



Seteamos los permisos correspondientes a los archivos

[root@host]#chmod go+r /usr/local/nagios/etc/ndo2db.cfg
[root@host]#chmod go+r /usr/local/nagios/etc/ndomod.cfg

Creamos el script de ndo2db y le damos permisos de ejecución.

La información del script se encuentra en el anexo.

[root@host]#vi /etc/init.d/ndo2db
El contenido del script esta disponible en esta web en la seccion NDO Database Configuration[root@host]#chmod gou+x /etc/init.d/ndo2db


Iniciamos el demonio y lo agregamos al proceso del boot

 [root@host]#/etc/init.d/ndo2db start
[root@host]#chkconfig ndo2db on


Reiniciaos y ya debería estar todo funcionando.

[root@host]#reboot


Una vez reiniciado el servidor ingresan a a http://ip/cacti/ se autentican crean el nuevo password del admin, y dan click en el link de "Plugins Management" que esta al lado izquierdo.
Apareceran los plugins que hayan descargado con una flecha azul mirando hacia abajo, les dan click para inciarlos y luego presionan la flecha de color verde que apunta a la derecha.
Inmediatamente apareceran las pestanas de los plugins al lado de Console y Graphs.Vamos al link de Settings y buscamos NPC, le damos la URL de nuestro nagios y con eso deberia bastar.

Luego de tener los equipos configurados en Nagios podemos empezar a importarlos. En la pestaba NPC buscamos en el menu del lado izqueirdo por la carpeta "Reporting", justo debajo de ella esta el link N2C.

La damos click y apareceran todos los HostGroup que creamos en Nagios.
Seleccionamos el HostGroup que deseamos importar y en la seccion de Templates escogemos uno, yo use "Local Linux Machine" y luego click en el boton con signo (+) de Import.

Si sale un mensaje diciendo "Importing" nuestro host aparecera luego en la seccion Devices de Cacti (en la pestana Console).

Eso seria todo....












 



No comments:

Post a Comment