Nagios + openldap auth + apache 2.4

Esta vez, vamos a integrar la authenticación de usuarios de nuestro nagios con nuestro openLDAP.

Primero de todo, habilitamos los módulos ldap / authnz_ldap

a2enmod authnz_ldap
a2enmod ldap

Modificamos el fichero de sites del nagios:

#nano /etc/apache2/sites-available/nagios.conf

Y lo dejamos tal que:

# SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER
#
# This file contains examples of entries that need
# to be incorporated into your Apache web server
# configuration file. Customize the paths, etc. as
# needed to fit your system.

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


# SSLRequireSSL
Options ExecCGI
AllowOverride None
"<"IfVersion >= 2.3>

AuthType Basic
Require all granted
AuthName "Nagios Access"
AuthLDAPURL "ldap://ldap.miserver.local/dc=miserver,dc=local?uid?sub?(objectClass=*)"
AuthBasicprovider ldap
AuthUserFile /dev/null
Require valid-user


"<"IfVersion < 2.3>
Order allow,deny
Allow from all
AuthType Basic
Require all granted
AuthName "Nagios Access"
AuthLDAPURL ldap://ldap.miserver.local/dc=miserver,dc=local?uid?sub?(objectClass=*)
AuthBasicprovider ldap
AuthUserFile /dev/null
Require valid-user


Alias /nagios "/usr/local/nagios/share"


# SSLRequireSSL
Options None
AllowOverride None
"<"IfVersion >= 2.3>

AuthType Basic
Require all granted
AuthName "Nagios Access"
AuthLDAPURL ldap://ldap.miserver.local/dc=miserver,dc=local?uid?sub?(objectClass=*)
AuthBasicprovider ldap
AuthUserFile /dev/null
Require valid-user



"<"IfVersion < 2.3>
Order allow,deny
Allow from all
AuthType Basic
Require all granted
AuthName "Nagios Access"
AuthLDAPURL ldap://ldap.miserver.local/dc=miserver,dc=local?uid?sub?(objectClass=*)
AuthBasicprovider ldap
AuthUserFile /dev/null
Require valid-user



Ahora modificamos el nagios para que acepte los usuarios:

/
#nano /usr/local/nagios/etc/cgi.cfg

Y dejamos las siguientes líneas así:


authorized_for_system_information=*
authorized_for_configuration_information=*
authorized_for_system_commands=*
authorized_for_all_services=*
authorized_for_all_hosts=*
authorized_for_all_service_commands=*
authorized_for_all_host_commands=*

Reiniciamos apache + nagios y a probar !!!!!!!!

Error “Disallowed key characters in global data.” pnp4nagios

Esta vez, instalando el pnp4nagios en un debian 8, me encontré este error a la hora de visualizar las graficas del nagios:

“Disallowed key characters in global data.”

tras googlear un rato y mirar las coockies / buscar la función, encontré el error en el fichero:

/usr/local/pnp4nagios/lib/kohana/system/libraries/Input.php


public function clean_input_keys($str)
{
$chars = PCRE_UNICODE_PROPERTIES ? '\pL' : 'a-zA-Z';
if ( ! preg_match('#^['.$chars.'0-9:_.\-/@]++$#uD', $str))
{
exit('Disallowed key characters in global data.');
}

return $str;
}

Hemos de dejar la línea donde se mirar los carácteres especiales, tal cual.

Añadir usuarios nagios

Otra entrada que es un pequeño apunte.

Recientemente, para un proyecto que estoy haciendo, necesitaba tener un usuario en el nagios que pudiese ver determinados hosts…. no todos…. no me interesan que vean el estado de mis máquinas o otras cosas.

Bien, tras leer varios manuales y hacer bastantes pruebas, aquí está la solución:

Primero de todo, en el fichero contacts.cfg, añadimos el user y el group:


define contact{
contact_name usuario2
use generic-contact
alias Nagios usuario2
email usuario2@email.com
service_notifications_enabled 1
host_notifications_enabled 1
service_notification_period 24x7
host_notification_period 24x7
service_notification_options c,w,r
host_notification_options d,u,r
}

define contactgroup{
contactgroup_name usuarios2Admins
alias Grupo usuarios 2
members usuario2
}

Ahora en los objetos que nos haga falta que puedan consultar….

define host {
use generic-router
host_name dispositivoX
alias dispositivoX
contact_groups usuarios2Admins
address ip.del.dispositivo.2
icon_image router.gif
statusmap_image router.gd2
hostgroups rLan
}

define service{
use generic-service
host_name dispositivoX
contact_groups nagiosadmin,usuarios2Admins
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 4
retry_check_interval 3
max_check_attempts 4
notification_interval 1
notifications_enabled 1
}

Y ahora, que sea sólo lectura 😉

en el fichero cgi.cfg de nuestro nagios:

# READ-ONLY USERS
# A comma-delimited list of usernames that have read-only rights in
# the CGIs. This will block any service or host commands normally shown
# on the extinfo CGI pages. It will also block comments from being shown
# to read-only users.

authorized_for_read_only=usuario2

Y por último, añadimos el user para auth en el webinterface:

# htpasswd2 -c /usr/local/nagios/etc/htpasswd.users usuario2

Esto añade usuario2 y le ponemos el password.

Y con estos sencillos pasos, ya tenemos listo el nuevo user 😉

Habilitar / Deshabilitar notificaciones del nagios

Otra entrada que es un apunte.

Ya tengo varios nagios corriendo en clientes y en alguna ocasión (cuando cae todo), es mejor deshabilitar las notificaciones….. ya sabemos que está todo caído y que se queden en cola no es lo óptimo.

Para ello, en un pc con el curl instalado (apt-get install curl), copy&pasteamos los siguientes comandos:

Para deshabilitar:

curl -d “cmd_mod=2&cmd_typ=11” “http://ip.srv.nagios/cgi-bin/nagios/cmd.cgi” -u “user:password”

Para volverlas a habilitar:

curl -d “cmd_mod=2&cmd_typ=12” “http://ip.srv.nagios/cgi-bin/nagios/cmd.cgi” -u “user:password”

Enjoy 🙂

Instalando nagios 3 en Debian 6

Otro apunte, para instalar nagios3 en una Debian.

Primero, instalamos unas dependencias básicas:


#aptitude install build-essential gcc libgd2-xpm-dev libglib2.0-dev apache2

Creeamos usuario y grupo:


# /usr/sbin/useradd nagios
# passwd nagios
# /usr/sbin/groupadd nagcmd
#/usr/sbin/usermod -G nagcmd nagios
# /usr/sbin/usermod -G nagcmd www-data

Ahora instalamos unas dependencias básicas:


root@nagios:~# apt-get install apache2 mc libapache2-mod-php5 php5-cli php5-common php5-cgi php5-gd
root@nagios:~# aptitude install build-essential gcc libgd2-xpm-dev libglib2.0-dev apache2
root@nagios:~# apt-get install php5-cli php5-common php5-gd
root@nagios:~# apt-get install libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev
root@nagios:~# apt-get install php5-cli php5-common php5-gd php-pear
root@nagios:~# apt-get install ssh apache2 libapache2-mod-php5 php5-cli php5-common php5-cgi php5-gd -qy bison flex libncurses5-dev zlib1g-dev libssl-dev libnewt-dev libiksemel-dev -qy make linux-headers-`uname -r` gcc g++ libstdc++6 mysql-client mysql-server phpmyadmin linux-headers-`uname -r` bison openssl libssl-dev libeditline0 libeditline-dev libedit-dev gcc make g++ php5-cli mysql-common libmysqlclient15-dev libnewt-dev libmysqlclient15-dev libnewt-dev

Y reiniciamos apache2:


root@nagios:~# /etc/init.d/apache2 restart

Y seguimos añadiendo usuarios y grupos :


root@nagios:~# /usr/sbin/useradd nagios
root@nagios:~# passwd nagios
root@nagios:~# /usr/sbin/groupadd nagcmd
root@nagios:~# /usr/sbin/usermod -G nagcmd nagios
root@nagios:~# /usr/sbin/usermod -G nagcmd www-data

Ahora descargamos el nagios en /usr/src y creamos un directorio para ello y lo descomprimimos:


root@nagios:~# cd /usr/src/
root@nagios:~# mkdir nagios
root@nagios:~# cd nagios/
root@nagios:~# wget -c http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.4.1/nagios-3.4.1.tar.gz/download
root@nagios:~# tar -zxvf nagios-3.4.1.tar.gz
root@nagios:~# wget -c http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download
root@nagios:~# tar -zxvf nagios-plugins-1.4.15.tar.gz

Y ahora a compilar:


root@nagios:/usr/src/nagios# ./configure --with-command-group=nagcmd
root@nagios:/usr/src/nagios# make all
root@nagios:/usr/src/nagios# make install
root@nagios:/usr/src/nagios# make install-init
root@nagios:/usr/src/nagios# make install-config
root@nagios:/usr/src/nagios# make install-commandmode
root@nagios:/usr/src/nagios# make install-webconf

Creamos el usuario para el acceso web:


root@nagios:/usr/src/nagios# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Y ahora toca el nagios-plugins


root@nagios:/usr/src/nagios# cd nagios-plugins-1.4.15/
root@nagios:/usr/src/nagios/nagios-plugins-1.4.15# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
root@nagios:/usr/src/nagios# make
root@nagios:/usr/src/nagios# make install

Ahora instalamos la parte para que envíe las notificaciones:


root@nagios:/usr/local/nagios/share# apt-get remove exim4 exim4-config
root@nagios:/usr/local/nagios/share# apt-get install postfix postfix-doc

Y configuramos el main.cf de postfix, tal que:


myhostname = nagios.dominio.local
mydomain = dominio.local
myorgin = $mydomain
masquerade_domain = $mydomain
mydestination = $myhostname, localhost.$mydomain, $mydomain
mynetwork_style = host
##########################################################
mynetworks = 192.168.0.0/16
relay_domains = dominio.local
transport_maps = hash:/etc/postfix/transport

bounce_notice_recipient = email@dominio.com
delay_notice_recipient = email@dominio.com
2bounce_notice_recipient = email@dominio.com
error_notice_recipient = email@dominio.com
default_destination_concurrency_limit = 10
smtpd_recipient_limit = 100
maximal_queue_lifetime = 1d
fallback_relay =
smtp_destination_recipient_limit = 200
smtp_destination_concurrency_limit = 10
message_size_limit = 5240000
append_at_myorigin = yes
append_dot_mydomain = no
swap_bangpath = no

Y reiniciamos postfix:


root@nagios:/etc/postfix# /etc/init.d/postfix restart
Stopping Postfix Mail Transport Agent: postfix.
Starting Postfix Mail Transport Agent: postfix.
root@nagios:/etc/postfix#

Y ahora toca configurar plugins y resto de cosillas.

Enjoy your nagios 🙂

Backup Exec + Nagios; monitorizar las copias. Parte 2

Primero editamos el fichero donde tenemos todos los hosts, y definimos el nuevo:

define host {
use windows-server
host_name tertius_angel_copias
alias tertius_angel_copias
address ip.del.servidor.be
icon_image win40.gif
statusmap_image win40.gd2
hostgroups routers_angel

Y ahora, el service:

define service{
use generic-service
host_name tertius_angel_copias
service_description BackupExec Copia diaria
check_command check_nrpe!check_be
normal_check_interval 4
retry_check_interval 3
max_check_attempts 4
notification_interval 0
}

Reiniciamos el nagios…

# /etc/init.d/nagios force-reload

Y listo.

Ahora veremos si lo hemos hecho bien….

Y nos devuelve el estado del servicio:

Aquí nos “chiva” que la copia ha acabado con excepciones.

Backup Exec + Nagios; monitorizar las copias. Parte 1

Esta entrada explicará cómo tener monitorizadas las copias de backup exec desde nagios. En principio parece que no tenga mucha utilidad, pero si tenéis varios clientes a monitorizar (como es mi caso, más de 20), tener todo unificado en una sola consola / web es bastante ágil.

Para ello, necesitaremos:

1º) Nagios > 3.x
2º) NSClient++ instalado en el servidor a monitorizar.
2º) nagios_be
Instalaremos este ejecutable en el servidor a monitorizar, siendo los archivos:
check_be.exe
– La documentación de cómo hacerlo:Check_be

He seleccionado la versión 3.x del Nsclient; es la que he ido probando y funciona bastante bien. Descargamos y lo instalamos en c:nagios del servidor a monitorizar.

Una vez instalado (siguiente, siguiente), editaremos el fichero c:nagiosnsc.ini y modificaremos (en negrita):

[modules]
NRPEListener.dll
NSClientListener.dll
FileLogger.dll
CheckSystem.dll
CheckDisk.dll
CheckEventLog.dll
CheckHelpers.dll
;# NSCLIENT++ MODULES
;# A list with DLLs to load at startup.
; You will need to enable some of these for NSClient++ to work.
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
; * *
; * N O T I C E ! ! ! – Y O U H A V E T O E D I T T H I S *
; * *
; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
;FileLogger.dll
;CheckSystem.dll
;CheckDisk.dll
;NSClientListener.dll
;NRPEListener.dll
;SysTray.dll
;CheckEventLog.dll
;CheckHelpers.dll
;CheckWMI.dll
;
; Script to check external scripts and/or internal aliases.
;CheckExternalScripts.dll
;
; NSCA Agent if you enable this NSClient++ will talk to NSCA hosts repeatedly (so dont enable unless you want to use NSCA)
;NSCAAgent.dll
;
; LUA script module used to write your own “check deamon”.
;LUAScript.dll
;
; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS!
;RemoteConfiguration.dll
; Check other hosts through NRPE extreme beta and probably a bit dangerous! 🙂
;NRPEClient.dll
; Extreamly early beta of a task-schedule checker
;CheckTaskSched.dll

[Settings]

use_file=1
allowed_hosts=ip.del.servidor.nagios
password=password

[log]

[NSClient]
;# ALLOWED HOST ADDRESSES
; This is a comma-delimited list of IP address of hosts that are allowed to talk to NSClient deamon.
; If you leave this blank the global version will be used instead.
allowed_hosts=ip.del.servidor.nagios
;
;# NSCLIENT PORT NUMBER
; This is the port the NSClientListener.dll will listen to.
port=12489
;
[NRPE]
;# NRPE PORT NUMBER
; This is the port the NRPEListener.dll will listen to.
port=5666
;
;# COMMAND TIMEOUT
; This specifies the maximum number of seconds that the NRPE daemon will allow plug-ins to finish executing before killing them off.
;command_timeout=60
;
;# COMMAND ARGUMENT PROCESSING
; This option determines whether or not the NRPE daemon will allow clients to specify arguments to commands that are executed.
;allow_arguments=0
;
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients to specify nasty (as in |`&><'"[]{}) characters in arguments. ;allow_nasty_meta_chars=0 ; ;# USE SSL SOCKET ; This option controls if SSL should be used on the socket. ;use_ssl=1 ; ;# BIND TO ADDRESS ;# ALLOWED HOST ADDRESSES ; This is a comma-delimited list of IP address of hosts that are allowed to talk to NRPE deamon. ; If you leave this blank the global version will be used instead. allowed_hosts=ip.del.servidor.nagios
;
;# SCRIPT DIRECTORY
; All files in this directory will become check commands.
; *WARNING* This is undoubtedly dangerous so use with care!
;script_dir=scripts
;
;# SOCKET TIMEOUT
; Timeout when reading packets on incoming sockets. If the data has not arrived withint this time we will bail out.
;socket_timeout=30

[Check System]
;# CPU BUFFER SIZE
; so don’t use a larger buffer then you need (ie. the longest check you do +1).
;CPUBufferSize=1h
;
;# CHECK RESOLUTION
; The resolution to check values (currently only CPU).
; The value is entered in 1/10:th of a second and the default is 10 (which means ones every second)
;CheckResolution=10
;
;# CHECK ALL SERVICES
; Configure how to check services when a CheckAll is performed.
; …=started means services in that class *has* to be running.
; …=stopped means services in that class has to be stopped.
; …=ignored means services in this class will be ignored.
;check_all_services[SERVICE_BOOT_START]=ignored
;check_all_services[SERVICE_SYSTEM_START]=ignored
;check_all_services[SERVICE_AUTO_START]=started
;check_all_services[SERVICE_DEMAND_START]=ignored
;check_all_services[SERVICE_DISABLED]=stopped

[External Script]
;# COMMAND TIMEOUT
; This specifies the maximum number of seconds that the NRPE daemon will allow plug-ins to finish executing before killing them off.
;command_timeout=60
;
;# COMMAND ARGUMENT PROCESSING
; This option determines whether or not the NRPE daemon will allow clients to specify arguments to commands that are executed.
;allow_arguments=0
;
;# COMMAND ALLOW NASTY META CHARS
; This option determines whether or not the NRPE daemon will allow clients to specify nasty (as in |`&><'"[]{}) characters in arguments. ;allow_nasty_meta_chars=0 ; ;# SCRIPT DIRECTORY ; All files in this directory will become check commands. ; *WARNING* This is undoubtedly dangerous so use with care! ;script_dir=c:myscriptdir [Script Wrappings] vbs=cscript.exe //T:30 //NoLogo scriptslibwrapper.vbs %SCRIPT% %ARGS% ps1=cmd /c echo scripts%SCRIPT% %ARGS%; exit($lastexitcode) | powershell.exe -command - bat=scripts%SCRIPT% %ARGS% [External Scripts] ;check_es_long=scriptslong.bat ;check_es_ok=scriptsok.bat ;check_es_nok=scriptsnok.bat ;check_vbs_sample=cscript.exe //T:30 //NoLogo scriptscheck_vb.vbs ;check_powershell_warn=cmd /c echo scriptspowershell.ps1 | powershell.exe -command - [External Alias] alias_cpu=checkCPU warn=80 crit=90 time=5m time=1m time=30s alias_cpu_ex=checkCPU warn=$ARG1$ crit=$ARG2$ time=5m time=1m time=30s alias_disk=CheckDriveSize MinWarn=10% MinCrit=5% CheckAll FilterType=FIXED alias_service=checkServiceState CheckAll alias_process=checkProcState $ARG1$=started alias_mem=checkMem MaxWarn=80% MaxCrit=90% ShowAll type=physical alias_up=checkUpTime MinWarn=1d MinWarn=1h alias_file_age=checkFile2 filter=out "file=$ARG1$" filter-written=>1d MaxWarn=1 MaxCrit=1 “syntax=%filename% %write%”
alias_file_size=checkFile2 filter=out “file=$ARG1$” filter-size=>$ARG2$ MaxWarn=1 MaxCrit=1 “syntax=%filename% %size%”
alias_file_size_in_dir=checkFile2 filter=out pattern=*.txt “file=$ARG1$” filter-size=>$ARG2$ MaxWarn=1 MaxCrit=1 “syntax=%filename% %size%”
alias_event_log_old=CheckEventLog file=application file=system filter=new filter=out MaxWarn=1 MaxCrit=1 filter-generated=>2d filter-severity==success filter-severity==informational truncate=800 unique descriptions “syntax=%severity%: %source%: %message% (%count%)”
alias_event_log_new=CheckEventLog file=application file=system MaxWarn=1 MaxCrit=1 “filter=generated gt -2d AND severity NOT IN (‘success’, ‘informational’)” truncate=800 unique descriptions “syntax=%severity%: %source%: %message% (%count%)”
alias_event_log=alias_event_log_new

check_ok=CheckOK Everything is fine!

[Wrapped Scripts]
;check_test_vbs=check_test.vbs /arg1:1 /arg2:1 /variable:1
;check_test_ps1=check_test.ps1 arg1 arg2
;check_test_bat=check_test.bat arg1 arg2
;check_battery=check_battery.vbs
;check_printer=check_printer.vbs

; [includes]
;# The order when used is “reversed” thus the last included file will be “first”
;# Included files can include other files (be carefull only do basic recursive checking)
;
; myotherfile.ini
; real.ini

[NSCA Agent]
;# CHECK INTERVALL (in seconds)
; How often we should run the checks and submit the results.
;interval=5
;
;# ENCRYPTION METHOD
; This option determines the method by which the send_nsca client will encrypt the packets it sends
; to the nsca daemon. The encryption method you choose will be a balance between security and
; performance, as strong encryption methods consume more processor resources.
; You should evaluate your security needs when choosing an encryption method.
;
; Note: The encryption method you specify here must match the decryption method the nsca daemon uses
; (as specified in the nsca.cfg file)!!
; Values:
; 0 = None (Do NOT use this option)
; 1 = Simple XOR (No security, just obfuscation, but very fast)
; 2 = DES
; 3 = 3DES (Triple DES)
; 4 = CAST-128
; 6 = xTEA
; 8 = BLOWFISH
; 9 = TWOFISH
; 11 = RC2
; 14 = RIJNDAEL-128 (AES)
; 20 = SERPENT
;encryption_method=14
;
;# ENCRYPTION PASSWORD
; This is the password/passphrase that should be used to encrypt the sent packets.
;password=
;
;# BIND TO ADDRESS
; Allows you to bind server to a specific local address. This has to be a dotted ip adress not a hostname.
; Leaving this blank will bind to “one” local interface.
; — not supported as of now —
;bind_to_address=
;
;# LOCAL HOST NAME
; The name of this host (if empty “computername” will be used.
;hostname=
;
;# NAGIOS SERVER ADDRESS
; The address to the nagios server to submit results to.
;nsca_host=192.168.0.1
;
;# NAGIOS SERVER PORT
; The port to the nagios server to submit results to.
;nsca_port=5667
;

;# CHECK COMMAND LIST
; The checks to run everytime we submit results back to nagios
; Any command(alias/key) starting with a host_ is sent as HOST_COMMAND others are sent as SERVICE_COMMANDS
; where the alias/key is used as service name.
;
[NSCA Commands]
;my_cpu_check=checkCPU warn=80 crit=90 time=20m time=10s time=4
;my_mem_check=checkMem MaxWarn=80% MaxCrit=90% ShowAll type=page
;my_svc_check=checkServiceState CheckAll exclude=wampmysqld exclude=MpfService
;host_check=check_ok

[NRPE Handlers]
;# COMMAND DEFINITIONS
;# Command definitions that this daemon will run.
;# Can be either NRPE syntax:
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
;# Or simplified syntax:
;check_other=-H 192.168.0.1 -p 5666 -c remote_command -a arguments
check_cpu=inject checkCPU warn=80 crit=90 5 10 15
nrpe_cpu=inject checkCPU warn=80 crit=90 5 10 15
check_be=c:nagioscheck_be.exe “c:Program FilesSymantecBackup ExecData” “CopiaESXi”

;# REMOTE NRPE PROXY COMMANDS
; A list of commands that check other hosts.
; Used by the NRPECLient module
[NRPE Client Handlers]
;check_other=-H 192.168.0.1 -p 5666 -c remote_command -a arguments
check_cpu=inject checkCPU warn=80 crit=90 5 10 15
nrpe_cpu=inject checkCPU warn=80 crit=90 5 10 15
check_be=c:nagioscheck_be.exe “c:Program FilesSymantecBackup ExecData” “CopiaESXi”

;# LUA SCRIPT SECTION
; A list of all Lua scripts to load.
;[LUA Scripts]
;scriptstest.lua

Reiniciamos el servicio de windows. Ahora copiamos el fichero check_be.exe en la carpeta que nos ha creado el instalador (c:nagios)

Una vez copiado, desde el servidor windows, comprobamos si funciona, ejecutando desde el terminal:

C:nagios>check_be “c:Program FilesSymantecBackup ExecData” “CopiaESXi” -w1 -c3
Job: CopiaESXi, Status: Completed with exceptions, Date:5/4/2012
C:nagios>

Ahora explicamos…

c:nagioscheck_be –> el ejecutable

“c:Program FilesSymantecBackup ExecData” –> la ubicación de los catálogos de veritas, en mi caso, en la versión 2010.

“CopiaESXi” –> el nombre que le hemos dado a la tarea dentro del backup exec

“-w1 -c3” –> Según la ayuda
-c :
Return ‘critical’ state if the last occurrence of the job is older
than days. This can help to determine if a scheduled job is
disabled, locked, paused, or any other reason.

-w : Same, but for ‘warning’ state

Seguimos…. damos por hecho que la prueba de arriba ha salido bien… ahora vamos a la parte de los ficheros del nagios

Habilitando snmp en VMware eSXI 5 para zenoss

Esto es un apunte rápido.

Estos días me ha dado por probar el software Zenoss para monitorizar mis equipos.

He ido añadiendo los hosts poco a poco y, me quedaba la parte del servidor eSXI 5.0 que tengo en casa, con licencia gratuita (1 procesador y 32 Gb ram).

Dando vueltas y googleando, tenemos que hacer lo siguiente:

1º) En en pc que tenga en hypervisor, por ejemplo, descargamos las vCLI

vSphere 5.0 – http://www.vmware.com/download/download.do?downloadGroup=VCLI50

Necesitaremos unas credenciales para descargarlas.

Una vez instaladas, hemos de definir la máquina encargada de recoger los traps y consultar el host…. suponiendo que, nuestro vmware eSXI es la 192.168.2.200 y la máquina con zenoss la 192.168.2.81:

vicfg-snmp.pl –server 192.168.2.200 -c public -t 192.168.2.81@162/public

Nota: la utilidad vicfg.snmp.pl, la tendremos en el directorio C:Program Files (x86)VMwareVMware vSphere CLIbin>

Ahora hemos de habilitar el snmp, que por defecto está desactivado:

vicfg-snmp.pl –server 192.168.2.200 -E

Nos pedirá el user / pass de nuestro eSXi, igual que con el paso anterior.

Si todo ha ido bien, podremos ver la configuración que hemos realizado:

vicfg-snmp.pl –server 192.168.2.200 -s

Y con snmpwalk, desde el zenoss, hacemos la prueba….

root@zenoss:~# snmpwalk -v1 -c public 192.168.2.200

Si nos responde….. lo habremos hecho bien 🙂