miércoles, 24 de diciembre de 2008

Instalacion NagVis 1.2

Requisitos previos:

1) Nagios instalado, configurando y corriendo.
2) NDO instalado, configurado y corriendo.
3) Servidor Web con soporte PHP (recomendado: apache con mod_php > 4.2.0).
4) Modulos PHP necesarios: php-gd y php-mysql. El primero usado para el frontend y el segundo es necesario para el NDO backend para que se conecte a la DB.

Instalación:

#apt-get install php5 php5-gd php5-mysql
#cd /tmp
#wget -c http://downloads.sourceforge.net/nagvis/nagvis-1.3.2.tar.gz?modtime=1224536152&big_mirror=0
#tar xzvf nagvis-1.3.2.tar.gz
#mv nagvis-1.3.2 nagvis
#mv nagvis /usr/local/nagios/share/nagvis
#cd /usr/local/nagios/share/nagvis/
#cp etc/nagvis.ini.php-sample etc/nagvis.ini.php
#vim etc/nagvis.ini.php (archivo de configuración)
#chown www-data:www-data /usr/local/nagios/share/nagvis -R
#chmod 664 /usr/local/nagios/share/nagvis/etc/nagvis.ini.php
#chmod 775 /usr/local/nagios/share/nagvis/nagvis/images/maps
#chmod 664 /usr/local/nagios/share/nagvis/nagvis/images/maps/*
#chmod 775 /usr/local/nagios/share/nagvis/etc/maps
#chmod 664 /usr/local/nagios/share/nagvis/etc/maps/*

Ingresar a la web:

http://ip-server/nagios/nagvis/wui/index.php

Instalación NDOutils 1.4 para nagios 3.0.6

1) INTRODUCCION:

A) Propósito:

El addon NDOUTILS es para almacenar toda la configuracion y los eventos del nagios en una base de datos. Almacenando informacion de Nagios en la BD permitira recuperar datos rapidamente y ademas ayudara a procesar datos para servir a una interfaz web en PHP.

La BD MySQL y PostgreSQL esta soportado por el addon.

B) Vista de Diseño:

NDOutils fue diseñado para trabajar con usuarios que tienen:

- Instalacion simple de nagios
- Instalacion Multiple de nagios
- Instalacion Multiple, redundante y distribuida de nagios

Datos de cada proceso de nagios puede almacenar en la misma DB o en distintas DB.

Por lo tanto no soportado todavia, pero en un futuro nagios almacenara en distintas BD desde un mismo proceso.

--------------------------------------------------------------------------------------------------------


2) COMPONENTES


A) Vista:

Hay 4 componentes principales que inician las utilidades NDO:

1- NDOMOD Event Broker Module (Modulo de evento corredor)
2- LOG2NDO Utility
3- FILE2SOCK Utility
4- NDO2DB Daemon

Cada componente se describe con mas detalles en las siguientes paginas.


B) El NDOMOD Event Broker Module

Las utilidades NDO incluyen un Nagios Even Broker Module (NDOMOD.O) que exporta datos desde el demonio de nagios.

Asumiendo que nagios fue compilado con el Modulo Event Broker activado (esto es por default), usted puede configurar que nagios cargue el modulo NDOMOD en tiempo de ejecucion. Una vez que el modulo fue cargado por el daemon de nagios, este puede acceder a todos los datos y logicamente presente el el proceso de nagios que esta corriendo.

El modulo NDOMOD tiene designado exportar la configuracion, como informacion variada de eventos en tiempo de ejecucion que ocurre en el proceso de monitoreo, por el daemon de nagios. El modulo puede enviar esta informacion a un archivo estandar, a un Socket Unix de Dominio o un a socket TCP.

El NDOMOD escribe la info en un formato que el demonio NDO2DB puede entender.

Si el NDOMOD esta escrito para un archivo de salida, usted puede configurarlo para rotarlo periodicamente y/o procesarlo en otra maquina fisicamente (usando SSH, etc.) y envia este contenido al daemond NDO2DB usando la utilidad FILE2SOCK (que describiremos mas adelante).


C) La utilidad LOG2NDO

Esta es designada para permitir importar un historial de logs de nagios a una BD via el NDO2DB daemon (describiremos luego). La utilidad trabaja enviando archivos de logs historicos a un archivo estandar, un unix sock o un tcp sock en un formato que NDO2DB daemond entienda. El NDO2DB daemon puede luego usarlo para procesar la salida y almacenar en un archivo de log historico informandolo en una BD.


D) La utilidad FILE2SOCK

Esta utilidad es muy simple, solo lee de un archivo estandar (o STDIN) y escribe todo sobre un socket de dominio unix o un tcp socket. Estos datos son leidos y no son procesados por nada, antes de ser enviados al socket.


E) El demonio NDO2DB

La utilidad es diseñada para tomar los datos de salida de los componentes NDOMOD y LOG2NDO y almacenarlos en una BD MySQL o BD PostgreSQL.

Cuando este inicia, el daemon NDO2DB crea un socket y espera que los clientes se conecten. NDO2DB puede correr independientemente, bajo un demonio multiproceso o bajo inetd (si esta usando un socket TCP).

Multiples clientes pueden conectarse al daemon NDO2DB y transmitir simultaneamente.

El NDO2DB actualmente solo soporta databases MySQL, en un fururo soportara Postgre.


--------------------------------------------------------------------------------------------------------


4) INSTALACION


A) Prerrequicitos:

Para usar NDOUtils usted necesitara tener lo siguiente instalado y trabajando en su sitema:

- Nagios (ver abajo las versiones)
- MySQL


B) Versiones Compatibles:

Debera tener corriendo Nagios 2.0 (estable). NDOUtils no trabajara en la version de nagios beta 2.0. NDOUtils tambien trabaja bajo las actualizaciones de nagios 2.x y el corriente desembolvimiento de Nagios 3.


C) Obtener la nueva version:

Usted puede obtenerla de NDOUtls addon visitando el site de nagios:

http://www.nagios.org/download/


D) Descargamos el paquete:

Desempacar el tarball en tmp (version en mi caso ndoutils-1.4b7 para nagios 3.0.6):
Enlace de descarga:

#cd /tmp
#wget -c http://downloads.sourceforge.net/nagios/ndoutils-1.4b7.tar.gz


E) INSTALANDO

Usualmente no se encuentra el comando "make install", debe hacer la instalacion manualmente con un par de componentes, no se preocupe, no es complicado.

HAy dos versiones de ndomod.o NEB module y ndo2db daemon a compilar. Uno para Nagios 2.x y el otro para "Nagios 3.x" Cada especificacion de nagios para una version distinta:

Estos trabajan con Nagios 2.x:

ndomod-2.x.o
ndo2db-2x

Estos trabajan con Nagios 3.x:

ndomod-3x.o
ndo2db-3x

Hay otros dos binarios que vienen con NDOUtils que no son para una version especifica de nagios. Ellos son:
file2sock
log2ndo

Hay un orden para instalacion de los componetnes de NDOUtils en el sistema, usted debera copiar los binarios compilados dentro del directorio Nagios (usualmente en /usr/local/nagios/bin), hacer:

#apt-get install bzip2 mysql-server libmysqlclient15-dev phpmyadmin php5-gd gcc make libgd-dev php5-cli sudo php5-sqlite rrdtool
#tar xzvf ndoutils-1.4b7.tar.gz
#cd ndoutils-1.4b7
#./configure
#make
#mysql -u root -p (en blando o el pass agregado)
#create database nagios;
#quit
#cd db
#./installdb -u root -p "passDeMysql" -d nagios
#cd ..
#cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
#cp config/ndomod.cfg /usr/local/nagios/etc/
#vim /usr/local/nagios/etc/nagios.cfg

broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg (antes de event_broker_options=-1)
#cp src/ndo2db-3x /usr/local/nagios/sbin/ndo2db
#cp config/ndo2db.cfg /usr/local/nagios/etc/
#vim /usr/local/nagios/etc/ndo2db.cfg

db_user=root
db_pass=

#/etc/init.d/nagios start
#/usr/local/nagios/sbin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
--> Si reinicio el server tengo que volver a ejecutarlo.
Para que esto no ocurra lo deberia poner en automático --> Si me dice que el sock está en uso borro el socket:
#rm /usr/local/nagios/var/ndo.sock

Configuración nagios 3.0.6, agregar un host linux

AGREGAMOS UN HOST LINUX:
------------------------------


Editamos archivo de configuración de nagios:

#vim /usr/local/nagios/etc/nagios.cfg
linea 34 agregamos: cfg_file=/usr/local/nagios/etc/objects/linux.cfg

Verificamos si lo que modificamos no tiene ni warnings ni errores:

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Copiamos y pegamos un archivo de configuracion ya creado y lo editamos:

#cp /usr/local/nagios/etc/objects/localhost.cfg /usr/local/nagios/etc/objects/linux.cfg
#vim /usr/local/nagios/etc/objects/linux.cfg


Dentro de dicho archivo solo debe quedar lo siguiente:

define host{
use linux-server
host_name pruebas
alias pruebas
address 10.10.121.136
}

define service{
use local-service ;template
host_name pruebas
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}

define service{
use local-service
host_name pruebas
service_description Root Partition
check_command check_local_disk!20%!10%!/
}


Verificamos si lo que modificamos no tiene ni warnings ni errores:

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

si aparece:
Total Warnings: 0
Total Errors: 0


Podremos reiniciar el servicio:

#/etc/init.d/nagios reload

NOTA: Verificamos en el entorno web que el servicio Root Partition nos toma el mismo tamaño el disco que el localhost, por eso debemos instalar NRPE. Si ademas configuramos la memoria en los archivos para que testee memoria de host remotos Linux/Unix veremos que también toma la memoria local.

NOTA1: CABE ACLARAR QUE NRPE ES UN POCO INSEGURO AUNQUE CORRA OPCIONALMENTE CON SSL, PARA HACERLO MAS SEGURO PODREMOS HACERLO CON CHECK_REMOTE_SSH. PERO ESTO TIENE VENTAJAS Y DESVENTAJAS, SI DESEAMOS MONITOREAR UN PAR DE HOST CONVIENE HACERLO CON SSH, PERO SI NECESITAMOS MONITEAR MUCHOS SERVIDORES LINUX/UNIX ENTONCES DEBEREMOS UTILIZAR NRPE, YA QUE SSH GENERA MUCHO OVERHEAD EN AMBOS HOSTs.

Instalación Nagios 3.0.6 con Plugins 1.4.13 en debian etch

INSTALACION:
---------------


Instalamos servidor web apache2:

#apt-get install apache2

Instalamos nuestro entorno de compilacion, este paquete tiene todo lo necesario:

#apt-get install build-essential

Instalamos bibliotecas necesarias, jpeg, png, gd2:

#apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev

Para gd bajamos las fuentes:

#cd /tmp
#wget -c http://www.libgd.org/releases/gd-2.0.35.tar.gz
#tar xvfz gd-2.0.35.tar.gz
#cd gd-2.0.35
#./configure
#make
#make install


Agregamos grupos y usuarios para nagios:

#useradd nagios
#passwd nagios
#groupadd nagios
#groupadd nagcmd
#usermod -G nagios nagios
#usermod -G nagcmd nagios
#usermod -G nagcmd www-data


Descargamos e instalamos el nagios(3.0.6) y los nagios-plugins(1.4.13):

#cd /tmp
#wget -c http://sourceforge.net/project/downloading.php?groupname=nagios&filename=nagios-3.0.6.tar.gz&use_mirror=ufpr
#wget -c http://downloads.sourceforge.net/nagiosplug/nagios-plugins-1.4.13.tar.gz?modtime=1197587122&big_mirror=0
#tar xzvf nagios-3.0.6.tar.gz
#cd nagios-3.0.6
#./configure --with-command-group=nagcmd
#make all
#make install
#make install-init
#make install-config
#make install-commandmode
#make install-webconf
#cd /tmp


Plugins:

#tar xzvf nagios-plugins-1.4.13.tar.gz
#cd nagios-plugins-1.4.13
#./configure --with-nagios-user=nagios --with-nagios-group=nagios
#make
#make install


Creamos una contraseña para acceso web del usuario nagiosadmin:

#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
#/etc/init.d/apache2 reload


Iniciamos nagios y creamos script de inicio:

#/etc/init.d/nagios start
#ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios


Abrimos mozilla y entramos en:

http://ip-server/nagios/

Usuario y contraseña que asignamos con htpasswd.

Instalación y configuración básica de SSH

Lo instalamos:
#apt-get install ssh

Realizamos un backup previo del archivo de configuración:
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old

Editamos el archivo:
#vim /etc/ssh/sshd_config

Nos dirigimos a la línea número 5 con el siguinte comando en vi:
:5

Para evitar ataque cambiamos el Puerto 22 que escucha por defecto por el 2222:
(pueden verificar, si no lo cambian, los intentos de acceso en el log del sshd: /var/log/auth.log)
Port 2222

SSH por defecto escuchará en todas sus interfaces de su pc, a veces no queremos que ocurra esto, asi que pondremos lo siguiente:
ListenAddress xxx.yyy.zzz.www

Denegaremos el acceso a root en el ssh:
PermitRootLogin no

Si queremos permitir la ejecucion de aplicaciones gráficas remotamente, si accederemos desde la red local puede dejarse en yes, pero si accederemos desde redes publicas es recomendable setearlo en no.
X11Fowarding

Podremos también permitir acceso a algunos usuarios específicos y no a todos. Solo damos acceso al ssh al usuario morsa.
AllowUsers morsa

A su vez podremos restringir usuarios con sus respectivas ips:
AllowUsers morsa@192.168.1.100 lalo@192.168.1.101 landa@192.168.1.102


Reiniciamos Servidor SSH:
#/etc/init.d/ssh restart

sábado, 13 de diciembre de 2008

eysOS Escritorio Web

Que es eyeOS?

eyeOS es una especie de sistema operativo web, en el cual podemos acceder a todo desde un cliente web (internet explorer, mozilla, etc.).

Podes tener programas y archivos desde cualquier lugar accediendo por una interfaz web.


Instalación:

Requisitos php y apache
#apt-get install php5 apache2

Accedemos a la ruta del apache:
#cd /var/www

Desacargamos e instalamos el paquete:
#wget http://downloads.sourceforge.net/eyeos/eyeOS_1.7.0.1-2.tar.gz
#tar xzvf eyeOS_1.7.0.1-2.tar.gz
#rm eyeOS_1.7.0.1-2.tar.gz

Configuramos para acceso del apache:
#cp /etc/apache2/sites-available/default /etc/apache2/sites-available/eyeOS
#vim /etc/apache2/sites-available/eyeOS

Modificar la línea:
RedirectMatch ^/$ /apache2-default/
por esta otra:
RedirectMatch ^/$ /eyeOS/

Guardar y cerrar el vim con :wq


Habilitamos el sitio:

#a2ensite eyeOS
#/etc/init.d/apache2 reload


Ingresamos a nuestro server mediante un explorador web de la siguiente forma:
http://ip-servidor/eyeOS

Agregamos el password para luego loguearnos al servidor.

Demo: http://demo.eyeos.org/?lang=es

Página del proyecto: http://eyeos.org/