Saltar al contenido

Tarea programada descontrolada

Una tarea cron descontrolada en SysAdmin Crisis: una copia de seguridad arranca hacia las tres de la madrugada y satura la CPU. Aprende su firma.

Última actualización:

Una tarea programada se dispara, no termina y mantiene la CPU al 100 %. Es el único incidente que vuelve después de que lo has atendido, porque ocuparte del proceso no es lo mismo que ocuparte de la programación.

Qué hace

En la máquina objetivo, la CPU entra en saturación: WARN, luego CRIT, y la disponibilidad se desliza con ella. La tarea es un proceso con nombre y aparece en la salida de top con su PID; por eso la parte difícil no es el diagnóstico.

La parte difícil es que el programador sigue vivo. Detienes el proceso y la misma instancia del incidente lo vuelve a arrancar poco después. Lo hace un número limitado de veces, hasta que la propia ventana de la tarea se cierra sola; así que la noche que pasas ocupándote de ella una y otra vez sí termina, pero termina porque a la tarea se le acabó la paciencia, no porque hayas resuelto algo; la línea de cierre del log lo dice así.

La firma en el log

En el log de cron arranca una tarea y luego monit muestra el mismo nombre por encima del umbral de CPU:

03:02:15 db-01 CRON[24310]: (root) CMD (/opt/jobs/backup.sh)
03:02:51 db-01 monit[588]: 'backup.sh' cpu usage of 100% matches resource limit [cpu usage > 80.0%]
03:03:40 db-01 monit[588]: 'db-01' cpu usage of 98% matches resource limit [cpu usage > 90.0%]

El momento es parte de la firma. Este incidente tiende a caer a mitad del turno, hacia las 03:00, que es justo cuando se abriría una ventana de copia de seguridad real. Encuentras el proceso con top; quién lo inició está escrito en ps y en los registros de cron.

Si lo dejas

Saturación sostenida de CPU en una sola máquina, y la deuda de SLA que trae un incidente sin resolver. Es sobrevivible, porque la máquina no pasa a DOWN por sí sola, pero desangra disponibilidad mientras dure.

Cómo distinguirlo

Se parece aQué lo distingue
Inundación DDoSAmbas acaparan la CPU. Una inundación llega a través de las máquinas web con advertencias SYN del kernel; una tarea descontrolada nombra un único proceso en una única máquina sin historia de tráfico.
Fuga de memoriaAmbas nombran un proceso. Fíjate en qué métrica se mueve: CPU aquí, RAM allí.

Cuándo aparece

Noche más temprana4
Necesitauna máquina db
Peso85
A la vezuna instancia