Agenda: ejercicios-nagios-rt.txt

File ejercicios-nagios-rt.txt, 7.6 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                           Cola de Alerta RT
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                   sistema de correo a pedido con 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# Comandos adicionales hecho por el taller gestion de redes #
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  - O, se puede agregar contact_groups a ping_servers en services_nagios2.cfg y, despues
160    en hostgroups_nagios2.cfg puede agregar mas miembros al hostgroup "ping_servers". Por
161    defecto solo tiene una entrada (gateway).
162
163   - Si lo hace esto Nagios se va a generar un pedido nuevo en RT cada vez que se caya
164     una maquina.
165
1665. Ver los Pedidos de Nagios en RT
167----------------------------------
168
169   - Para verificar que todo esta funcionando teien que para el servicio ssh en su
170     maquina o en otra maquina:
171.
172
173   # /etc/init.d/ssh stop
174
175   - Puede demorar hasta 10 minutes para que Nagios reporta que el servcio de SSH es
176     critico. Pero, despues que se lo hace deberia aparecer un pedido nuevo en la cola
177     de "net" en RT.
178
179   - Para ver esto vaya a http://localhost/rt/ y haz un login como "sysadmin". El pedido
180     nuevo deberia aparecer en la pagina en la caja llamada "10 newest unowned tickets".