miércoles, 16 de enero de 2013

Nrpe en Freenas 8.3



Hola a todos, hoy les traigo una nueva receta, como instalar nrpe en freenas 8.3.

Elementos necesarios:

1 instalacion de Nagios (www.nagios.org)
1 Freenas 8.3 (www.freenas.org)
1 teclado o 1 cliente ssh para poder hacerlo

Como primer medida para poder trabajar en Freenas hay que montar el disco en modo lectura, para esto loguearse al equipo en cuestion y ejecutar

mount -uw /
Luego hay que bajar unos cuantos paquetes que pondremos en el /tmp, puede ser otra carpeta si asi les guste

cd /tmp
fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/perl-5.12.4_4.tbz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/libiconv-1.13.1_2.tbz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/gettext-0.18.1.1.tbz
fecth ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/nagios-plugins-1.4.15_1,1.tbz
fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/packages-8.3-release/All/nrpe-2.13.tbz
 
Una vez bajado todo hay que instalar.....

pkg_add perl-5.12.4_4.tbz
pkg_add libiconv-1.13.1_2.tbz
pkg_add gettext-0.18.1.1.tbz
pkg_add nagios-plugins-1.4.15_1,1.tbz
pkg_add nrpe-2.13.tbz
rm perl-5.12.4_4.tbz
Borro archivos...

rm perl-5.12.4_4.tbz
rm libiconv-1.13.1_1.tbz
rm gettext-0.18.1.1.tbz
rm nagios-plugins-1.4.15_1,1.tbz
rm nrpe-2.12_3.tbz
Para poder monitorear zfs existe un comando para nagios llamado check_zpool, bajarlo de ESTE LINK y copiarlo en /usr/local/libexec/nagios y aplicar permisos sobre este check y el de memoria ya que no tienen permiso de ejecucion

chmod 755 /usr/local/libexec/nagios/check_zpool /usr/local/libexec/nagios/check_mem
Agregar la siguiente linea a /conf/base/etc/rc.conf (para que inicie con el equipo)
 nrpe2_enable="YES"
Ahora crear el archivo /conf/base/etc/rc.d/nrpe2 conteniendo lo siguiente:

#!/bin/sh
#
# $FreeBSD: ports/net-mgmt/nrpe2/files/nrpe2.in,v 1.5 2010/03/27 00:14:26 dougb Exp $
#
# PROVIDE: nrpe2
# REQUIRE: NETWORKING
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable nrpe2:
# nrpe2_enable (bool): Set to "NO" by default.
# Set it to "YES" to enable nrpe2.
# nrpe2_flags (str): Set to "" by default.
# nrpe2_configfile (str): Set to "/usr/local/etc/nrpe.cfg" by default.
# nrpe2_pidfile (str): Set to "/var/spool/nagios/nrpe2.pid" by default.
#
. /etc/rc.subr
name="nrpe2"
rcvar=`set_rcvar`
command="/usr/local/sbin/nrpe2"
command_args="-d"
extra_commands="reload"
sig_reload=HUP
[ -z "${nrpe2_enable}" ] && nrpe2_enable="NO"
[ -z "${nrpe2_configfile}" ] && nrpe2_configfile="/conf/base/etc/nrpe.cfg"
[ -z "${nrpe2_pidfile}" ] && nrpe2_pidfile="/var/spool/nagios/nrpe2.pid"
load_rc_config "${name}"
pidfile="${nrpe2_pidfile}"
required_files="${nrpe2_configfile}"
command_args="${command_args} -c ${nrpe2_configfile}"
run_rc_command "$1"
Aplico permisos...

chmod 755 /conf/base/etc/rc.d/nrpe2
y finalmente el archivo de configuracion de nagios y sus comandos llamado /conf/base/etc/nrpe.cfg

Ahi va un ejemplo

log_facility=daemon
pid_file=/var/spool/nagios/nrpe2.pid
server_port=5666 (en este puerto escucha el demonio nagios)
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=tu.ip.de.nagios
dont_blame_nrpe=0
debug=0
command_timeout=60
connection_timeout=300
command[check_load]=/usr/local/libexec/nagios/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/libexec/nagios/check_disk -w 20% -c 10% -p /punto/de/mon/taje
command[check_zpool]=/usr/local/libexec/nagios/check_zpool
command[check_mem]=/usr/local/libexec/nagios/check_mem -u -w 80 -c 90
Ahora para iniciar, ejecutar

service nrpe2 start

Y listo!
Hasta la proxima