Cómo hacer troubleshooting y no morir en el intento

21
Como hacer troubleshooting y no morir en el intento Fer Gleiser [email protected] @fergleiser

Transcript of Cómo hacer troubleshooting y no morir en el intento

Como hacer troubleshooting y no morir en el intento

Fer Gleiser

[email protected] @fergleiser

Introduccion

● Que es● Objetivos● Metodologias● Ejemplos practicos

Objetivos

● Desarrollar tecnicas para resolver problemas● Mejorar el tiempo de resolucion● Mejorar el diagnostico

(Anti) Metodologias

● Street light● Blame-someone-else● Random change● Googlemancia

(pseudo) Metodologias

● Shotgun debugging● Tools method

Metodologias

● USE● Metodo cientifico● Universal Troubleshooting Process● TSA analysis● Checklists● Diagnostico diferencial

Puntos Importantes

● Definir bien el problema● Analisis del ambiente (alguna vez anduvo? Que

cambio?)● Criterios de estimacion● Causas comunes primero● Cherry picking● Distinguir causa de sintoma

Lo mas Importante!

● Lo mas importante no es llegar rapido a la causa

● Lo mas importante es descartar rapido todo lo que no es la causa

Primeros pasos

● Prepararse● Hacer plan de control de daños● Definir CLARAMENTE cual es el problema● Reproducir el problema● Mantenimiento preventivo y correctivo

Siguientes pasos

● Buscar la causa raiz● Corregir el problema● Hacer las pruebas y verificar que este

corregido● Festejen :)● Evitar que vuelva a ocurrir

Como acotar el problema

● Diffing● Negative testing● Hacer pruebas que descarten la mayor

cantidad de causas a la vez● Drill down● Divide and Conquer

Ejemplo 1: ping asimetrico

● Dos hosts en la misma red● Desde el host A puedo llegar al B, pero no al reves

Ejemplo 1: ping asimetrico

Ejemplo 2: backup lento

● Sintoma: Sin previo aviso el backup de un server pasa de 80 minutos a casi 14 horas

Ejemplo 2: backup lento

Ejemplo 3: Relaying denied a usuarios legitimos

● Los usuarios no pueden enviar mail hacia afuera en forma remota

● Desde la oficina funciona bien● Hacia otros usuarios internos funciona bien

Ejemplo 3: Relaying denied a usuarios legitimos

Ejemplo 4: Es el samba o no?

● Crash aleatorio de la aplicacion● Sospechan de un file server con samba

Ejemplo 4: Es el samba o no?

Ejemplo 5: storage con latencia

● Pruebas de carga sobre storage nuevo● DBA reporta que los tiempos no son todo lo buenos que deberian ser

● Cuando se hace el backup los requests a la base se encolan y provocan timeouts

Ejemplo 5: storage con latencia