Post on 21-Mar-2017
Como hacer troubleshooting y no morir en el intento
Fer Gleiser
fgleiser@dc-solutions.com.ar @fergleiser
Objetivos
● Desarrollar tecnicas para resolver problemas● Mejorar el tiempo de resolucion● Mejorar el diagnostico
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 2: backup lento
● Sintoma: Sin previo aviso el backup de un server pasa de 80 minutos a casi 14 horas
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 4: Es el samba o no?
● Crash aleatorio de la aplicacion● Sospechan de un file server con samba
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