1 | Gestion y Monitoreo de Redes |
---|
2 | Creacion de Tickets Usando Nagios y Request Tracker |
---|
3 | |
---|
4 | Notas: |
---|
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 | |
---|
14 | Exercicios Parte I |
---|
15 | ------------------ |
---|
16 | |
---|
17 | Para configurar RT y Nagios para que las alertas de Nagios pueden generar un pedido en |
---|
18 | RT 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 | |
---|
29 | Exercises |
---|
30 | --------------------------------- |
---|
31 | |
---|
32 | 0. Haz un log in en su PC o abre una ventana de terminal como el usuario sysadmin. |
---|
33 | |
---|
34 | |
---|
35 | 1.) 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 | |
---|
44 | define 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 | |
---|
68 | define 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 | |
---|
81 | 2.) 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 |
---|
106 | define 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 |
---|
112 | define 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 | |
---|
118 | 3.) 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 |
---|
131 | define 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 | |
---|
151 | 4.) 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 | |
---|
162 | 5. 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". |
---|