Lo hemos visto una y otra vez, un ticket llega a la mesa de ayuda, un cliente se queja de una aplicación lenta o de una mala calidad de voz durante una llamada. Empezamos a investigar el problema, tal vez sacamos algunos registros, tomamos algunos datos de rendimiento del NMS. Todo lo que encontramos no es concluyente, y cuando volvemos a consultar al cliente los síntomas han pasado. El problema ha desaparecido y hay otro ticket en la cola, así que seguimos adelante, sin saber qué causó el problema, sabiendo que volverá a aparecer.
El proceso de llegar al núcleo o raíz de un fallo o problema se denomina Análisis de Causa Raíz (ACR). El Análisis de la Causa Raíz no es un proceso único y estricto, sino un conjunto de pasos, a menudo organizados específicamente por tipo de problema o industria, que pueden personalizarse para un problema concreto. Cuando se trata de identificar la causa raíz de un suceso relacionado con las TI, puede emplearse una combinación de análisis basado en procesos y en fallos. Aplicando un proceso de ACR y corrigiendo los problemas para evitar que se produzcan en el futuro, los equipos de ingeniería reactivos pueden transformarse en proactivos, que resuelven los problemas antes de que se produzcan o se agraven.
En este artículo intentaré esbozar un proceso general para la resolución de problemas relacionados con la red, es decir, aquellos problemas que afectan directamente al rendimiento de una red informática o de una aplicación y que tienen un impacto negativo en la experiencia del usuario. Aunque utilizaré las soluciones de Opmantek en los ejemplos, estos pasos pueden aplicarse a cualquier colección de herramientas NMS.
Introducción al análisis de la causa raíz
Describir el proceso del ACR es como pelar una cebolla. Cada paso del proceso se compone a su vez de varios pasos. A continuación se incluyen los tres pasos principales del proceso de ACR. Los dos primeros pasos suelen completarse en tándem, ya sea por un individuo o por un equipo en una reunión de revisión de incidentes post-mortem.
- Identificar correcta y completamente el evento o problema,
- Establezca un calendario desde el funcionamiento normal hasta el evento,
- Separar las causas fundamentales de los factores causales
Identificar el evento o el problema
La identificación completa y precisa del problema o evento es quizás la parte más fácil del ACR cuando se trata de problemas de red.
Así es, he dicho más fácil.
Es fácil porque todo lo que tienes que hacer es preguntarte ¿Por qué? Cuando tengas una respuesta a la pregunta Por qué, pregúntate por qué ha ocurrido esa cosa. Sigue preguntándotepor qué hasta que ya no puedas hacerlo más, lo que suele ocurrir entre 4 y 5 veces. Este proceso se conoce a menudo como los 5 porqués.
Muchos ingenieros recomiendan utilizar un diagrama de Ishikawa o de espina de pescado para ayudar a organizar las respuestas a los 5 porqués. A mí me gusta esto, y a menudo utilizo una pizarra y notas adhesivas mientras trabajo en el problema. Si prefieres utilizar una herramienta de diagramación de software, está bien, pero utiliza lo que te resulte más cómodo.
Ejemplo - El poder del porqué
Este es un ejemplo del mundo real que el equipo de Servicios Profesionales de Opmantek encontró mientras realizaba una formación in situ sobre el funcionamiento del sistema. Un usuario interno llamó a la mesa de ayuda del cliente e informó de una mala calidad de audio durante una GoToMeeting con un cliente potencial.
- ¿Por qué? - Un usuario informó de la mala calidad de la voz durante una GoToMeeting (primer motivo)
- ¿Por qué? - La interfaz del router que da servicio al escritorio del usuario experimenta un alto ifOutUtil (segundo motivo)
- ¿Por qué? - Las copias de seguridad del servidor se realizan durante el horario laboral (tercera razón)
- ¿Por qué? - El trabajo cron que ejecuta los scripts de copia de seguridad está configurado para que se ejecute a las 21:00 horas de la zona horaria local (cuarta razón)
- ¿Por qué? - El servidor que ejecuta el trabajo cron está configurado en UTC (quinta razón)
El equipo comenzó con el problema inicial, tal y como se informó, y se preguntó por qué estaba ocurriendo esto. A partir de ahí, rápidamente se plantearon varias comprobaciones puntuales y sacaron datos de rendimiento del conmutador al que estaba conectado el escritorio del usuario y del router de subida de ese conmutador; esto identificó un cuello de botella de ancho de banda en el router y nos dio nuestra segunda razón.
Una vez identificado el cuello de botella del ancho de banda, los ingenieros utilizaron nuestras soluciones para identificar de dónde procedía el tráfico a través de la interfaz del router. Esto les dio el servidor de copia de seguridad, y una rápida comprobación de las tareas en ejecución identificó el trabajo de copia de seguridad - y allí se identificó el tercer Porqué.
Las copias de seguridad del sistema eran gestionadas por una tarea cron, que estaba programada para las 9 de la noche. Un comentario en la tarea cron sugería que se trataba de las 21:00 horas de la zona horaria local (EST) de la ubicación física del servidor. Esto le dio al equipo la cuarta razón.
Una comprobación de la fecha y la hora del servidor indicaba que el servidor estaba configurado para UTC, lo que nos daba el quinto Porqué.
No todos los análisis de problemas serán tan sencillos o directos. Al organizar sus preguntas sobre el porqué y sus respuestas en un diagrama de espina de pescado, identificará las causas (y los factores causales) que conducen a la definición del problema y a la causa raíz. En resumen, siga preguntando por qué hasta que no pueda seguir preguntando: ahí es donde suele empezar el problema.
Establecer un calendario
Al establecer una línea de tiempo es importante investigar tanto lo micro (la ocurrencia de este evento) como lo macro (si este evento ocurrió en el pasado). Pensando en las matemáticas de la escuela primaria, dibujo una línea de tiempo, una línea horizontal, a través de mi pizarra. En el centro coloco un punto: es T0 (tiempo cero), cuando ocurrió el acontecimiento.
A la derecha de T0añado marcas para cuando se descubrieron detalles adicionales, cuando el usuario informó del problema y cuando recogimos información de rendimiento o NetFlow. También añado marcas para cuando se produjeron o se informaron otros síntomas, y para cualquier evento adicional del NMS.
A la izquierda del T0, coloco todo lo que hemos aprendido al preguntarnos el Por qué: ¿cuándo empezaron las copias de seguridad, cuándo deberían haber empezado? También reviso mi NMS en busca de eventos que conduzcan al problema de rendimiento; ¿la utilización de la interfaz fue aumentando lentamente o se disparó de forma espectacular?
Una vez que he trazado la micro-línea de tiempo para esta ocurrencia, empiezo a mirar hacia atrás a través de mis datos. Aquí es donde resulta útil disponer de una buena cantidad de información de rendimiento relacionada con el tiempo. El sistema de información de gestión de redes (NMIS) de Opmantek puede almacenar datos de sondeo detallados de forma indefinida, lo que permite un rápido análisis visual de los eventos recurrentes basados en el tiempo.