snmp mib generico

245 views
Skip to first unread message

ricardo

unread,
Oct 28, 2009, 3:03:21 PM10/28/09
to Nagios en Español
Hola lista, tengo una duda y es la siguiente

necesito definir una serie de comandos utilizando CHECK_SNMP

la idea es tomar valores que me trae una comunidad, entre otros
SYSUPTIME, TENSION, TEMPERATURA y a partir de estos valores configurar
varios equipos.

el punto es que defini valores en SERVICES_NAGIOS2.CFG pero cuando los
referencio en la configuracion ej UPS1.CFG y luego el mismo comando lo
referencio en UPS2,CFG me da error

en este caso hago lo siguiente

en SERVICES defino

define service{
<------>use generic-service
<------>host_name UPS1
#<----->hostgroup_name<><------><------>total-ups
<------>service_description SYSTEM UP
<------>is_volatile 0
<------>check_period 24x7
<------>max_check_attempts 3
<------>normal_check_interval 5
<------>retry_check_interval 1
<------>contact_groups admins
<------>notification_interval 0
<------>notification_period 24x7
<------>notification_options c,r
<------>check_command <><------><------>check_snmp!.1.3.6.1.2.1.1.3.0
}

cuando trato de utilizar el servicio en UPS1.CFG funciona, pero si
agrego un segundo equipo UPS2.CFG
me da error

define command{
command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -
C py8ev5ro -H HOSTADDRESS$ -o $ARG1$

esto me parece que no esta del todo bien, ahora no se donde
debo definir el commando que luego utilizo en el UPS1.CFG

En definitiva luego de dar vueltas al tema me quede
confundido, es decir, ya no se donde debo definir el comando para que
luego lo utilice en cualquier host que agregue, aclaro que necesito
definir varios valores a monitorear bajo SNMP

Saludos y gracias

Israel Ochoa

unread,
Oct 28, 2009, 4:30:56 PM10/28/09
to nagios-e...@googlegroups.com
Hola Ricardo,

Lo que veo de principio es que no esta bien definido el comando:

Esta asi:

define command{
       command_name            check_snmp
       command_line            /usr/local/nagios/libexec/check_snmp -C py8ev5ro  -H HOSTADDRESS$ -o $ARG1$
}

Debe ser:

define command{
       command_name            check_snmp
       command_line            /usr/local/nagios/libexec/check_snmp -C py8ev5ro  -H $HOSTADDRESS$ -o $ARG1$
}

Saludos!
IO
2009/10/28 ricardo <ricardod...@gmail.com>



--
Israel Ochoa
Site [http://isuraeru.googlepages.com/]
Blog [http://israel8a.blogspot.com/]

Ricardo Delgado

unread,
Oct 28, 2009, 8:19:52 PM10/28/09
to nagios-e...@googlegroups.com
El día 28 de octubre de 2009 18:30, Israel Ochoa <isur...@gmail.com> escribió:
> Hola Ricardo,
>
> Lo que veo de principio es que no esta bien definido el comando:
>
> define command{
>        command_name            check_snmp
>        command_line            /usr/local/nagios/libexec/check_snmp -C
> py8ev5ro  -H $HOSTADDRESS$ -o $ARG1$
> }
>
> Saludos!

Gracias por la respuesta, pero ese no es el problema, el mismo
basicamente me da un error de duplicacion al utilizar el COMMAND_NAME
en UPS1.CFG UPS2.CFG, es decir si solamente trabajo con UPS1.CFG este
funciona y trae el dato, pero al tratar de configurar varios equipos
es donde aparece la duplicacion, por tanto entiendo que alguna
definicion generica debo establecer, el punto es que no se donde debo
definir para luego hacer referencia en cada equipo que agregue, espero
ser claro en lo que escribo.

Saludos

--
"Esta es la tierra de GNU/Linux, en noches tranquilas puedes escuchar
el sonido de las PC con windows rearrancando"

Israel Ochoa

unread,
Oct 28, 2009, 8:33:18 PM10/28/09
to nagios-e...@googlegroups.com
Podrias enviar tus archivos cfg para darles un vistazo

2009/10/28 Ricardo Delgado <ricardod...@gmail.com>

Ricardo Delgado

unread,
Oct 29, 2009, 11:45:58 AM10/29/09
to nagios-e...@googlegroups.com
El día 28 de octubre de 2009 21:33, Israel Ochoa <isur...@gmail.com> escribió:
> Podrias enviar tus archivos cfg para darles un vistazo
>
copio los archivos primero el SERVICES_NAGIOS2.

# check that web services are running
define service {
hostgroup_name http-servers
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}

# check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}

# check that ping-only hosts are up
define service {
hostgroup_name ping-servers
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 2 ; set > 0 if you want to be renotified
}

##############################################################################
#creo grupo de notificacion para impresoras
#pruebo grupo Calles y Plotters
##############################################################################

#define service {
# hostgroup_name Plotters
# service_description Estado Impresoras
# check_command check_hpjd!-C Public
# use generic-service
# notification_interval 2 ; set > 0 if you want to be renotified
#}


#Servicio para chequear via snmp tiempo total sin apagar

define service{
use generic-service
host_name UPS1
# host_name cam-ups
# hostgroup_name Monitoreo
service_description SYSTEM UP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0
}

#Servicio para chequear via snmp porcentaje de carga

define service{
use generic-service
host_name UPS1
service_description Porcentaje de carga al UPS
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.33.1.4.4.1.5.1
}

#Servicio para chequear via snmp nro de serie UPS

define service{
use generic-service
host_name UPS1
service_description Nro Serie
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_snmp!mib-2.33.1.1.5.0
}

#Servicio para chequear via snmp tension

define service{
use generic-service
host_name UPS1
service_description Tension entrada al UPS
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_snmp!mib-2.33.1.9.3.0
}


#Servicio para chequear via snmp tiempo total sin apagar

define service{
use generic-service
# host_name UPS1
service_description SYSTEM UP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0
}


#Servicio para chequear via snmp tiempo total sin apagar

#define service{
# use generic-service
# hostgroup_name Monitoreo
# service_description SYSTEM UP
# is_volatile 0
# check_period 24x7
# max_check_attempts 3
# normal_check_interval 5
# retry_check_interval 1
# contact_groups admins
# notification_interval 0
# notification_period 24x7
# notification_options c,r
# check_command check_snmp!.1.3.6.1.2.1.1.3.0
#}

#define service{
# use generic-service
# hostgroup_name Monitoreo
# service_description OPERATIVO
# is_volatile 0
# check_period 24x7
# max_check_attempts 3
# normal_check_interval 5
# retry_check_interval 1
# contact_groups admins
# notification_interval 0
# notification_period 24x7
# notification_options c,r
# check_command check_snmp!.1.3.6.1.2.1.2.2.1.8.2
#}

#Para chequear 80

define command{
name check_http2
command_name check_http3
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}


COPIO UPS1.CFG


# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#

define host{
use generic-host ; Name of host
template to use
host_name UPS1
address 10.14.12.106
# hostgroups Monitoreo
notes_url http://10.14.12.106
}

#aqui especifico el comando por snmp

define command{
command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -C py8ev5ro -H
$HOSTADDRESS$ -o $ARG1$
}


UPS2.CFG

# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#

define host{
use generic-host ; Name of host
template to use
host_name UPS2
address 10.16.26.106
# notes_url http://10.14.12.106
}

#aqui especifico el comando por snmp

define command{
# command_name check_snmp


command_line /usr/local/nagios/libexec/check_snmp -C py8ev5ro -H
$HOSTADDRESS$ -o $ARG1$
}

y es al definir COMMAND_NAME donde empiezan los conflictos.

Israel Ochoa

unread,
Oct 29, 2009, 2:13:46 PM10/29/09
to nagios-e...@googlegroups.com
Ricardo,

Claro que si te va a causar problemas por que no puedes definir dos comandos con el mismo nombre, fijate que en UPS1.CFG y UPS2.CFG estas definiendo check_snmp.

Puedes hacer dos cosas:

La mas facil es cambiar el check_snmp de UPS2.CFG a check_snmp2 (pero tendrias dos comandos que hacen exactamente lo mismo).

La segunda seria que tengas un archivo commands.cfg en donde definas los comandos.

Saludos!

Ricardo Delgado

unread,
Oct 29, 2009, 2:38:03 PM10/29/09
to nagios-e...@googlegroups.com
Gracias por responder

>
> Puedes hacer dos cosas:
>
> La mas facil es cambiar el check_snmp de UPS2.CFG a check_snmp2 (pero
> tendrias dos comandos que hacen exactamente lo mismo).
>
Esto lo hice y me di cuenta que no es una solucion adecuada (elegante) :D

> La segunda seria que tengas un archivo commands.cfg en donde definas los
> comandos.
>

OK, vi que esta el commands.cfg en /etc/ngaios3 (uso debian)

la consulta ahora es, por cada MIB a leer debo generar un comando?
pregunto esto porque tambien utilizo check_hp y en este caso solo tuve
que indicarle,descomentar, la linea donde hace referencia en el cfg;
al hacer eso me muestra varios estados de las impresoras.

> Saludos!

Saludos!

Israel Ochoa

unread,
Oct 29, 2009, 3:26:20 PM10/29/09
to nagios-e...@googlegroups.com
No es necesario, pasa eso ocupas los argumentos, por ejemplo:

Comando:
command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$

Servicio:
check_command check_snmp!SuperSNMPCommunity!.1.3.6.1.2.1.1.3.0

Espero te sirva.

Saludos!

2009/10/29 Ricardo Delgado <ricardod...@gmail.com>

Ricardo Delgado

unread,
Oct 29, 2009, 3:32:59 PM10/29/09
to nagios-e...@googlegroups.com
El día 29 de octubre de 2009 16:26, Israel Ochoa <isur...@gmail.com> escribió:
> No es necesario, pasa eso ocupas los argumentos, por ejemplo:
>
> Comando:
> command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$
>
> Servicio:
> check_command check_snmp!SuperSNMPCommunity!.1.3.6.1.2.1.1.3.0
>
> Espero te sirva.
>
> Saludos!
>
a ver si entendi

en COMMANDS.CFG defino

command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$

y en cada equipo a agregar (ej UPS1.CFG)


check_command check_snmp!SuperSNMPCommunity!.1.3.6.1.2.1.1.3.0

siendo

SuperSNMPCommunity! = $ARG1$

.1.3.6.1.2.1.1.3.0 = $ARG2$

en este caso -C indica la comunidad SNMP y .1.3.6.1.2.1.1.3.0 el
SysUpTime, y si quiero agregar otro mib (ej especifico del ups tension
de entrada) cambio simplemente .1.3.6.1.2.1.1.3.0 por el
correspondiente, y asi en forma sucesiva.

Saludos y muchas gracias por la data,

Israel Ochoa

unread,
Oct 29, 2009, 3:39:30 PM10/29/09
to nagios-e...@googlegroups.com
Si, basicamente eso es Ricardo, ahi pones el OID que vas a monitorear y tu comunidad.

Saludos!

2009/10/29 Ricardo Delgado <ricardod...@gmail.com>

Ricardo Delgado

unread,
Oct 30, 2009, 11:36:35 AM10/30/09
to nagios-e...@googlegroups.com
al final no me funciono definiendo en COMMAND

asi que agregue tantos servicios como MIB quiera monitorear, aqui me
surgen 2 problemas

1.- este el el UPS1.CFG si agrego (simplemente copio esta definicion
y cambio IP) ej

cp UPS1.CFG UPS2.CFG me da un error en la duplicacion de nombre

en esta linea "command_name check_snmp" por tanto en cada archivo
subsiguiente simplemente comento esta linea y con eso funciona

define host{
use generic-host ; Name of host
template to use
host_name UPS1

address 190.4.120.106
# hostgroups ups-en-linea
notes_url http://190.4.12.106
}

#aqui especifico el comando por snmp

define command{
command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -C

publica -H $HOSTADDRESS$ -o $ARG1$
}

2.- si tengo equipos en otra comunidad, al parecer no me deja en "-C
otrapublica" hacer este cambio, simplemente no lee mas que la
definicion primera es decir -C publica, no me parece andar definiendo
varias veces un mib de SYSUPTIME para cada comunidad.


Saludos

Israel Ochoa

unread,
Oct 30, 2009, 1:26:28 PM10/30/09
to nagios-e...@googlegroups.com
Leiste este articulo dentro del sitio:

http://nagioses.blogspot.com/2009/03/snmp.html

Tienes que definir bien tu estructura de archivos para que te sea facil localizar los equipos y servicios que vas a declarar en Nagios, teniendo esto puedes tener tus archivos de configuración CFG, en mi caso son varios pero los mas importantes son nagios.cfg, cgi.cfg, hosts.cfg, services.cfg, commands.cfg, resources.cfg.

Saludos
IO
2009/10/30 Ricardo Delgado <ricardod...@gmail.com>

Ricardo Delgado

unread,
Oct 30, 2009, 4:00:51 PM10/30/09
to nagios-e...@googlegroups.com
El día 30 de octubre de 2009 14:26, Israel Ochoa <isur...@gmail.com> escribió:
> Leiste este articulo dentro del sitio:
>
> http://nagioses.blogspot.com/2009/03/snmp.html
>
> Tienes que definir bien tu estructura de archivos para que te sea facil
> localizar los equipos y servicios que vas a declarar en Nagios, teniendo
> esto puedes tener tus archivos de configuración CFG, en mi caso son varios
> pero los mas importantes son nagios.cfg, cgi.cfg, hosts.cfg, services.cfg,
> commands.cfg, resources.cfg.
>

Hola de nuevo y gracias como siempre por responder, efectivamente para
hacer la configuracion utilice el link que me enviaste, de hecho tengo
impresa la version en Ingles.

Aqui lo unico que cambio es HOST_NAME por HOSTGROUP_NAME para incluir
a todos los equipos en un mismo grupo, este grupo es el que defino
ademas en la configuracion de cada elemento agregado

define service{
use generic-service
host_name myserver ### aqui es donde cambio
service_description Uptime
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 8
retry_check_interval 1
contact_groups nt-admins
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0 # Este es el OID del uptime
}

Ahora con respecto a la configuracion en particular para cada equipo
es tal como lo realizo, con las 2 salvedades que ya comente

define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C readonly -o $ARG1$
}

1.- command_name check_snmp me deja solo para 1 equipo (igual al no
tener command_name funciona) no se si tendra alguna otra implicancia
no definir nombre

2.- en -C readonly funciona, si tengo un ups definida con otra
comunidad (ej "sololectura") y coloco -C sololectura, es decir en
UPS1.CFG UPS3.CFG UPS11.CFG UPS9.CFG uso -C readonly y en UPS2.CFG
UPS4.CFG UPS6.CFG -c sololectura, en este ultimo caso no me trae los
datos, logicamente al realizar un snmpwalk o snmpget si logro ver el
dato. Por tanto me encuentro en una encrucijada ya que no se porque no
trae la info, puesto que deberia visualizar los mismos

el mensaje que me da nagios es

CMD: /usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv]
190.4.20.105:161 mib-2.33.1.1.5.0
SNMP problem - No data received from host

Ricardo Delgado

unread,
Oct 30, 2009, 4:31:08 PM10/30/09
to nagios-e...@googlegroups.com
El día 30 de octubre de 2009 17:00, Ricardo Delgado
<ricardod...@gmail.com> escribió:

> El día 30 de octubre de 2009 14:26, Israel Ochoa <isur...@gmail.com> escribió:
>> Leiste este articulo dentro del sitio:
>>
>> http://nagioses.blogspot.com/2009/03/snmp.html
>>
>> Tienes que definir bien tu estructura de archivos para que te sea facil
>> localizar los equipos y servicios que vas a declarar en Nagios, teniendo
>> esto puedes tener tus archivos de configuración CFG, en mi caso son varios
>> pero los mas importantes son nagios.cfg, cgi.cfg, hosts.cfg, services.cfg,
>> commands.cfg, resources.cfg.
>>

me quede pensando en las definiciones y quizas haya estado errado en
mi razonamiento
para ordenar las ideas, en SERVICES_NAGIOS2.CFG deberia estar

define service{
use generic-service
host_name myserver

service_description Uptime
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 8
retry_check_interval 1
contact_groups nt-admins
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0 # Este es el OID del uptime
}

en COMMANDS.CFG deberia ir

define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C readonly -o $ARG1$
}


y en cada equipo, ej UPS1.CFG

que deberia especificar?

quizas algo como

define service{
use generic-service ; Name
of service template to use
host_name UPS1
service_description snmp-mib tiempo arriba
check_command check_snmp
}

define service{
use generic-service ; Name
of service template to use
host_name UPS1
service_description snmp-mib tension
check_command check_snmp
}

o quizas solo definir 1 solo servicio y agregar en check_snmp el -c comunidad?


Me parece que de esta forma es mas ordenado y con las
definciones correspondientes, si es el razonamiento correcto entonces
quizas a esto se deba que no pueda leer varias comunidades con una
misma definicion?

Saludos

Israel Ochoa

unread,
Oct 30, 2009, 4:56:25 PM10/30/09
to nagios-e...@googlegroups.com
Ya intentaste ejecutar el comando el en shell?


/usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv] 190.4.20.105:161 mib-2.33.1.1.5.0

No esta reconociendo el equipo al que le estas haciendo la peticion SNMP el comando enviado por Nagios y no esta regresando nada.

Trata de modificar el comando para que lo puedas ejecutar en el Shell, la OID no es la correcta, debe empezar con punto o numero

Esto lo hice con un equipo que estoy monitoreando con SNMP:

$/usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 -c MiComunidadRO IPAddress:161 mib-2.33.1.1.5.0
Error in packet
Reason: (noSuchName) There is no such variable name in this MIB.
Failed object: SNMPv2-SMI::mib-2.33.1.1.5.0

Con OID "verdadero" (o que se que funciona):
$/usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 -c MiComunidadRO IPAddress:161 1.3.6.1.2.1.1.3.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (246586176) 28 days, 12:57:41.76

Como puedes ver, el OID esta mal.

En tu caso intenta con el comando:

$/usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 -c TuComunidad 190.4.20.105:161 1.3.6.1.2.1.1.3.0

Una recomendacion muy importante al momento de tratar de solucionar problemas con plugins es ejecutarlos primero en el Shell para saber como estan respondiendo los equipos a los plugins, si no es el resultado deseado se realiza el troubleshooting antes de agregarlos en Nagios y evitar troubleshooting en Nagios que nos pueda costar tiempo.

Saludos!
IO

2009/10/30 Ricardo Delgado <ricardod...@gmail.com>

Ricardo Delgado

unread,
Oct 30, 2009, 5:45:58 PM10/30/09
to nagios-e...@googlegroups.com
El día 30 de octubre de 2009 18:56, Israel Ochoa <isur...@gmail.com> escribió:
> Ya intentaste ejecutar el comando el en shell?
>
> /usr/bin/snmpget -t 1 -r 5 -m ALL -v 1 [authpriv] 190.4.20.105:161
> mib-2.33.1.1.5.0
>
Israel, hola mira solo te pase algunos ejemplos de lo que venia
intentando, en realidad por tomar ejemplo cuando traigo el sysuptime
me trae el tiempo que el equipo esta arriba, perdon por copiar mal,
quizas llevo a confusion, quiero retomar el tema con respecto a mi
correo anterior.

si defino un archivo ej UPSXX1.CFG con una comunidad me trae todos los
datos que configuro (vuelvo a reiterar el OID no es el problema aunque
me haya equivocado al hacer copiar/pegar) y asi en cada equipo de la
misma comunidad

entonces luego que probe que en una comunidad haciendo copiar/pegar
del UPSXX1.CFG y cambiando la ip del equipo mas el nombre, todo
funciona a la perfeccion

luego si realizo la misma operacion (copiar/pegar) y configuro con
otra comunidad y solamente cambiando -c publico por -c sololectura, o
sea hay 2 comunidades, en esta ultima no me trae datos, y reitero
cambio solo 3 valores comunidad,ip y nombre de equipo, si pruebo el
dato desde consola me trae informacion.

En definitiva, en SERVICES defino el servicio, en COMMAND el comando y
luego en UPSXX1.CFG hago referencia a DEFINE SERVICE, pego de nuevo lo
de mi ultimo correo

para ordenar las ideas, en SERVICES_NAGIOS2.CFG deberia estar

define service{
use generic-service
host_name myserver


service_description Uptime
is_volatile 0
check_period 24x7
max_check_attempts 4
normal_check_interval 8
retry_check_interval 1
contact_groups nt-admins
notification_interval 120
notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0 # Este es el OID del uptime
}

en COMMANDS.CFG deberia ir

define command{
command_name check_snmp
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C readonly -o $ARG1$
}

y en cada equipo, ej UPS1.CFG

que deberia especificar?

quizas algo como

define service{
use generic-service ; Name

of service template to use
host_name UPS1
service_description snmp-mib tiempo arriba "" no es
necesariamente el OID simplemente es referencial a lo que quiero leer
check_command check_snmp
}

define service{
use generic-service ; Name

of service template to use
host_name UPS1
service_description snmp-mib tension ""idem anterior
check_command check_snmp
}

o quizas solo definir 1 solo servicio y agregar en check_snmp el -c comunidad?

Espero haber sido mas claro ahora :D

Gracias por la ayuda que me das, y a la lista tambien.

Ricardo Delgado

unread,
Nov 3, 2009, 2:24:58 PM11/3/09
to nagios-e...@googlegroups.com
Israel/lista:

Hola, volvi a revisar toda la configuracion de cada archivo. y
el punto persiste, es decir cuando trabajo sobre una comunidad snmp
funciona, es mas fui agregando OID y todos muestran datos, el problema
surge cuando trato de utilizar los mismos parametros pero en una
comunidad distinta, es decir cuando tengo configurada la comunidad
COMUN1 parece funcionar bien toda la configuracion, cuando agrego
COMUN2 en base a los parametros anteriores no logran llegar los datos

copio a continuacion los archivos

COMMANDS.CFG

###############################################################################
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS
###############################################################################


################################################################################
# NOTIFICATION COMMANDS
################################################################################


# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Monitoreo
TI*****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost:
$HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo:
$HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "**
$NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **"
$CONTACTEMAIL$
}

# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/bin/printf "%b" "***** Monitoreo
TI*****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService:
$SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:
$SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional
Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$
Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **"
$CONTACTEMAIL$
}

################################################################################
# HOST CHECK COMMANDS
################################################################################

# On Debian, check-host-alive is being defined from within the
# nagios-plugins-basic package

################################################################################
# PERFORMANCE DATA COMMANDS
################################################################################


# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/bin/printf "%b"
"$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n"
>> /var/lib/nagios3/host-perfdata.out
}


# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/bin/printf "%b"
"$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n"
>> /var/lib/nagios3/service-perfdata.out
}


#############################################################################
#
# Para chequear por SNMP
###############################################################################

define command{
command_name check_ups
command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$
}


##Para tomar modelo impresora HP

#define command{
# command_name check_hpmodelo
# command_line $USER1$/check_snmp -H $HOSTADDRESS$ -C public -o $ARG1$
#}

SERVICES_NAGIOS2.CFG

# check that web services are running
define service {
hostgroup_name http-servers
service_description HTTP
check_command check_http
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}

# check that ssh services are running
define service {
hostgroup_name ssh-servers
service_description SSH
check_command check_ssh
use generic-service
notification_interval 0 ; set > 0 if you want to be renotified
}

# check that ping-only hosts are up
define service {
hostgroup_name ping-servers
service_description PING
check_command check_ping!100.0,20%!500.0,60%
use generic-service
notification_interval 2 ; set > 0 if you want to be renotified
}

#Servicio para chequear via snmp tiempo total sin apagar

define service{
use generic-service
hostgroup_name ups,exemys
service_description SYSTEM UP
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.1.3.0
}

#Servicio para chequear via snmp porcentaje de carga

define service{
use generic-service
# host_name UPS EDIF
hostgroup_name ups


service_description Porcentaje de carga al UPS

is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.33.1.4.4.1.5.1
}

#Servicio para chequear via snmp nro de serie UPS

define service{
use generic-service
# host_name UPS EDIF
hostgroup_name ups
service_description Nro Serie
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!mib-2.33.1.1.5.0
}

#Servicio para chequear via snmp tension

define service{
use generic-service
# host_name UPS EDIF
hostgroup_name ups


service_description Tension entrada al UPS

is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!mib-2.33.1.9.3.0
}


#Servicio para chequear via snmp tiempo total sin apagar

#define service{
# use generic-service
# hostgroup_name exemys


# service_description SYSTEM UP
# is_volatile 0
# check_period 24x7
# max_check_attempts 3
# normal_check_interval 5
# retry_check_interval 1
# contact_groups admins
# notification_interval 0
# notification_period 24x7
# notification_options c,r
# check_command check_snmp!.1.3.6.1.2.1.1.3.0
#}


#Servicio para chequear via snmp temp ups

define service{
use generic-service
hostgroup_name ups
service_description TEMP AMBTE
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0
notification_period 24x7
notification_options c,r

# check_command check_snmp!.1.3.6.1.4.1.534.1.6.1.0
check_command check_snmp!.iso.3.6.1.4.1.534.1.6.1.0
}


define service{
use generic-service
hostgroup_name ups
service_description TEMP BAD
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.33.1.6.3.5
}

#Servicio para chequear via snmp temp alarma

define service{
use generic-service
hostgroup_name ups
service_description UPS BATTERY STATUS
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.33.1.2.1.0
}

#Servicio para chequear via snmp Modelo UPS

define service{
use generic-service
hostgroup_name ups
service_description MODELO UPS
is_volatile 0
check_period 24x7


max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups admins
notification_interval 0

notification_period 24x7
notification_options c,r
check_command check_snmp!.1.3.6.1.2.1.33.1.1.2.0
}


#Para chequear 80

define command{
name check_http2
command_name check_http3
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}

CONFIGURACION UPS1.CFG

define host{
use generic-host ; Name of host
template to use

host_name UPS EDIF
address 10.14.12.106
hostgroups ups
notes_url http://10.14.12.106
}

define hostgroup{
hostgroup_name ups
alias ups
}

#aqui especifico el comando por snmp

define command{
command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -C comun1 -H
$HOSTADDRESS$ -o $ARG1$
}


CONFIGURACION UPS2.CFG

define host{
use generic-host ; Name of host
template to use

host_name UPS2 EDIF
address 10.14.12.107
hostgroups ups
notes_url http://10.14.12.107
}


#aqui especifico el comando por snmp

define command{
# command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -C comun1 -H
$HOSTADDRESS$ -o $ARG1$
}

Hasta aqui los equipos funcionan.

Ahora tengo un UPS3.cfg


define host{
use generic-host ; Name of host
template to use

host_name UPS12 EDIF
address 10.14.12.122
hostgroups ups
notes_url http://10.14.12.122
}


#aqui especifico el comando por snmp

define command{
# command_name check_snmp
command_line /usr/local/nagios/libexec/check_snmp -C comun2 -H
$HOSTADDRESS$ -o $ARG1$
}

y el resultado es SNMP problem - No data received from host, para
corroborar que no sea un problema de conectividad hago un snmpget por
consola y el dato aparece.

tambien probe cambiando -H $HOSTADRESS$ por delante de -C
comun2 y el resultado es el mismo "SNMP problem - No data received
from host"

la verdad ya no se que hago mal

Israel Ochoa

unread,
Nov 3, 2009, 3:15:44 PM11/3/09
to nagios-e...@googlegroups.com
¿Por que no tratas de empezar con algo simple?

Esto es un solo servicio con un solo host, despues ir agregando mas servicios a ese host y cuando veas que todo funciona bien agregas mas hosts.

Te recomiendo tambien que declares tus hosts en un solo archivo por ejemplo upshosts.cfg

Saludos!

Ricardo Delgado

unread,
Nov 3, 2009, 4:46:35 PM11/3/09
to nagios-e...@googlegroups.com
El día 3 de noviembre de 2009 18:15, Israel Ochoa <isur...@gmail.com> escribió:
> ¿Por que no tratas de empezar con algo simple?
porque la idea es armar algo complejo y tengo que empezar en algun momento

>
> Esto es un solo servicio con un solo host, despues ir agregando mas
> servicios a ese host y cuando veas que todo funciona bien agregas mas hosts.

basicamente es lo que hice


>
> Te recomiendo tambien que declares tus hosts en un solo archivo por ejemplo
> upshosts.cfg
>

como seria en este caso?

> Saludos!
>
saludos para vos tambien

Reply all
Reply to author
Forward
0 new messages