Is it a fake website?

04 mayo 2007

Administrador de sistemas ¿reviso los logs?

Pequeña historia de la importancia en un administrador de sistemas de revisar los logs minuciosamente. Mejor si conoces expresiones regulares para usarlas junto con grep.

SITUACIÓN:

Servidor con cientos de conexiones de usuarios caido, no responde. (Nos percatamos de ello a los 5 segundos gracias a Nagios)

logadmingráfica de mrtg


Administrador de sistemas N: (Se dirige a los servidores para ver que ocurre. Llama desde la sala.) Tiene un kernel panic!

Administrador de sistemas L: Bien, me acerco para comprobarlo. (kernel panic, qué extraño?, llevaba meses funcionando sin problemas)

Una vez en servidores, el equipo ya había sido reiniciado (el mensaje dando el kernel panic era crucial para ver alguno de los motivos)

Administrador de sistemas N: Tenía un montón de números y códigos y al final kernel panic.

Administrador de sistemas L: (¿%$O!!)

Esperamos hasta comprobar que la máquina reinicia correctamente, realiza algún chequeo de disco, al tener journaling no hay problemas. Arranca todo correctamente.

Volvemos a nuestros equipos para revisar que es lo que ha sucedido.

Administrador de sistemas N: Voy a echar un vistazo a los logs a ver que ha sucedido.

(5 minutos)

Administrador de sistemas L: ¿Dicen algo los logs?, mirá justo los minutos antes de el reinicio.

Administrador de sistemas N: No se ve nada, líneas del reinicio pero nada más..

Administrador de sistemas L: Algo tiene que poner, vamos a ver..... (menos mal que no ponía nada) (después de un grep + expresión regular).
Mensaje del log (creo que nunca antes había visto un mensaje tan detallado de un kernel panic)



Apr  3 17:10:16 logadmin kernel: ------------[ cut here ]------------
Apr 3 17:10:16 logadmin kernel: kernel BUG at mm/prio_tree.c:528!
Apr 3 17:10:16 logadmin kernel: invalid operand: 0000 [#1]
Apr 3 17:10:16 logadmin kernel: SMP
Apr 3 17:10:16 logadmin kernel: Modules linked in: qla2300(U) qla2xxx_conf(U) qla2xxx(U) vfat fat ipt_LOG ipt_limit iptable_filter
ip
_tables md5 ipv6 autofs4 i2c_dev i2c_core microcode raid0 dm_mod button battery ac ohci_hcd e1000 floppy sg ext3 jbd mptscsih mptbas
e sd_mod scsi_mod
Apr 3 17:10:16 logadmin kernel: CPU: 1
Apr 3 17:10:16 logadmin kernel: EIP: 0060:[] Not tainted VLI
Apr 3 17:10:16 logadmin kernel: EFLAGS: 00010202 (2.6.9-22.0.2.ELsmp)
Apr 3 17:10:16 logadmin kernel: EIP is at vma_prio_tree_add+0x36/0x95
Apr 3 17:10:16 logadmin kernel: eax: 00000009 ebx: e6bc57ac ecx: 00000000 edx: 00000029
Apr 3 17:10:16 logadmin kernel: esi: ebd64e8c edi: f51595f8 ebp: dd0d8460 esp: cd4c6f3c
Apr 3 17:10:16 logadmin kernel: ds: 007b es: 007b ss: 0068
Apr 3 17:10:16 logadmin kernel: Process smbd (pid: 62051, threadinfo=cd4c6000 task=ecd84cb0)
Apr 3 17:10:16 logadmin kernel: Stack: e6bc57ac f499e680 c014e3aa e6bc57ac 000000fb 00000000 f0712280 c014eeea
Apr 3 17:10:16 logadmin kernel: dd0d8460 dd0d8458 00000000 00000001 00000000 f5159548 f499e680 0002a000
Apr 3 17:10:16 logadmin kernel: b738b000 dd0d843c dd0d8460 dd0d8458 f499e680 f499e6b0 cd4c6000 f0712280
Apr 3 17:10:16 logadmin kernel: Call Trace:
Apr 3 17:10:16 logadmin kernel: [] vma_link+0x9c/0xbc
Apr 3 17:10:16 logadmin kernel: [] do_mmap_pgoff+0x50e/0x666
Apr 3 17:10:17 logadmin kernel: [] sys_mmap2+0x7e/0xaf
Apr 3 17:10:17 logadmin kernel: [] syscall_call+0x7/0xb
Apr 3 17:10:17 logadmin kernel: Code: c3 39 ca 74 08 0f 0b 0f 02 83 4e 2e c0 8b 43 08 2b 43 04 c1 e8 0c 8d 54 02 ff 8b 46 08 2b 46
04
c1 e8 0c 8d 44 01 ff 39 c2 74 08 <0f> 0b 10 02 83 4e 2e c0 c7 43 34 00 00 00 00 83 7e 34 00 c7 43
Apr 3 17:10:17 logadmin kernel: <0>Fatal exception: panic in 5 seconds
:D

Posibles Soluciones: Revisar versiones del kernel y sistema operativo y comprobar si es un bug que ya ha sido corregido. En tal caso actualizar.

Solicitar soporte a RedHat adjuntando toda la información disponible, el fallo es claramente del kernel de redhat. ¿alguna duda?

Los LOGS nunca mienten.

Más información:

3 comentarios:

Anónimo dijo...

Jejeeje, yo eso también lo hago mucho en mi ordenador, bueno mucho no, cuando me ha pasado mirar y mirar los registros usando la herramienta de búsqueda grep junto al cat.
Como me digas que se gana mucho, no sé que hago en Industriales :P

Anónimo dijo...

Me he perdido !
Por suerte, y como ya hablamos en post's anteriores, soy programador de aplicaciones y estás cosas "supuestamente" es lógico que no las entienda ... aunque, la curiosidad me pica, y para ser sincero estube trabajando casi codo a codo con gente de entorno host ! :)

Emilio dijo...

#magarto, supongo que estarás muy bien en industriales.

#luigix, ¿dónde te has perdido?. El significado de este post es muys sencillo. Si algo falla en tus equipos, revisa los logs".
En tu caso siendo programador de aplicaciones tendrás que debugear y realizar trazas para comprobar cuando algo va mal :P