Tabla de Contenidos

Howto Mon

\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t


Advertencia

Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.


Descripción


Prerequistos

Procedimiento

A. Instalación básica


B. Configuración


1. Una accion


2. Segunda accion


Problemas

1. Monitor no puede subir y bajar interfaces

- Ojo que mon corra como root pa que pueda bajar y subir interfaces

Referencias

-

FIN

=========================================================================
Anexo /etc/mon/mon.cf
=========================================================================


#
# Example "mon.cf" configuration for "mon".
#
# $Id: example.cf 1.1 Sat, 26 Aug 2000 15:22:34 -0400 trockij $
#

#
# This works with 0.38pre8
#

#
# global options
#
cfbasedir = /etc/mon
alertdir = /usr/lib/mon/alert.d
mondir = /usr/lib/mon/mon.d
maxprocs = 20
histlength = 100
randstart = 60s
userfile = /etc/mon/userfile


#
# authentication types:
# getpwnam standard Unix passwd, NOT for shadow passwords
# shadow Unix shadow passwords (not implemented)
# userfile "mon" user file
#
# authtype = getpwnam
# authtype = userfile

#
# NB: hostgroup and watch entries are terminated with a blank line (or
# end of file). Don't forget the blank lines between them or you lose.
#

#
# group definitions (hostnames or IP addresses)
#
hostgroup servidores zion ska babylon

hostgroup skina www.skina.com.co www.azuan.com

hostgroup workstations caladan soka haiti marley tosh

hostgroup printers ska

hostgroup babylon 10.0.0.5

hostgroup zion zion

hostgroup internet 192.168.0.1 63.171.232.38


#
# For the servers in building 1, monitor ping and telnet
# BOFH is on weekend call :)
#
watch servidores
 service ping
\tdescription ping servers 
\tmonitor fping.monitor
\tinterval 5m
#\tmonitor fping.monitor
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h
#\tperiod NOALERTEVERY: wd {Mon-Fri} hr {7am-10pm}
#\t alert mail.alert skina@zion.skina.com.co
#\tperiod wd {Sat-Sun}
#\t alert mail.alert skina@zion.skina.com.co
 service telnet
\tdescription telnet to servers 
\tinterval 10m
\tmonitor telnet.monitor
\tdepend servidores:ping
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alertevery 1h
#\t alertafter 2 30m
#\t alert mail.alert skina@zion.skina.com.co

watch skina
 service fping
\tinterval 5m
\tmonitor fping.monitor
\tdepend internet:ping
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h
 service smtp
\tinterval 8m
\tmonitor smtp.monitor
\tdepend internet:ping
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alertevery 1h
#\t alertafter 2 30m
#\t alert page.alert mis-pagers@domain.com
 service imap
\tinterval 12m
\tmonitor imap.monitor
\tdepend internet:ping
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alertevery 1h
#\t alertafter 2 30m
#\t alert page.alert mis-pagers@domain.com
 service pop
\tinterval 11m
\tmonitor pop3.monitor
\tdepend internet:ping
#\tperiod wd {Mon-Fri} hr {7am-10pm}
#\t alertevery 1h
#\t alertafter 2 30m
#\t alert page.alert mis-pagers@domain.com
 service http
\tinterval 6m
\tmonitor http.monitor
\tdepend internet:ping
\tallow_empty_group
#\tperiod wd {Sun-Sat}
#\t alert qpage.alert mis-pagers
#\t upalert mail.alert -S "web server is back up" mis
#\t alertevery 45m

#
# Salida a Internet
#
watch internet
 service ping
\tdescription routers which connect bd1 and bd2
\tinterval 1m
\tmonitor fping.monitor
#\tperiod wd {Sun-Sat}
#\t alert qpage.alert mis-pagers
#\t alertevery 45m
#\tperiod LOGFILE: wd {Sun-Sat}
#\t alert file.alert -d /usr/lib/mon/log.d routers.log

#
# workstations
#

watch workstations
 service ping
\tinterval 5m
\tmonitor fping.monitor
#\tperiod wd {Sun-Sat}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h

#
# Servidor ZION
#
watch zion
 service ftp
\tinterval 5m
\tmonitor ftp.monitor
#\tperiod wd {Sun-Sat}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h
 service cups
\tinterval 5m
\tmonitor tcp.monitor -p 631 
#\tperiod wd {Sun-Sat}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h
 service freespace
 \tinterval 15m
\tmonitor freespace.monitor /home:10000 /var/ftp/pub:10000 ;;
\tperiod wd {Sun-Sat}
#\t alert mail.alert skina@zion.skina.com.co
#\t alert delete.snapshot
#\t alertevery 1h
 service http
\tinterval 5m
\tmonitor http.monitor
\tallow_empty_group
#\tperiod wd {Sun-Sat}
#\t alert qpage.alert mis-pagers
#\t upalert mail.alert -S "web server is back up" mis
#\t alertevery 45m

#
# Servidor ska
#
watch printers
 service lpr
\tinterval 5m
\tmonitor tcp.monitor -p 515
#\tperiod wd {Sun-Sat}
#\t alert mail.alert skina@zion.skina.com.co
#\t alertevery 1h

#
# Servidor babylon
#
watch babylon
 service nfs
\tinterval 1m
\tmonitor fping.monitor
\tperiod wd {Sun-Sat}
\t alert babylon.alert up
\t upalert babylon.alert down


=========================================================================
Anexo /usr/lib/mon/alert.d/babylon.alert
=========================================================================


#!/bin/sh
#
# Script para subir y bajar una interfaza para uso con mon
#
# "USO: babylon.alert (-s nfs -g babylon -h 10.0.0.5 -t XXXXXXXX) [-u] [up,down]" 
#
#

#### chequeo parametros importantes

echo "Los parametros fueron = $*" >> /tmp/babylon.alert
echo "El script lo ejecuta = `whoami`" >> /tmp/babylon.alert

if [[ ( $1 == "" ) || ( $6 != "10.0.0.5" ) || ( ( $9 != "up" ) && ( $9 != "-u" ) ) ]]
then
 echo "USO: babylon.alert (-s nfs -g babylon -h 10.0.0.5 -t XXXXXXXX) [up,down]" >> /tmp/babylon.alert
 exit 0
fi


#### Si la orden es subir

if [[ $9 == "up" ]]
then
 arriba=`fping 192.168.8.200 | grep alive`
 echo "Arriba = $arriba" >> /tmp/babylon.alert
 if [[ $arriba == "" ]]
 then
 echo "/sbin/ifconfig eth1:0 192.168.8.200" >> /tmp/babylon.alert
 /sbin/ifconfig eth1:0 192.168.8.200
 else
 echo "Interfaz ya esta arriba" >> /tmp/babylon.alert
 fi
fi

#### Si la orden es bajar

if [[ ( $9 == "-u" ) && (${10} == "down" ) ]]
then
 echo "/sbin/ifconfig eth1:0 down" >> /tmp/babylon.alert
 /sbin/ifconfig eth1:0 down
fi

 

15-Marzo-2006 J.E.Gomez v1.0 Primera version