Agenda: ejercicios-nagios-rt.txt

File ejercicios-nagios-rt.txt, 7.4 KB (added by admin, 9 years ago)
Line 
1Gestion y Monitoreo de Redes
2Creacion de Tickets Usando Nagios y Request Tracker
3
4Notas:
5------
6* Comandos que empiezan con un "$" implica que deberia ejecutar el comando
7  como un usuario general - no como root.
8* Comandos que empiezan con un "#" implica que deberia trabajar como el usuario root.
9* Comandos con lineas mas especificas (como "GW-RTR>" o "mysql>") implica que esta
10  ejecutando el comando en un equipo remoto o dentro otro programa.
11* Si una linea termina con un "\" esto indica que el comando sigue en la proxima
12  linea y Ud. deberia tratar el comando si como fuera en una sola linea.
13
14Exercicios Parte I
15------------------
16
17Para configurar RT y Nagios para que las alertas de Nagios pueden generar un pedido en
18RT en forma automatica se requiere algunos pasos de configuracion:
19
20* Crear una entrada de contacto en Nagios en  /etc/nagios3/conf.d/contacts_nagios2.cfg
21
22* Crear un comando nuevo de Nagios para usar la facilidad de rt-mailgate. El comando se
23  lo define en /etc/nagios3/commands.cfg
24
25* Si termino de configurar RT el software de rt-mailgate ya esta instalado y configurado
26  con una cola de "net" para recibir correo y cambiarlo en un pedido.
27
28
29Exercises
30---------------------------------
31
320. Haz un log in en su PC o abre una ventana de terminal como el usuario sysadmin.
33
34
351.) Configurar un contacto en Nagios
36-------------------------------------
37
38   - Abre el archivo /etc/nagios3/conf.d/contacts_nagios2.cfg
39
40   # vi /etc/nagios3/conf.d/contacts_nagios2.cfg
41
42   - Agregamos un nombre nuevo debajo la entrada por root. La entrada nueva se vea asi:
43
44define contact{
45        contact_name                    net
46        alias                           RT Alert Queue
47        service_notification_period     24x7
48        host_notification_period        24x7
49        service_notification_options    c
50        host_notification_options       d
51        service_notification_commands   notify-service-ticket-by-email
52        host_notification_commands      notify-host-ticket-by-email
53        email                           net@localhost
54        }
55
56
57   - La opcion de service_notification_option de "c" significa que Nagios notifica
58     despues que un servicio llega al estado de "critico" (caido). La opcion de
59     host_notification_option de "d" es para "down" (caido). Asi, usando solo estos
60     Nagios solo manda una notidicacion cuando algo deja de responder o funcionar.
61
62   - El correo net@localhost es la clave. Esto es que corresponde a la cola de "net"
63     en RT usando el software to rt-mailgate y la definicion en el archivo /etc/aliases.
64
65   - Ahora necesitamos un Grupo de Contactos que contiene el nuevo contact. Vamos a
66     llamar este grupo "tickets". Agrega esta entrada al fin del archivo:
67
68define contactgroup{
69        contactgroup_name       tickets
70        alias                   email to ticket system for RT
71        members                 net,root
72        }
73
74   - "root" no es necesario pero es bueno durante el proceso de verificacion para
75     ayudar si hay problemas en la configuracion.
76
77   - Ya tenemos los contactos. Ahora necesitamos crear los comandos que usamos en caso de
78     que queremos que Nagios manda un correo a net@localhost.
79
80
812.) Actualizar Comandos de Nagios
82---------------------------------
83
84   - Para crear los dos comandos nuevos que vamos a llamar notify-service-ticket-by-email y
85     notify-host-ticket-by-email tenemos que editar el archivo /etc/nagios3/commands.cfg.
86
87
88   # vi /etc/nagios3/commands.cfg
89
90   - En este archivo ya tenemos dos definiciones de comandos que usamos. Estos se llaman
91     notify-host-by-email y notify-service-by-email. Vamos a agregar los comandos nuevos.
92
93   - Sugero que haz un COPY y PASTE del texto abajo. Es casi imposible tipearlo sin tener
94     errores.
95
96   - Ponga estes dos entradas debajo las entradas de notify-host-by-email y notify-service-by-email.
97
98   - NOTA! El "command_line" es una sola linea.
99
100
101################################################################
102# Additional commands created for network management workshop #
103################################################################
104
105# 'notifiy-host-ticket-by-email' command definition
106define command{
107        command_name    notify-host-ticket-by-email
108        command_line    /usr/bin/printf "%b" "***** Nagios *****\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$
109        }
110
111# 'notify-service-ticket-by-email' command definition
112define command{
113        command_name    notify-service-ticket-by-email
114        command_line    /usr/bin/printf "%b" "***** Nagios *****\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$
115        }
116
117
1183.) Elige un Servicio para Monitorear y Generar Tickets en RT
119-------------------------------------------------------------
120
121   - Esto es el ultimo paso. Tiene que indicar a Nagios que quiere notificar el contact
122     "tickets" por un servicio en particular. Vea en /etc/nagios3/conf.d/generic-service_nagios2.cfg
123     que grupo de contacto por defecto es "admins" - Para cambiar este por un servicio tiene que
124     editar el archivo /etc/nagios3/conf.d/services_nagios2.cfg y agregar una entrada de
125     contact_groups por uno de las entradas de definicion de servicio.
126
127   - Para mandar un correo que genera un ticket si el servicio de SSH se caya
128     tiene que editar el chequeo del service SSH para que se vea asi:
129
130# check that ssh services are running
131define service {
132        hostgroup_name                  ssh-servers
133        service_description             SSH
134        check_command                   check_ssh
135        use                             generic-service
136            notification_interval           0 ; set > 0 if you want to be renotified
137            contact_groups                                      tickets
138}
139
140     Nota que agregamos el parametro "contact_groups" - Puede hacer esto por otras entradas
141     si quiere.
142 
143   - Ahora graba el archivo y sale.
144
145   - Recargar Nagios para verificar que todo esta bien.
146
147   # /etc/init.d/nagios3 stop
148   # /etc/init.d/nagios3 start
149
150
1514.) Generar Pedidos en RT por Hosts
152-----------------------------------
153
154   - Para hacer esto tiene que especificar el parametro "contact_groups tickets" por
155     una definicion de cada host (por ejemplo un pc en pcs.cfg), o tiene que actualizar
156     la plantilla por todo los "hosts" y cambiar la entrada de contact_groups para
157     usar "tickets". Esto es el archivo /etc/nagios3/conf.d/generic-host_nagios2.cfg.
158
159   - Si lo hace esto Nagios se va a generar un pedido nuevo en RT cada vez que se caya
160     una maquina.
161
1625. Ver los Pedidos de Nagios en RT
163----------------------------------
164
165   - Para verificar que todo esta funcionando teien que para el servicio ssh en su
166     maquina o en otra maquina:
167.
168
169   # /etc/init.d/ssh stop
170
171   - Puede demorar hasta 10 minutes para que Nagios reporta que el servcio de SSH es
172     critico. Pero, despues que se lo hace deberia aparecer un pedido nuevo en la cola
173     de "net" en RT.
174
175   - Para ver esto vaya a http://localhost/rt/ y haz un login como "sysadmin". El pedido
176     nuevo deberia aparecer en la pagina en la caja llamada "10 newest unowned tickets".