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"
# 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.
> 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!
>
> --
> Israel Ochoa
> Site [http://isuraeru.googlepages.com/]
> Blog [http://israel8a.blogspot.com/]
>
Saludos!
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,
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
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
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
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.
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
>
> 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