Problema al leer archivos de registro grandes en el servidor Redhat Linux

Problema al leer archivos de registro grandes en el servidor Redhat Linux

Mi servidor de aplicaciones jboss genera algunos archivos de registro bastante grandes, a menudo de entre 8 y 10 GB. ¿Cómo puedo ver estos archivos de registro en mi servidor Redhat Linux?

Respuesta1

Intente usar el comando dividir.

split --bytes=100M <logfile> <logfile>

Y sí, rote sus archivos de registro con más frecuencia. Es un crimen atroz no hacerlo.

Respuesta2

Normalmente lo uso lesspara ver archivos de registro. Puede ver archivos de registro de gran tamaño (bytes de varios giga). lessTambién es capaz de ver archivos de registro comprimidos (que terminan en .gz).

También puede utilizar greppara filtrar por patrón específico.

Respuesta3

También puede utilizar un 'encabezado' para enumerar las primeras líneas o un 'cola' para enumerar el final del archivo. Si agrega un número después de la 'cabeza' o la 'cola', se mostrará esa cantidad de líneas.

alan

Respuesta4

Tenemos un problema similar aquí (archivos de registro grandes, aunque no JBoss), y todo lo que puedo decir es "grep es tu amigo". Supongo que sus archivos de registro se verán así:

Dec 27 08:14:35 hostname kernel: bnx2: eth1 NIC Copper Link is Up, 1000 Mbps full duplex
Dec 27 08:14:35 hostname kernel: eth2: Link is Up 1000 Mbps Full Duplex, Flow Control: None
Dec 27 08:14:35 hostname kernel: eth3: Link is Up 1000 Mbps Full Duplex, Flow Control: None
Dec 27 08:14:36 hostname pcscd: hotplug_libusb.c:402:HPEstablishUSBNotifications() Driver ifd-egate.bundle does not support IFD_GENERATE_HOTPLUG. Using active polling instead.

(Estos se extraen de un archivo /var/log/messages, pero la idea es que cada entrada esté precedida por una marca de tiempo).

Dado que su archivo de registro está lleno de marcas de tiempo, lo que hago es algo parecido a lo siguiente:

grep '^`fecha "+%b %d"` 08:14' /mi/log/archivo > /tmp/814amLog.txt

Lo que en realidad es simplemente buscar la marca de tiempo de hoy, es decir,

grep "^27 de diciembre 08:14" /my/log/file > /tmp/814amLog.txt

Luego resto o vim -R el archivo 814amLog.txt. La idea es dividirlo en un trozo del tamaño de un bocado que le interese.

El comando de división dado como primera respuesta es utilizable, pero en mi experiencia da resultados bastante arbitrarios. Por lo general, busco algo que sucedió "más o menos en este momento". Por lo tanto, la búsqueda por fecha y hora se utiliza con más frecuencia.

Puede programar un trabajo cron para revisar sus archivos de registro por la noche y guardarlos en un lugar apropiado, de modo que no tenga que hacerlo ad hoc. También recomiendo encarecidamente crear un trabajo para comprimir con gzip archivos de registro de más o menos un día, ya que se sorprenderá de la cantidad de espacio en disco que ahorra.

información relacionada