Instalación y Configuración -Avanzada- de Nagios 1.2 ( 2ª Parte ) ( 1 de 2 )


Hace tiempo prometí una segunda parte de “Nagios – Monitorización de Redes” y por diversos motivos no pude cumplir la fecha de publicación . A dia de hoy el manual casi esta completo y he decidido sacarlo a la luz .Publico la primera parte, las más completa ; y dentro de unos dias publico la otra mitad. Faltan las imagenes y algunos puntos que en breve intentaré concluir .

Si estais dispuestos a pulir vuestra configuración y aspecto de Nagios a que esperais , este es vuestro manual 😀

CONFIGURACIÓN Y PERSONALIZACIÓN
“Avanzada” DE NAGIOS 1.2 ( 2ª Parte ) ( 1 de 2 )

  • 1.-
    Preámbulos

  • 2.-
    Objetivos

  • 3.-
    Máquinas Usadas

    • 3.1-
      Máquinas que monitorizaemos
  • 4.-
    Instalación de Nagios

    • 4.1-
      Descarga de Nagios

    • 4.2-
      Compilación e Instalación

    • 4.3-
      Compilación de Plugins
  • 5.-
    Configuraciones Previas

    • 5.1-
      Ficheros de Configuración

    • 5.2-
      Activar Acceso Web

    • 5.3-
      Añadir Usuarios de Acceso

    • 5.4-
      Propietario y Grupo

    • 5.5-
      Comprobacion Web

  • 6.-
    MySQL

    • 6.1-
      Configuracion Acceso DB MySQL

    • 6.2-
      Loggeando Resultados a MySQL

  • 7.-
    Configuracion Minima

  • 8.- Verificando y
    Arrancando Nagios

  • 10.-
    Configuraciones Avanzadas

  • 10.1.-
    Notificaciones Sonoras

  • 10.2.-
    Anadir Imagenes al statusmap

    • 10.2.1-
      Imagen de Fondo

  • 10.3.-
    Mapa 2D con coordenadas 2D

  • 10.4.-
    Descripcion Extra-Html

  • 10.5.-
    WAP

  • 10.6.-
    Notificacion con Voz! – Festival –

  • 10.7.-
    Visualizar el Mapa 3D VRML

  • 10.8.-
    Personalizar mapa 3D

  • 10.9.-
    Configuracion Via Web ( Nagat )

  • 10.10.-
    Traducción Web Nagios

  • 10.11.-
    Stylesheets

  • 10.12-
    Notificacion por “SMS” Gratuita !

    • 10.12.1-
      Amena

    • 10.12.2-
      Movistar

    • 10.12.3-
      Vodafone

    • 10.12.4-
      Cuidado !

  • 10.13.-
    Integración de Nagios en Portales CMS

    • 10.13.1-
      PostNuke

    • 10.13.2-
      Php-Nuke

    • 10.13.3- Xoops
  • 10.14.-
    Listado de Plugins

    • 10.14.1.- Cómo Usar los
      Plugins Integrados
  • 11.- Instalación de Plugins
  • 11.1 – Apan
  • 12.- Notificaciones
  • 13.-
    “Problemas” Observados

  • 14.- Acerca del
    Autor

1.-
Preámbulos

En esta segunda parte del manual de ”
Instalación
y Configuración de Nagios 1.2
(1)”,
la diferencia más notable respecto a la primera parte, será
la utilización del código fuente de Nagios, en
lugar de usar los típicos paquetes precompilados *.deb o *.rpm
. El motivo de este cambio han sido los fallos que he podido observar
en dichos paquetes, y todo apunta, que se va a tardar mucho tiempo en
arreglar. “Gracias” a estos fallos, me basaré en la
instalación de Nagios 1.2 desde el código fuente, con
lo cual, todos los usuarios de cualquier distribución de
GNU/Linux podrán usar este manual,..
*Nota: Se deberán tener conocimientos previos de configuraciones y parámetros explicados en el 1er manual

2.-
Objetivos

Nuestros objetivos son los mismos que en la
1ª Parte, monitorizar determinadas máquinas de una o
varias redes. Redes cableadas o redes wireless, cualquier tipo de red
🙂 . En esta 2ª parte, enviaremos los datos ( no todos ) de
Nagios a una base de datos MySQL, en lugar de ficheros de texto
plano, como anteriormente se hizo. Aprenderemos a personalizar el
mapa de estado – añadirle imágenes e iconos,
coordenadas 2D – , instalaremos diversos plugins o add-ons ( como
apan ,(2) rddtool ,(3) mrtg , (4)
) , gráficos ……. etc

3.-
Máquinas Usadas

Se ha(n) usado lo(s) mismo(s) PCs que en la
primera parte del manual , en nuestro caso es un simple AMD 266 Mhz
Celeron , 96Mb de RAM, 7 GB de HD , y como distribución
seguiré usando la misma que en la primera parte : GNU/Linux
Debian SID .

3.1.-
Máquinas que Monitorizaremos

En esta segunda parte del manual, vamos a
incrementar el numero de “objetos” a monitorizar, y también

incrementaremos el número de servicios en cada uno de
ellos.
Dentro de mi red local , vamos a monitorizar los siguientes
dispositivos:

Máquinas
de la LAN que monitorizaremos y sus correspondientes “servicios”:

Nombre

Nombre en Nagios

IP

Servicios

Parents

Red

router

router

192.168.1.1/24

Puerto 23 y 80

—-

LAN

casandra

casandra

192.168.1.2/24

PING

router

LAN

ganimedes

ganimedes

192.168.1.3/24

PING

router

LAN

servidor

servidor

192.168.1.4/24

SSH, HTTP
SMTP, USUARIOS EN SHELL , FTP, IRC ,
smb://servidor/ftp smb://servidor/acidrain

router

LAN

Máquinas de Internet que

monitorizaremos y sus correspondientes
“servicios”:

Nombre

Nombre en Nagios

IP

Servicios

Parents

Red

www.linuxzamora.org

www.linuxzamora.org

69.72.226.42

PING,HTTP
FTP

router

Internet

foros

foros

69.72.226.42

HTTP , PING

www.linuxzamora.org

Internet

kaldan

kaldan

69.72.226.42

HTTP , PING

www.linuxzamora.org

Internet

linuxnovatos

linuxnovatos

69.72.226.42

HTTP , PING

www.linuxzamora.org

Internet

acidrain

acidrain

69.72.226.42

HTTP , PING

www.linuxzamora.org

Internet

www.barrapunto.com

www.barrapunto.com

212.85.32.12

PING, HTTP

router

Internet

www.bulma.net

www.bulma.net

130.206.130.95

HTTP

router

Internet

www.google.es

www.google.es

216.239.59.104

PING , HTTP

router

Internet

www.slashdot.org

www.slashdot.org

66.35.250.150

HTTP

router

Internet

www.sourceforge.net

www.sourceforge.net

66.35.250.203

HTTP

router

Internet

amsn.sourceforge.net

amsn.sourceforge.net

66.35.250.209

PING,HTTP

www.sourceforge.net

Internet

4.-
Instalación de Nagios

En esta segunda parte Instalaremos a partir
del código fuente , por lo tanto este manual es válido
para cualquiera de las distribuciones de GNU/Linux . De todas formas,
deberemos tener funcionando perfectamente Apache , MySQL y Apache con
MYSQL y PHP4 y tener instaladas las librerias de MySQL. Los paquetes
usados para el manual han sido:

apache 1.3.31-1
apache-common 1.3.31-1

mysql-client 4.0.18-8
mysql-common 4.0.18-8
mysql-server
4.0.18-8

php4-mysql 4.3.4-4
phpmyadmin 2.5.6-1

libmysqlclient-dev 4.0.20-11
libmysqlclient10-dev
3.23.56-2
libmysqlclient12 4.0.20-11

4.1-
Descarga de Nagios

Debemos bajar de www.nagios.org (5)
2 ficheros IMPRESCINDIBLES para el correcto funcionamiento. Los
ficheros y sus correspondientes versiones usadas han sido:
nagios-1.2.tar.gz
nagios-plugins-1.3.1

*Nota: Disponeis de una copia de estos
ficheros en www.linuxzamora.org(6)

*Ojo!: No bajeis la versión
1.4.0alpha1 de los plugins. El check_ping tiene un fallo, el cual me
ha causado grandisimos quebraderos de cabeza y me ha hecho perder más
de una semana en averiguar porque fallaba .

4.2-
Compilación e Instalación

Necesitamos ,antes de que se nos olvide, las
librerias de desarrollo de PNG y GD2. Sin ellas no podremos
configurar nuestro mapa 2D, ya que no saldrían las imagenes
generadas.

– # tar xzvf nagios-1.2.tar.gz //
Descomprimimos Nagios

# cd nagios-1.2 // Entramos en
“nagios-1.2” y compilamos pasando ciertos parametros.


# ./configure –with-nagios-user=nagios –with-nagios-grp=nagios
-with-template-objects –with-mysql-xdata –with-mysql-status
–with-mysql-comments –with-mysql-extinfo –with-mysql-retention
–with-mysql-downtime –with-template-extinfo
// Opciones que

pasamos al configure

Resultado del ./configure

Web Interface
Options:
————————
HTML URL :
CGI URL :

Traceroute (used by WAP) :

External Data
Routines:
————————
Status data :
Object
data :
Comment data :
Downtime data :
Retention data
:
Peformance data :
Extended info data :

————————
http://localhost/nagios/
http://localhost/nagios/cgi-bin/
/usr/sbin/traceroute
External Data Routines:
————————
Database
(text-file)
Template-based (text file)
Database
(MySQL)
Database (MySQL)
Database (MySQL)
Default
(external commands)
Database (MySQL)

# make all // para configurar
el programa principal y los CGI’s

# adduser –shell
/bin/false –no-create-home –disabled-password –disabled-login
nagios
// creamos el usuario “nagios” , sin directorio
HOME, con login y password desactivados y sin shell .

#
make install
// instala el programa principal, los CGI’s y los
HTML

# make install-init // instala el script de
arranque en /etc/init.d

# make install-commandmode //
instala los permisos para la ejecucion de comandos externos


# make install-config // instala los ejemplos de los ficheros
de configuracion
Ahora tenemos “todo” – menos los
plugins – instalado en el directorio /usr/local/nagios/ y en
los directorios recursivos.

4.3-
Compilación de Plugins

# tar xzvf
nagios-plugins-1.31.1.tar.gz
// descomprimimos el fichero


# cd nagios-plugins-1.3.1 // entramos al directorio creado


# ./configure
# make // compilamos los plugins
Nota* Al hacer el make ( en Debian )
y tener instalado este paquete libmysqlclient-dev 4.0.20-11 se
produce un error la hacer el configure:

In file included from /usr/include/mysql/mysql.h:57, from
check_mysql.c:25:
/usr/include/mysql/mysql_com.h:181: error:
conflicting types for ‘my_connect’
netutils.h:50: error:
previous declaration of ‘my_connect’

La forma de solucionarlo es, en la linea
181
cambiar : “my_connect” por “my_pconnect”
y arreglado. No se si se trata de algun Bug , pero con el
Persist_connect funciona perfectamente.

Al terminar el configure, nos saldra una
lista detallada con la configuracion, que debera ser como esta ! Ojo
! porque si alguna de las External Data Routines , en lugar de
tener un valor de MYSQL , tiene un valor de text-file, vais a tener
muchos quebraderos de cabeza . os lo digo por experiencia.
– # make install // se instalan en
/usr/local/nagios/libexec/

5.-
Configuraciones previas


5.1-
Ficheros de Configuración

Debemos renombrar los ficheros de
configuración de ejemplo que se nos han instalado en
/usr/local/nagios/etc/ . Podemos renombrarlos, o copiarlos ; eso a
vuestra elección. Deberemos quitarle el “-sample”
a todos los ficheros.
ej: # mv hosts.cfg-sample hosts.cfg

En el fichero dependencies.cfg , comentamos
TODAS las lineas, al menos de momento.

Ahora Nagios ya deberia “funcionarnos
perfectamente”. Pero no probeis, que aun faltan cosas 😉 .

5.2-
Activar Acceso Web

Para configurar el acceso via Web ,
necesitamos crear este fichero /usr/local/nagios/etc/apache.conf
y enlazarlo desde nuestro httpd.conf , añadiendo esta
linea:
Include /usr/local/nagios/etc/apache.conf
El contenido del fichero apache.conf
sera el siguiente:
apache.conf

ScriptAlias /cgi-bin/nagios /usr/local/nagios/sbin
ScriptAlias
/nagios/cgi-bin /usr/local/nagios/sbin

Options ExecCGI
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
AuthName “Acceso a Nagios”
AuthType
Basic
AuthUserFile
/usr/local/nagios/etc/htpasswd.users
require
valid-user
Alias /nagios/stylesheets /usr/local/nagios/share/stylesheets
Alias /netsaint /usr/local/nagios/share
Alias /nagios
/usr/local/nagios/share

Options FollowSymLinks
AllowOverride AuthConfig
Order Allow,Deny
Allow From All
AuthName “Acceso a Nagios”
AuthType
Basic
AuthUserFile
/usr/local/nagios/etc/htpasswd.users
require
valid-user

Ahora deberemos reiniciar nuestro
servidor Web Apache. ( En Debian /etc/init.d/apache restart , en Red
Hat y similares /etc/init.d/httpd restart )

5.3-
Añadiendo Usuarios de Acceso

Para añadir usuarios de acceso a
Nagios via Web, necesitamos editar el fichero cgi.cfg y
añadir los usuarios y passwords en htpasswd.users
Como este paso ya lo expliqué en la
primera parte del manual, seré breve. En el fichero cgi.cfg
, deberemos comentar la linea :
nagios_check_command=/usr/local/nagios/libexec/check_nagios
/usr/local/nagios/var/status.log 5 ‘/usr/local/nagios/bin/nagios’

y descomentar TODAS las lineas que tengan
esta sintaxis:
authorized_for_ ……. , debemos
cambiarlas por :
authorized_for_ …….=nagiosadmin
Donde nagiosadmin será nuestro
único usuario con acceso a Nagios.
Para añadir el usuario y el
password
, deberemos ejecutar el siguiente comando:
# htpasswd -c
/usr/local/nagios/etc/htpasswd.users nagiosadmin

5.4- Propietario
y Grupo

Para no tener problemas de acceso a
ficheros, tanto por parte del usuario “nagios” , como del
usuario “www-data” de Apache , cambiaremos de usuario y
grupo todos los ficheros:
# chown -R nagios.www-data
/usr/local/nagios/

www-data es el usuario de Apache . Si
usas otra distribución distinta de Debian, mira el usuario en
httpd.conf

5.5-
Comprobación Web

Para comprobar que hemos realizado bien
todos los pasos, podemos ( incluso sin arrancar Nagios ) observar si
hemos tenido suerte. Deberemos poner en un navegador
http://ip_nagios/nagios/ , y deberá solicitarnos
login/pass , que será login: nagiosadmin y el “pass”
que le dijimos con htpasswd. Una vez dentro , no podremos ver los
CGI’s, ya que Nagios está parado.
Si queremos ver si hemos puesto bien las
rutas a todos los PATH, podemos arrancar nagios para ver si realmente
marcha todo tal y como deeseamos :
# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg

Ahora deberiamos tener acceso a los CGI’s .

Si por cualquier cosa, Apache nos muestra un error de que no tenemos
acceso “forbidden access” , el fallo esta en htpasswd
y cgi.cfg. Si Apache muestra que no encuentra
/cgi-bin/xxx.cgi, el fallo esta en apache.conf. Podeis ver el
fallo abriendo una xterm como root y ejecutando el comando tail -f
/var/log/apache/errors.log
( la ubicación del fichero
varia con la distribución ) .
Por ejemplo, mientras estaba haciendo esta
parte del manual, observé un fallo, había puesto mal un
PATH en apache.conf, pero con el tail supe donde estaba el
error:
[Thu Sep 2 00:11:59 2004] [error] [client
192.168.1.2] script not found or unable to stat:
/usr/local/nagios/libexec/statusmap.cgi

Os recomiendo tener siempre una
consola/terminal corriendo dicho comando para comprobar si algo falla
en el acceso web , errores del propio Nagios , e incluso el acceso a
la database, que seguidamente explicaré.

6.- MySQL y cgi.cfg
6.1- Configuración Acceso DB MySQL
Una vez instalados todos los paquetes

necesarios de MySQL, lo primero será asignar un password a
root para entrar a MySQL:
# mysqladmin -u root password //
Asignamos un password a root
# mysqladmin -p create
nagios
// Creamos la Base de Datos Necesaria para Nagios
A continuación volcamos la estructura
.sql necesaria a la base de datos “nagios”:
# mysql -p nagios <
/path/nagios-1.2/contrib/database/create_mysql.sql

Para ver las tablas introducidas en la
database, pondremos :
# mysqlshow -p nagios
Enter
password:
Database: nagios
+——————+
| Tables
|
+——————+
| hostcomments |
| hostdowntime |
|
hostextinfo |
| hostretention |
| hoststatus |
|
programretention |
| programstatus |
| servicecomments |
|
servicedowntime |
| serviceextinfo |
| serviceretention |
|
servicestatus |
+——————+
Ahora deberemos dar acceso total a la base
de datos “nagios”, al usuario “nagios” , con
password “nagios” :
# mysql -p
Password:
mysql>
GRANT ALL PRIVILEGES ON nagios.* TO nagios@localhost IDENTIFIED BY
‘nagios’
;
Query OK, 0 rows affected (0.08 sec)
mysql>
quit;
Para comprobar que el usuario “nagios”
tiene acceso: # mysqlshow -u nagios -p nagios

6.2-
Loggeando Resultados a MySQL

Para que Nagios envie los resultados a la
base de datos, necesitamos editar cgi.cfg y resource.cfg
; y en la parte final de los ficheros, en todas las secciones,
deberemos rellenar los datos con los datos de nuestra database y
descomentar las lineas. Ejemplo:

xdddb_port=3306
xdddb_database=nagios
xdddb_username=nagios
xdddb_password=el_password
Asi en todas las partes que sean iguales, y
en ambos ficheros.

*Nota: Necesitamos crear también:
– # touch
/usr/local/nagios/var/nagios.log

– # chown nagios.www-data
/usr/local/nagios/var/nagios.log

7.-
Configuración Mínima

No voy a explicar que es cada linea, creo

que está muy claro todo. De todas formas en la Web
de Nagios
(5) teneis todas las opciones de cada uno de los ficheros.
Pondré aqui solamente la parte
correspondiente al host router.

hosts.cfg

hostgroups.cfg

# ‘Router-ADSL’ host definition
define host{
use generic-host ; Name of host template to use
host_name router
alias Router ADSL Zyxel 650HW 512/128 kbps
address 192.168.1.1
check_command check-host-alive
max_check_attempts 3
notification_interval 120
notification_period 24×7
notification_options d,u,r
}

# ‘intranet’ host group definition
define hostgroup{
hostgroup_name intranet
alias Red Local
contact_groups admins
members router
}

contacts.cfg

contactgroups.cfg

# ‘admin’ contact definition
define contact{
contact_name admin
alias Admininistrador de Nagios
service_notification_period 24×7
host_notification_period 24×7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email root@localhost
}

# ‘admins’ contact group definition
define contactgroup{
contactgroup_name admins
alias Administradores
members admin
}

services.cfg

# Service definition

define service{

use generic-service ; Name of service template to use

host_name router

service_description PING

is_volatile 0

check_period 24×7

max_check_attempts 3

normal_check_interval 5

retry_check_interval 1

contact_groups admins

notification_interval 120

notification_period 24×7

notification_options c,r

check_command check_ping!100.0,20%!500.0,60%

}

dependencies.cfg

escalations.cfg

Comentamos ( de momento ) todas las lineas

Comentamos ( de momento ) todas las lineas

Los ficheros checkcommands.cfg ,
nagios.cfg, misccommands.cfg , timeperiods.cfg
los dejamos como
están. El resto de ficheros ya se han explicado.

8.-
Verificando y Arrancando Nagios

Como en el primer manual, para verificar si
tenemos los ficheros de configuración bien, deberemos ejecutar
este comando:
# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
, y tiene que mostrarnos 0
errores, y 0 warnings .

Para arrancar Nagios sin estar en modo
Daemon:
# /usr/local/nagios/bin/nagios
/usr/local/nagios/etc/nagios.cfg
// Util, nos va mostrando
errores 😉 . “No hace falta” mirar el syslog.

Cuidado! Si usamos esto, probablemente
tengamos problemas con el fichero /usr/local/nagios/var/status.log,
ya que lo crea con permisos de root, y deberemos cambiarlo: chown
nagios status.log. Pero esto no sucede si arrancamos el Daemon. Para
arrancar nagios, haremos:
# /etc/init.d/nagios start

10.-
Configuraciones Avanzadas

10.1- Notificaciones Sonoras
Simplemente tenemos que descomenar las lineas del fichero cgi.cfg referentes al sonido, y podremos escuchar desde un navegador que permita escuchar sonidos oir cuando un host ha caido, se ha recuperado etc ……….

host_unreachable_sound=hostdown.wav
host_down_sound=hostdown.wav
service_critical_sound=critical.wav
service_warning_sound=warning.wav
service_unknown_sound=warning.wav
normal_sound=noproblem.wav

10.2.-
Añadir Imagenes al statusmap

Para anadir las imagenes al statusmap ,
necesitamos tener los iconos en formato png,gd2,gif y jpg. para
ahorrarnos trabajo, en la Web de Nagios , en la seccion Download,
podemos encontrar varios paquetes con las imagenes preparadas y
listas para usar. Cuando los bajemos, descomprimimos el fichero , y
las imagenes las colocamos en /usr/local/nagios/share/images/logos/.
Existen 2 metodos distintos, nosotros vamos
a usar el metodo del template, mucho mas comodo y sencillo. EL
otro metodo seria añadir las imagenes al cgi.cfg
; no lo recomiendo, este es el antiguo metodo.
El siguiente paso sera especificar el
fichero en el cual va la configuracion Extra de cada host.

Para lo cual , deberemos añadir la siguiente linea al
fichero cgi.cfg:
xedtemplate_file_config=/usr/local/nagios/etc/hostextinfo.cfg
, este sera el fichero que usaremos para definir cada imagen a cada
host, y ademas, sera el que usemos para las coordenadas 2D y 3D.
Por ejemplo,la sintaxis para el fichero
hostextinfo.cfg, si quisieramos ponerle una imagen al host
router de nuestro ejemplo, seria:

define hostextinfo{
host_name router
icon_image switch40.jpg
icon_image_alt switch40.gif
statusmap_image switch40.gd2
}

Asi de simple es poner imagenes en el Status
Map. – Tal vez tengas que reiniciar Nagios la primera vez , para que
lea los cambios del cgi.cfg –
*Nota: Si estas usando los paquetes

pre-compilados de Debian, lo mas seguro sera que no te funcione esto.
Estuve semanas intentandolo, en maquinas distintas, configuraciones
distintas y metodos distintos, y no veo que existan bugs en
bugs.debian.org(7)
. Solucion: usa el Codigo Fuente

10.2.1-
Imagen de Fondo

Tal vez, tengamos a nuestras maquinas
monitorizadas, en diferentes habitaciones, lugares, ciudades , o
edificios diferentes, como el caso del wireless 😉 . ¿ No
creeis que sería interesante y llamativo, tener un Mapa de la
ciudad, con cada uno de los Hosts en SU lugar ? Llamativo, eh ? Pues
con Nagios podemos hacerlo, y personalizar aún más
nuestro statusmap.
En el fichero cgi.cfg deberemos poner
el nombre del fichero que va a formar la imagen de fondo ( background
) :
statusmap_background_image=ciudad.gd2
, el fichero debera ir en el directorio …/share/images/
Mucho cuidado, solamente podremos poner
imagenes en el formato GD2, para lo cual deberemos convertir las
imagenes desde PNG a GD2 con la herramienta pngtogd2. Para
convertir la imagen haremos:

# pngtogd2 /path/imagen.png
/usr/local/nagios/share/images/ciudad.gd2 1 1

– El 1 1 son parámetros FIJOS, no los
cambies o no te funcionará.
Asi de fácil 😀

10.3- Mapa 2D con

coordenadas 2D
Para personalizar la posición de
nuestros hosts en el Mapa 2D , debemos editar el fichero
hostextinfo.cfg y añadir en cada host , la siguiente linea :

2d_coords x,y
Donde X e Y son valores que tienen como
origen el punto superior izquierdo de un cuadrado. Un incremento de X
hace que se desplaze hacia la derecha en direccion horizontal , y un
incremento de Y hace que se desplaze en direccion vertical hacia
abajo.

10.4.-
Descripcion Extra-Html

Puede que para determinadas maquinas,
necesitemos tener una descripcion detallada de donde estan
fisicamente, el hardware instalado, el e-mail del administrador,
fotos de la maquina ………

Pues bien; eso lo podemos solucionar de una
forma muy facil. Para tenerlo todo ordenado, crearemos un directorio
dentro de …/nagios/share/ llamado htmlextras, y en el
colocaremos , bien ficheros de texto plano, o ficheros html con la
informacion que queramos tener.

Simplemente tenemos que anadir al fichero
hostextinfo.cfg la siguiente linea, encima o donde querais,
del host a definir: notes_url /nagios/htmlextras/servidor.html.
Para ver el efecto , debemos pinchas en
“Hosts – Details” , y luego en icono pequeño
de la derecha del host.

Un ejemplo cutre podria ser:

Ubicacion del
Servidor

Servidor Ubicacion:
Planta 3, Administracion
Tiempo Online: 24 Horas
Backup:
Cada 24 horas a las 00:00 horas
< img
src=”servidor1.jpg”>

10.5.- WAP
10.6.- Notificación con Voz :
Festival!

10.7.- Visualizar el Mapa 3D VRML
10.8.- Personalizar el Mapa 3D
10.9.- Configuracion Via Web ( Nagat )
# apt-get install nagat
Nos pregunta para que servidor web queremos

configurarlo, apache, apache-ssl Both , None , eljimos el que sea, en
mi caso Apache .

10.10.-
Traducción Web Nagios

Podemos traducir la
interfaz Web , en su totalidad. Lleva mucho tiempo tradicirlo, del
cual no poseo, pero os explico donde cambiarlo . Para cambiar el Menu
Web de Nagios, debereis editar el fichero html:
/usr/local/nagios/share/side.html

Para
cambiar los mensajes que salen en las páginas CGI, es algo más
trabajoso. Deberemos editar el código fuente de los CGI. Por
ejemplo, en el fichero /nagios-1.2/cgi/status.c ( código
fuente ) , la linea 247 contiene lo siguiente:
printf(“View
Host Status Detail For All Hosts
\n”,STATUS_CGI);

Donde
deberemos cambiar la parte en rojo. Asi en Todas las lineas (
demasiado trabajo para mi )

10.11.- Stylesheets
Podemos cambiar el aspecto de toda la Web de Nagios editando los ficheros de configuración .css que se ubican dentro del directorio /html/styleheets/ dentro del path de nagios. Podreis ver muchos ficheros, y cada uno de ellos cambiará una u otra parte del aspecto de la Web .
( Yo no programo en CSS , pero puedes cambiar las fuentes los tamaños los colores …….. de una forma muy fácil e intuitiva )

10.12.-
Notificación por “SMS” Gratuita !

En la web de
Nagios, se puede ver como enviar las notificaciones de los errores
mediante un servico – por supuesto – de pago a través de
“Short Message System” SMS . Yo os enseñare como
hacerlo de una forma totalmente gratuita 🙂
Como todos sabeis, las
companias de Teléfonos Moviles ponen a disposición del
cliente, una cuenta de correo asociada al telefono del usuario 😉
Entonces , si en nuestra cuenta de usuario, le ponemos que nos envien
una copia al movil de todos los correos recibidos, no seria mas o
menos como un “SMS” ??? :). La cuestión es sencilla:

Servidor
Nagios —-(envia notificacion a)——> [email protected]
——–> “SMS Gratuito a Tu Movil” !

10.12.1- Amena
Si tenemos un movil Amena, visitaremos
www.amena.com.es(8)
, y donde pone Registrate pinchamos y seguimos las
instrucciones. Deberemos marcar el 222 y llamar ( nos atiende una
maquina 😛 ) , y nos pedirá un password. A partir de ahi,
nuestra cuenta de correo será : [email protected] . Los
emails que recibamos a dicha cuenta, se nos re-enviaran a nuestro
teléfono móvil.

10.12.2-
Movistar

A dia de hoy aún no lo he podido
probar …………. pero me imagino que funciona de forma similar a
las demas compañias.

10.12.3-
Vodafone

Si tenemos un móvil Vodafone,
deberemos acudir a www.vodafone.es(9)
, y donde pone Vodafone Mail, pinchamos en Alta y
rellenamos los datos que nos pidan. Enviarán un código
de acceso a tu telefono móvil para poder acceder. A dia de
hoy, mi cuenta de correo era [email protected] , en lugar de
[email protected] como en otras compañias. Si entras en
la configuración del correo, verás que hay 2 métodos
para que te lleguen los SMS :
<1- Simplemente la Notificación
2-
Notificación + SUBJECT + CONTENIDO ( maximo 160 caracteres
total)

Para probarlo, simplemente has de enviar un
correo a la cuenta que has creado , y observar tu movil 😀 . No
suelen tardar mucho los mensajes. Varia entre menos de 1 minuto y
unos 10 minutos ( mas o menos ) .

10.12.14-
Cuidado !

Deberemos de tener muchos cuidado con la
configuración de las notificaciones de Nagios, ya que podremos
recibir decenas de SMS en nuestro móvil en escaso tiempo,
estais avisados 😉 . Yo recomendaria enviar únicamente las
notificaciones CRITICAS mediante este metido, es decir ; los HOSTS o
SERVICIOS prioritarios.>

10.13.-
Integración de Nagios en Portales CMS


10.13.1-
PostNuke

El objetivo que perseguimos es: Pinchar en
la opcion “Nagios” del Menú izquierdo de PostNuke, y
que al lado derecho se nos muestre la Web de Nagios 1.2 :D, en lugar
de salir en una Nueva Ventana o Pestaña. Esto lo podriamos
conseguir con bastante código php y html, que por cierto, no
he conseguido que funcionase; y también mediante la etiqueta
de HTML: < IFRAME >, que será lo que usemos para
conseguir ese efecto de “integración”.
Veamos
cuales son los pasos a seguir :
1- Creamos /modules/nagios/ ( dentro
del path de PostNuke )
2- Creamos el fichero index.php
dentro del directorio con el siguiente contenido:

< ?php
if (!defined(“LOADED_AS_MODULE”))
{
die
(“Este modulo no esta activo”);
}
$modname =
basename( dirname( __FILE__ )
);
pnModDBInfoLoad($modname);
function
index(){
include(“header.php”);
OpenTable();
echo”< IFRAME
SRC=\”/nagios/index.html\” WIDTH=\”940\”
HEIGHT=\”750\”>”; // cambia la ubicacion de tu
index.html
echo””;
CloseTable();
include(“footer.php”);
}
if(empty($req))

{
$req = “”;
}
switch($req)
{
default:
index();
}
?>

3-Entramos en Administración

—-> Módulos —-> Regenerar ; e Inicializamos y
Activamos el módulo nagios
4-Si queremos que
nos salga un link en el menú de la izquierda, tenemos que ir a
Bloques —>Editar Menú Principal —> y añadimos
, en title Nagios 1.2 , y en URL , pondremos [nagios]
5-Ahora
desde el Link podremos ver y administrar Nagios !!!
6-El
Link exacto, por si tienes problemas seria
http://server/modules.php?op=modload&name=nagios&file=index
Si queremos que quede un poco mas
“pro”fesional, podemos poner en el menú de PostNuke,
mas enlaces a los CGIs de Nagios, y quitarlos del side.html de
Nagios. Con esto conseguimos tener los enlaces a – por ejemplo –
statusmap.cgi en el menú de PostNuke, en lugar de la web de
Nagios.
*Nota: El Valor 750 del IFRAME,
cambialo para ajustarlo a tu resolución de monitor, y a tu
web. Yo personalmente, lo tengo para hacer el manual a 750. Mi
monitor son 17” a 1152×864 , y el valor de 750 es lo justo para que
en la parte inferior – con el navegador maximizado – el IFRAME no
aparezca la incomoza barra horizontal de desplazamiento. Debes

ajustar esos 2 valores. Funciona Con Opera, Mozilla , Galeon ,
Netscape Navigator , Firefox y me imaqino que con IE también
xD.

10.13.2-
PhpNuke

La forma de presentación en PhpNuke
será de la misma forma que en PostNuke. Crearemos un IFRAME
a la derecha, y un enlace en el menú principal. Primero
crearemos el directorio …./modules/Nagios y crearemos un
fichero index.php con el siguiente contenido:

< ?php

if (!eregi(“modules.php”, $_SERVER[‘PHP_SELF’]))
{
die (“You can’t access this file
directly…”);
}
require_once(“mainfile.php”);
$module_name
= basename(dirname(__FILE__));
include(“header.php”);

OpenTable();
echo “< IFRAME
SRC=\”/nagios/index.html\” WIDTH=\”940\”
HEIGHT=\”750\”>”; // cambia la ubicacion de tu
index.html
echo “< IFRAME>”;
CloseTable();

include(“footer.php”);
?>

Una vez hecho esto, vamos al Panel de
Administración de PhpNuke, elejimos Módulos , y
activamos el módulo de nombre Nagios. Veremos , en el
menú principal, un nuevo enlace a Nagios.

10.13.3-
Xoops

Para integrarlo en Xoops, necesitamos 3
ficheros en lugar de uno como en PostNuke y Php-Nuke. Primero creamos
el directorio …./modules/Nagios/, en el cual irán 3
ficheros php , cada uno con el contenido que se describe a
continuación:
header.php

< ?php
include “../../mainfile.php”;
?>

index.php

include “header.php”;
if($xoopsConfig[‘startpage’] ==
“Nagios”){
$xoopsOption[‘show_rblock’] =1;
include
XOOPS_ROOT_PATH.”/header.php”;
make_cblock();
}else{
$xoopsOption[‘show_rblock’]
=0;
include XOOPS_ROOT_PATH.”/header.php”;
}
echo “< div align=center>”;
echo “< IFRAME
SRC=\”/nagios/index.html\” WIDTH=\”940\”
HEIGHT=\”750\”>”;
echo “/IFRAME>”;
include XOOPS_ROOT_PATH.”/footer.php”;
?>

xoops_versions.php

$modversion[‘name’] = “Nagios”;
$modversion[‘version’]
= 1;
$modversion[‘description’] = “Integracion de Nagios
en XOOPS”;
$modversion[‘license’] =
“GPL”;
$modversion[‘official’] =

0;
$modversion[‘dirname’] = “Nagios”;
// Menu
$modversion[‘hasMain’] = 1;
$modversion[‘hasAdmin’]
= 0;
?>

Luego simplemente tendremos que ir a la
sección de módulos, dentro del menú de
Administración, y darle a Activar el nuevo módulo
“Nagios”. A la izquierda, en el menu principal saldrá
el nuevo enlace. Fácil !

LA SEGUNDA PARTE EN BREVES DIAS 🙂

Manual Original en : www.linuxzamora.org(10)


Acerca del Autor

Contacto
Nombre: Raul Prieto
Fernandez
E-mail : acidrain
(arroba) linuxzamora.org
(11)
WWW:
www.linuxzamora.org(6)
Lista de enlaces de este artículo:

  • http://www.linuxzamora.org/modules.php?op=modload&amp;amp;amp;amp;amp;amp;am
  • http://apan.sourceforge.net/
  • http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
  • http://people.ee.ethz.ch/~oetiker/webtools/mrtg/
  • http://www.nagios.org/
  • http://www.linuxzamora.org/
  • http://bugs.debian.org/
  • http://www.amena.com/
  • http://www.vodafone.es/
  • http://www.linuxzamora.org
  • mailto:[email protected]
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2144 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.