Ahora que comprende cómo identificar puntos de falla en su sistema, es hora de pasar a la siguiente capa del proceso de resolución de problemas. Supongamos que le han notificado que hay un problema con la infraestructura subyacente que admite las aplicaciones de un equipo. A partir de las habilidades de Diagnosticar fallas de aplicaciones con datos del host, aprenderá una forma de comparar datos para poder tomar una decisión sobre la asignación de recursos.
Objetivos
En este tutorial, aprenderá cómo:
- Solucionar problemas de un host de alerta con CPU alta
- Tomar una decisión impulsada por datos sobre la asignación de recursos
Investigar un aumento repentino en la CPU
Determina si hay un problema con tus recursos.
Supongamos que no tiene contexto adicional sobre la naturaleza de la interrupción. El primer paso es determinar si un cambio puede correlacionarse con los recursos. Comience en la página de resumen y evalúe sus datos relacionados con los recursos: su CPU, uso de memoria y utilización del disco.
Usando esta captura de pantalla como ejemplo, puedes inferir que:
host-tower-portland
tiene un incidente de alerta crítica.En la tabla de resumen, puede ver que la CPU se está calentando al 99,84%.
Las gráficas métricas muestran que este comportamiento se ha prolongado durante al menos 30 minutos.
Dado que este comportamiento es inesperado, querrás profundizar en ese host específico.
Correlaciona tus datos
Después de hacer clic en un host, aparece una nueva página de resumen con datos específicos de ese host. En esta etapa, está intentando desarrollar los patrones identificados en la página de resumen. Veamos si podemos correlacionar el porcentaje de CPU con algún otro dato específico de host-tower-portland
.
Dado que estamos tratando con el porcentaje de CPU, queremos determinar si el problema está relacionado con la aplicación o con la máquina. Para hacer eso, desea comparar la tabla Processes running con el Latest events en la barra lateral. Este paso elimina la ambigüedad si se produce un problema porque se realizó un cambio directamente en la máquina o si un proceso está agotando los recursos.
Basado en esta captura de pantalla:
El uso de la CPU se está acelerando y se está estancando cerca del 100%.
No se informó ningún evento en los últimos 30 minutos, aproximadamente cuando ocurrió el cambio por primera vez. Si hubiera informes de eventos, buscaría cualquier cambio en el archivo de configuración de la máquina o verificaría si alguien ingresó a la máquina para realizar cambios directamente.
Hay un proceso
ruby
que utiliza hasta el 77,34% de su CPU.Debido a que ha correlacionado el porcentaje de CPU con un proceso, puede concluir que una aplicación está acaparando sus recursos en lugar de que el problema provenga del propio host.
Determinar si debes asignar más recursos a esa aplicación
Un problema relacionado con los recursos no siempre significa que la solución sea aprovisionar más recursos. Hay varias razones para una CPU alta, pero estas dos importantes son:
La aplicación está ejecutando un proceso redundante que hace que la CPU aumente. Si este es el caso, debes comunicarte con el equipo propietario para optimizar esa aplicación.
Más usuarios finales acceden a ese componente y agregan estrés a su sistema. Si este es el caso, entonces deberías aprovisionar más recursos para hacer frente a esa carga.
Si miramos la página de resumen de
host-tower-portland
, podemos identificar qué escenario se aplica a esta situación correlacionando patrones de series temporales entre diferentes gráficos. Comparemos el tráfico de la red con su infraestructura métrica.En este caso, espera que el gráfico
Network traffic
tenga una tendencia similar a sus gráficos métricos para el uso de CPU, uso de memoria, etc.
Si sus recursos están relacionados con problemas de aplicaciones en lugar de con la carga, entonces la serie temporal de su red tendría una tendencia normal, es decir, sin picos ni caídas.
Sin embargo, si la carga es la causa de una CPU alta, entonces notará que la serie temporal de su red refleja las tendencias en sus otros gráficos métricos.
Comparemos nuestro CPU usage y Network traffic:
Si la carga está estresando su sistema, el tráfico de su red mostraría un aumento paralelo a sus gráficos métricos.
También podrías notar una lenta disminución del tráfico con el tiempo después de un pico. Esto se debe a que los recursos se están agotando y provocando que esos procesos se detengan. En otras palabras, si los recursos disponibles no pueden soportar la demanda, entonces el tráfico de la red podría ralentizarse y provocar una disminución constante.
Sin embargo, el tráfico de red muestra un comportamiento constante. El comportamiento general no parece cambiar con el tiempo a medida que se agotan los recursos. En cambio, la serie temporal muestra picos y valles regulares.
Esto indica que el problema en realidad está en la aplicación, en lugar de que la aplicación necesite más recursos para satisfacer la carga.
En este caso, no asignaría recursos adicionales a la aplicación. En su lugar, comuníquese con el equipo propietario y recomiende que optimicen el proceso infractor de Ruby.
Compartir con el equipo
Cuando haces recomendaciones a otros equipos, quieres que todos vean los mismos datos. Esto garantiza que cuando se toman decisiones sobre posibles cambios, esas decisiones se basen en los mismos datos utilizados en la resolución de problemas.
En los pasos anteriores, aplicamos la consulta de filtro para mostrar conjuntos específicos de hosts relacionados con un problema. Esto actualiza los datos de la página de resumen, que puede guardar para otros equipos.
Determine cuántos datos podría necesitar el otro equipo para realizar su trabajo. Tal vez haya conjuntos de hosts que deban tenerse en cuenta, o tal vez solo necesiten una porción de datos de ejemplo.
Cree un filtro que muestre solo los datos relevantes. Para simplificar, la vista guardada incluye un host del filtro
hostname = host-tower-portland
. Otra posibilidad es filtrar por nombres de aplicaciones o quizás por estado de alerta.Asigne un nombre a la vista y luego haga clic en Save.
Una vez que haya creado una vista de datos, es hora de guardarla para que otros equipos puedan buscarla. Cuando están resolviendo problemas con el comportamiento de su propia aplicación, pueden encontrar la vista buscando en el menú desplegable.
¿Que sigue?
Hasta ahora hemos cubierto cómo utilizar los datos de la infraestructura para solucionar un incidente relacionado con los recursos. Hemos cubierto cómo reducir el alcance de miles de hosts a un conjunto de hosts y luego correlacionar los datos para tomar una decisión. El siguiente documento le muestra cómo crear un panel personalizado utilizando infraestructura métrica.