jueves, 28 de octubre de 2010
Problema unrar en Debian Etch\Lenny
La solucion pasa por editar el fichero /etc/apt/sources.list y agregar el parámetro non-free a la rama principal de actualizacion de Debian, quedando así:
deb http://ftp.es.debian.org/debian/ lenny main non-free
:wq!
$ apt-get update
$ apt-get install unrar
Matadragones:/home/rayika/# apt-cache show unrar|grep Section
Section: non-free/utils
miércoles, 30 de septiembre de 2009
Setting UP Creative WebCam NX Pro 2
$ lsusb
Bus 005 Device 004: ID 059b:0370 Iomega Corp.
Bus 005 Device 003: ID 152e:2507 LG (HLDS)
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 003: ID 041e:403a Creative Technology, Ltd WebCam NX Pro 2
Google dork : Ltd WebCam NX Pro 2
spca5xx es el driver que nos va a hacer falta.
apt-get install build-essentials module-assistant gspca-modules-2.6.26-2-686 y gspca-source
Los dos primeros paquetes nos permiten dotar al sistema de todo lo necesario para poder compilar y module-assistant nos lo prepara e instala.
Una vez hecho esto:
$ m-a prepare
$ m-a a-i gspca-modules-2.6.26-2-686
$ m-a a-i gspca-source
$ ldconfig
Ahora ya podemos probar cualquier soft como camorama o directamente a través de aMsn. Para poder usarla correctamente deberemos abrir los siguientes puertos:
| MSN Messenger | 6891 | 6901 | TCP | 6891 | 6901 | 192.168.1.80 | |
| MSN Messenger | 1863 | 1963 | TCP | 1863 | 1963 | 192.168.1.80 | |
| MSN Messenger | 1863 | 1863 | UDP | 1863 | 1863 | 192.168.1.80 | |
| MSN Messenger | 5190 | 5190 | UDP | 5190 | 5190 | 192.168.1.80 | |
| MSN Messenger | 6901 | 6901 | UDP | 6901 | 6901 | 192.168.1.80 |
martes, 25 de noviembre de 2008
Setting Up DHCP Server SuSE
option domain-name-servers 192.168.4.2, 192.168.2.1;
option nis-domain "tuto.edu";
option nis-servers 192.168.4.4;
option lpr-servers 192.168.4.3;
ddns-updates on;
ddns-update-style interim;
ignore client-updates;
#ddns-domainname "tuto.edu";
#ddns-rev-domainname "in-addr.arpa";
subnet 192.168.1.0 netmask 255.255.255.0 {COMENTARIOS SOBRE LAS ENTRADAS
range 192.168.1.100 192.168.1.150;
zone multiusos.tuto.edu. {primary 192.168.4.2; }
zone 1.168.192.in-addr.arpa. {primary 192.168.4.2; }
option domain-name "multiusos.tuto.edu";
option routers 192.168.1.1;
default-lease-time 14400;
max-lease-time 172800;
ddns-domainname "multiusos.tuto.edu";
ddns-rev-domainname "multiusos.tuto.edu"; }
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.190;
zone alumnos.tuto.edu. {primary 192.168.4.2;}
zone 2.168.192.in-addr.arpa. {primary 192.168.4.2;}
option domain-name "alumnos.tuto.edu";
option routers 192.168.2.1;
default-lease-time 14400;
max-lease-time 172800;
ddns-domainname "alumnos.tuto.edu";
ddns-rev-domainname "alumnos.tuto.edu
Veamos en primer lugar estas cuatro primera líneas:
option domain-name-servers 192.168.4.2, 192.168.2.1;
option nis-domain "tuto.edu";
option nis-servers 192.168.4.4;
option lpr-servers 192.168.4.3;
Se está indicando, según la línea lo siguiente: las direcciones de los servidorde impresión. Estas opciones son generales y comunes para todas las redes.
Continuando con la lectura del fichero aparece:
ddns-updates on;
ddns-update-style interim;
ignore client-updates;
Si se desea que se actualicen los ficheros de zona del DNS cuando a una red se le estén asignando direcciones de red dinámicas, de tal manera que los equipos del dominio y sus direcciones IP concuerden con su nombre máquina la opción ddns-updates debe de estar a on.
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.150;
zone multiusos.tuto.edu. {primary 192.168.4.2; }
zone 1.168.192.in-addr.arpa. {primary 192.168.4.2; }
option domain-name "multiusos.tuto.edu";
option routers 192.168.1.1;
default-lease-time 14400;
max-lease-time 172800;
ddns-domainname "multiusos.tuto.edu";
ddns-rev-domainname "multiusos.tuto.edu";
}
En primer lugar se especifica usando subnet y netmask, la red que va a ser despachada con direcciones IP. De entre todas las posibles direcciones IP se elige a través de un rango cuales son las que las máquinas van a poder adquirir dinámicamente. No estaríamos configurando bien el fichero si no asociáramos las zonas creadas en la configuración del DNS con la red 192.168.1.1,
en este caso. Para especificar el dominio predeterminado de la red usamos option domain-name. Los paquetes de datos que no pueden ser entregados en la red local porque su dirección IP así lo determina serán enviados a donde lo indique option routers. Importantes son las palabras
clave ddns-domainname y ddns-rev-domainname, pues sin ellas sería imposible la actualización en el servidor DNS ya que indican sobre que dominio se debe configurar de forma dinámica, tanto en su versión directa como inversa.
ROUTERS COMO RELÉ
Que un router haga de relé significa que cuando un servidor DHCP intenta "repartir" direcciones a otras computadoras que están en una red distinta a la del propio servidor, se permita que los paquetes relacionados con esto puedan "pasar" por el router del que estamos hablando, y esas direcciones sean asignadas.
Para que un router también sea relé es obligatorio instalar un paquete en concreto (dhcp-relay),
además de realizar otras operaciones; estas son modificaciones en los ficheros que son enumerados a continuación.
/etc/sysconfig/dhcrelay
CONTENIDO DEL FICHERO
DHCRELAY_INTERFACES="eth0 eth1"
## Type: string
## Default: ""
## ServiceRestart: dhcrelay
#
# DHCP servers to be used by DHCP relay agent
# (separated by spaces, e.g. "192.168.0.11 191.168.0.12")
#
DHCRELAY_SERVERS="192.168.4.1"
## Type: string
## Default: ""
## ServiceRestart: dhcrelay
#
# Additional options
# Example: "-c 8"
#
DHCRELAY_OPTIONS=""
COMENTARIOS SOBRE LAS ENTRADAS
Hay que "meter" las interfaces donde se quiere que escuche el relé DHCP y la/s IP/s de los servidores DHCP, si no haces esto, puedes arrancar el relé directamente ejecutando /usr/sbin/dhcrelay, pero el script de /etc/init.d no funciona.
/proc/sys/net/ipv4/ip_forward ó /etc/sysconfig/sysctl
Podemos hacer dos cosas, o editamos cada vez que sea necesario el primer fichero escribiendo un '1' o hacemos lo que en el apartado del /etc/sysconfig/sysctl se comenta.
COMENTARIOS SOBRE LAS ENTRADAS
Poner el forwarding a 1 con la instrucción:
echo 1 > /proc/sys/net/ipv4/ip_forward
CONTENIDO DEL FICHERO /etc/sysconfig/sysctl
IP_DYNIP="no"
IP_TCP_SYNCOOKIES="yes"
IP_FORWARD="yes"
IPV6_FORWARD="no"
IPV6_PRIVACY=no
DISABLE_ECN="yes"
ENABLE_SYSRQ="no"
COMENTARIOS SOBRE LAS ENTRADAS
Poner IP_FORWARD="yes" para que en el inicio el fichero del apartado anterior tenga siempre puesto por defecto
un uno.
lunes, 24 de noviembre de 2008
Setting Up SNMP y Nagios
Para instalar y configurar el SERVIDOR snmpd en Debian Etch hay que instalar los siguientes paquetes:
snmpd,snmp,tkmib ( browser gtk de OID´s )
Después, los ficheros y directorios a tener en cuenta son:
/etc/snmp/snmpd.conf
/etc/default/snmpd
/usr/share/snmp/mibs/.index
/usr/share/snmp/mibs/
Metemos el servicio snmpd para que arranque automaticamente cada vez que arrancamos la máquina:
$ update-rc.d snmpd defaults
Para /etc/snmp/snmpd.conf la configuración utilizada es la siguiente:
# Listas de control de acceso (ACL)
## sec.name source community (alias clave de acceso)
com2sec local 127.0.0.1/32 public
com2sec localnet
192.168.1.0/24 public
#Se asigna ACL al grupo de lectura escritura
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
#Se asigna ACL al grupo de solo lectura
group MyROGroup v1 localnet
group MyROGroup v2c localnet
group MyROGroup usm localnet
# Ramas MIB que se permiten ver
## name incl/excl subtree mask(optional)
view all included .1 80
# Establece permisos de lectura y escritura
## group context sec.model sec.level prefix read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all all
# Información de Contacto del Sistema
syslocation neosistec
syscontact admin@migato.miperro.net
$ /etc/init.d/snmpd restart
Si todo ha funcionado,lo cual es improbable,deberías poder hacer consultas a la interfaz localhost de la siguiente manera:
$ snmpwalk localhost -c public -v2c system
Se debería mostrar la siguiente información ( sólo una pequeña muestra ):
SNMPv2-MIB::sysDescr.0 = STRING: Linux debian 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (1470573) 4:05:
05.73
SNMPv2-MIB::sysContact.0 = STRING: Unknown
SNMPv2-MIB::sysName.0 = STRING: debian
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1
= OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
Si recibimos un mensaje de error similar al siguiente:
system: Unknown Object Identifier (Sub-id not found: (top) -> system) ( entre otros )
O parecido a:
Cannot find module (IP-MIB): At line 0 in (none) ( entre otros )
Eso es debido a que el sistema no puede encontrar la ubicacion de las MIB,para verificar donde se encuentran usar el siguiente comando:
$ snmpwalk -Dparse-mibs -v 1 -c private 127.0.0.1 system
Este comando nos indicará donde está buscando las MIBs,con lo cual podemos verificar si las ha encontrado correctamente (son ficheros .txt),de lo contrario debemos copiar los ficheros que se encuentran en /usr/share/snmp/mibs/ a los directorios en los que busca.
Existe un error en el paquete snmpd de Debian Etch documentado,por el cual el sistema no genera por sí solo el fichero .index en el directorio donde se guardan las MIB,verificamos que está vacío o lo creamos,posicionandonos en los directorios en los cuales snmp busca los ficheros:
$ for i in *.txt; do echo $(basename $i .txt) $i>>.index; done
Una vez hecho esto volvemos a ejecutar:
$ snmpwalk -Dparse-mibs -v 1 -c private 127.0.0.1 system
Si todo ha ido correctamente cargará las MIBs y nos dirá index ok o similar
Volvemos a ejecutar:
$ snmpwalk localhost -c public -v2c system
Si todo ha funcionado debe salir la información por pantalla correctamente. Eso en cuanto a la configuración local del servidor.
Para monitorizar los clientes debemos seguir los mismos pasos descritos anteriormente, además, ejecutando:
$ netstat -a|grep snmp
Podemos ver como sólo escucha por la interfaz de localhost,con lo cual si ejecutamos snmpwalk atacando a una máquina remota que cumpla las características de los ficheros de configuración obtendremos "Timeout response from 192.xxx.xx.x". Esto se corrige editando en el fichero /etc/default/snmpd la siguiente linea:
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid localhost'
Se cambia a:
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
Ahora volvemos a verificar:
$ netstat -a|grep snmp
udp 0 0 *:snmp *:*
Ya escucha por todas las interfaces
$ snmpwalk localhost -c public -v2c system
$ snmpwalk -v 2c 192.168.x.x -c public system
De ésta manera ya deberíamos poder ejecutar snmpwalk tanto localmente como a equipos remotos.No olvidar de reiniciar el servicio snmpd con cada nueva configuración.
Una vez que todo funcione correctamente y que se puedan hacer peticiones manuales desde la linea de comandos hay que implementarlo en los ficheros de nagios que son:
/usr/local/nagios/etc/commands.cfg
/usr/local/nagios/etc/services.cfg
define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -o $ARG1$
}
En éste ejemplo sólo funcionamos con dos argumentos,la ip del equipo remoto y -o para el OID que especifiquemos posteriormente en el services.cfg. Para peticiones snmp que requieran más argumentos sólo habrá que añadirlos en otra definicion similar a:
check_snmp -H $HOSTADDRESS$ -o $ARG1$ -c $ARG2$ ...
define service{
host_name pc-javi,pc-julio
service_description RAM IN MACHINE
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_snmp!.1.3.6.1.4.1.2021.4.5.0 # RAM IN OID MACHINE
}
Tan sólo habrá que especificar el OID,el cual podemos buscar los genéricos en:
http://www.debianadmin.com/linux-snmp-oids-for-cpumemory- and-disk-statistics.html
o de manera específica de algún dispositivo en concreto en:
http://www.mibdepot.com/cgi-bin/vendor_index.cgi?r=apache& id=103612
Setting Up Status Map Nagios
Primeramente, hay que hacer un testeo de si nuestra compilación de Nagios está diseñada con soporte gd2 para la correcta visualizacion de las imágenes,no se ha comprobado mediante la instalación desde los repositorios. Podemos hacernos una idea de que esto es así si entrando a nuestra interfaz web de Nagios y al pinchar en statusmap nos da un error 404 de página no encontrada o algo por el estilo, otra manerade comprobar que nuestra compilación tuvo problemas es haciendo un
$ locate statusmap.cgi || find / -name statusmap*Si no nos encuentra el primero y nos encuentra el statusmap.c es que no está compilado, de ser así para cerciorarnos nos dirigimos al source de nagios y ejecutamos un configure aver si todo fue bien. Si nos imprime que faltan librerias, las siguientes deberían estar instaladas en el sistema
debian:/usr/local/nagios/etc# dpkg -l|grep libgdii libgd-dev 1.8.4.debian-1 GD Graphics Lib rary (transitional package)
ii libgd-noxpm-dev 1.8.4.debian-1 GD Graphics Lib rary (old version, without XP ii libgd-tools 2.0.33-5.2 GD command line tools and example code
ii libgd1 1.8.4.debian-1 GD Graphics Lib rary (transitional package) ii libgd1-noxpm 1.8.4.debian-1 GD Graphics Lib rary (old version, without XP
ii libgd2-xpm 2.0.33-5.2 GD Graphics Lib rary version 2
ii libgda2-3 1.2.3-5 GNOME Data Acce ss library for GNOME2 ii libgda2-common 1.2.3-5 Common files fo r GNOME Data Access library f ii libgdbm3 1.8.3-3 GNU dbm databas
ii libpng12-0 1.2.15~beta5-1 PNG library - r untime
ii libpng12-dev 1.2.15~beta5-1 PNG library - d evelopment
ii libpng3 1.2.15~beta5-1 PNG library - r
ii libjpeg62 6b-13 The Independent JPEG Group's JPEG runtime library
ii libjpeg62-dev 6b-13 Development files for the IJG JPEG library
ii zlib1g 1.2.3-13 compression library - runtime
ii zlib1g-dev 1.2.3-13 compression library - development
Una vez instaladas:
$ make devclean && ./configure --with-gd-lib=/usr/lib --with-gd-inc=/usr/includeLos directorios pueden variar segun la distribución,/usr/local/lib y /usr/local/include pueden ser variantes
$ make all && make installPodemos fijarnos en que ahora irá compilando el statusmap.c en su momento :D
Después hay que editar el fichero /usr/local/nagios/etc/cgi.cfg y descomentar las lineas:
Con esto se indica que la imagen de background que hayamos elegido tiene que estar comprimida en formato gd2 para un uso menor de cpu en el directorio /usr/local/nagios/share/
La segunda linea referente al layout=3 indica de qué manera queremos visualizar los equipos,usar la que queramos, pero si se pone 0 querrá decir User-defined coordenates con lo que tendremos que establecer las coordenadas donde queremos que aparezcan en el fichero hostextinfo.cfg:
define hostextinfo{host_name pc-javi,pc-julio
# notes_url http://editar icon_image ultrapenguin.png icon_image_alt Linux Host vrml_image ultrapenguin.png statusmap_image ultrapenguin.gd2
# 2d_coords 100,250 # 3d_coords 100.0,50.0,75.0 } define hostextinfo{ host_name oficina-router
# notes_url http://editar icon_image switch40.png icon_image_alt Switch Ovislink vrml_image switch40.png statusmap_image switch40.gd2
# 2d_coords 100,250 # 3d_coords 100.0,50.0,75.0 }
Solamente quedaría editar este fichero intuitivo y reiniciar nagios :)
Setting Up Nagios & Fruity
Nagios es un proyecto de código libre que nos permite monitorizar a pequeña,media o gran escala equipos y servicios, y teniendo múltiples opciones de configuración a través de plugins o diversos protocolos,alertas via sms de poco espacio en disco, ping para saber si está up, memoria ram disponible y un largo etcétera, de tal manera que podemos saber algo que va a ocurrir, antes de que ocurra =)
Para más info www.nagios.org
Primeramente,hay que escoger el tipo de instalación de Nagios que vamos a realizar,compilado desde tarball o mediante los repositorios de Debian Etch,para el primer caso realizariamos lo siguiente:
Download Nagios 2.6 y plugins 1.4.4 en tarball de la pagina oficial Descomprimir Nagios,acceder al directorio:
Se crea un usuario y grupo de nombre nagios
$ groupadd nagios && useradd nagios -g nagios
Se agrega un grupo para ejecutar comandos nagios utilizando el grupo nagios:
$ usermod -G nagios (usuario-apache)*
El usuario apache se extrae de ps -aux|grep apache2 = www-data
Configure
./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmlurl=/nagios/ --with-nagios-user=nagios
--with-nagios-grp=nagios --with-command-grp=nagios
Compilar :
$ make all
Instalacion Binarios y archivos html :
$ make install
Instalar ejemplos de configuracion:
$ make install-config en /usr/local/nagios/etc/
Instala script de iniciacion:
$ make install-init
Todos los archivos de /usr/local/nagios deben pertenecer a usuario y grupo nagios:
$ chown -R nagios:nagios nagios
$ ls -sahl /usr/local/nagios
Configuracion del script creado para que se ejecue siempre al arranque:
$ update-rc.d nagios defaults
Configuracion permisos de algunos directorios:
$ make install-commandmode
Creacion de symlins de binarios para nuestro sistema:
$ ln -s /usr/local/nagios/bin/nagios /usr/sbin/nagios
$ ln -s /usr/local/nagios/bin/nagiostats /usr/bin/nagiostats
Instalacion de los plugins:
$ tar -zxvf nagios-plugins-1.4.4.tar.gz && cd nagios-1.4.4
Configuracion:
$ ./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin
Instalacion:
$ make && make install && make install-root
Creacion de interfaz web editando /etc/apache2/sites-available/
Creacion del archivo login/pass:
$htpasswd -c /usr/local/nagios/etc/htpasswd.users admin
$cat /usr/local/nagios/etc/htpasswd.users
Al haber ejecutado make install-config se nos crean ficheros sample de configuracion de nagios en /usr/local/nagios/etc/, debemos renombrarlos de fichero-sample.cfg a fichero.cfg,aun así,nos faltarán diversos ficheros que son los siguientes y que iremos creando a mano:
Fichero contactgroup.cfg
define contactgroup{
contactgroup_name admin
alias Nagios Administrators
members nagiosadmin
}
Fichero contacts.cfg
define contact{
contact_name nagiosadmin
alias Nagios Administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email root@localhost
}
Fichero hostgroups.cfg
define hostgroup{
hostgroup_name oficina
alias equipos_oficina
members pc-javi
}
Fichero hosts.cfg
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program r
notification_period 24x7 ; Send host notifications at any time
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLA
}
define host{
use generic-host ; Name of host template to use
host_name pc-javi
alias PC de Javi
address 192.168.1.110
check_command check-host-alive
max_check_attempts 20
contact_groups admin
notification_interval 60
notification_period 24x7
notification_options d,u,r
}
Fichero services.cfg
define service{
name generic-service ; The n ame of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling t
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service freshness
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program r
is_volatile 0 ; The service is not volatile
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEM
}
define service{
# use generic-service ; Name of service template to use
host_name pc-javi
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admin
notification_interval 240
notification_period 24x7
notification_options c,r
check_command check_ping!100.0,20%!500.0,60%
}
Fichero timeperiods.cfg
# This defines a timeperiod where all times are valid for checks,
# notifications, etc. The classic 24x7 support nightmare. : - )
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
# workhours timeperiod definition
define timeperiod{
timeperiod_name workhours
alias Normal Working Hours
monday 09:00-18:00
tuesday 09:00-18:00
wednesday 09:00-18:00
thursday 09:00-18:00
friday 09:00-18:00
saturday 10:00-13:00
}
# nonworkhours timeperiod definition
define timeperiod{
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,18:00-24:00
tuesday 00:00-09:00,18:00-24:00
wednesday 00:00-09:00,18:00-24:00
thursday 00:00-09:00,18:00-24:00
friday 00:00-09:00,18:00-24:00
saturday 00:00-10:00,13:00-24:00
}
# none timeperiod definition
define timeperiod{
timeperiod_name none
alias No Time Is A Good Time
}
Revisión de los ficheros de configuracion con:
$nagios -v /usr/local/etc/nagios.cfg
Total Warnings: 0
Total Errors: 0
Ahora solo debemos configurar apache para la autenticación de la siguiente manera editando el fichero /etc/apache2/sites-available/
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
nagios/">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
Alias /nagios /usr/local/nagios/share
nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
Reiniciar apache2:
$ /etc/init.d/apache2 restart
Ejecutar http://192.168.1.90/nagios :)
Para el segundo caso mediante repositorios Debian Etch:
nagios2
apache2
libapache2-mod-php5
php5-common
php5-mysql
phpmyadmin
mysql-common
mysql-client-5.0
mysql-server
Una vez instalados y si podemos acceder a través de http://ip_server/nagios2, ingresaremos nombre de usuario y contraseña que nos pidió en el momento de configuración del paquete
Hay que tener en cuenta que los directorios a los que apunta "
$ htpasswd -c /etc/nagios2/htpasswd.users admin
Aquí ingresaremos el password del usuario admin para el acceso a Nagios. Una vez hecho esto se puede reiniciar apache para que tengan efecto las configuraciones
$ /etc/init.d/apache2 restart
Si podemos acceder con nombre de usuario y contraseña a http://servidor/nagios2 todo ha ido correctamente Una vez instalado Nagios usaremos Fruity para la configuración del mismo, Fruity es simplemente un front-end que ¿¿facilita?? bastante la tarea de administracion de host,servicios,etc,lo bajamos con:
$ wget -c http://heanet.dl.sourceforge.net/sourceforge/fruity/fruity- 1.0-rc1.tar.gz
Descomprimimos fruity en /var/www/
$ tar -zxvf fruity-1.0-rc1.tar.gz && mv fruity-1.0-rc1.tar.gz fruity && cd fruity
Creamos un symlink del directorio logos a fruity ya que ambos usan los mismos:
$ ln -s /usr/local/nagios/share/images/logos/ ./logos
Se edita nuevamente el /etc/apache2/sites-available/
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Fruity Access"
AuthType Basic
AuthUserFile /var/www/fruity/htpasswd.users
Require valid-user
$ htpasswd -c /var/www/fruity/htpasswd.users fruity
Ahora nos dirigimos al directorio /var/www/fruity/includes a editar en el fichero config.inc las siguientes variables:
$sys_config['logos_path'] = '/var/www/fruity/logos';
$sitedb_config['host'] = 'localhost';
$sitedb_config['username'] = 'fruity';
$sitedb_config['password'] = 'password';
$sitedb_config['database'] = 'fruity';
$sitedb_config['dbserv'] = 'mysql';
Una vez hecho esto se crea la bdd y se dan los permisos oportunos:
$ mysql -u root -p
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 2 to server version: 5.1.6-alpha
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> SET PASSWORD FOR root@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.01 sec)
mysql> create database fruity;
Query OK, 1 row affected (0.00 sec)
mysql> grant INSERT,SELECT on root.* to fruity@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR fruity@localhost=PASSWORD('password');
Query OK, 0 rows affected (0.01 sec)
mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on fruity.* to fruity@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> grant CREATE,INSERT,SELECT,DELETE,UPDATE on fruity.* to fruity;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
Después de crear la bdd importamos la configuración de las tablas para dicha bdd:
$ mysql -u fruity -p <>
E insertamos el password que anteriormente hemos asignado a fruity Ya está todo preparado para empezar a utilizar Fruity+Nagios,en el camino me encontré con dos problemas,el primero al lanzar fruity desde el navegador me tiraba el siguiente error :Warning: mysql_pconnect() [function.mysql-pconnect]: Lost connection to MySQL server at 'reading initial communication packet',
system error: 111 in /var/www/fruity/includes/adodb/drivers/adodb-mysql.inc. php
on line 372
Unable to connect to database. Please check your configuration.
Este problema se corrige comentando la linea 47 del fichero /etc/mysql/my.cnf:#bind-address = 127.0.0.1Se guarda el fichero,se levanta de nuevo mysql y listo. El segundo problema con el que me encontre fue una vez hechas las configuraciones anteriores y al acceder a http://servidor/fruity me saltó el siguiente error :
Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user 'root'@'localhost'
(using password: NO) in /var/www/fruity/includes/adodb/drivers/adodb-mysql.inc. php on line 372
Unable to connect to database. Please check your configuration.Ésto es debido a que no se puede acceder a la BDD con el usuario root aunque tenga permisos,se soluciona editando de nuevo el fichero /var/www/fruity/includes/
config.inc y cambiar la directiva username que por defecto es root al usuario fruity que habíamos creado. Se reinicia mysql y a correr.
$sitedb_config['host'] = 'localhost';
$sitedb_config['username'] = 'fruity';
$sitedb_config['password'] = 'password';
$sitedb_config['database'] = 'fruity';