Мой сервер приложений jboss генерирует довольно большие файлы журналов, часто около 8–10 ГБ. Как просмотреть эти файлы журналов на моем сервере RedHat Linux?
решение1
Попробуйте использовать команду split.
split --bytes=100M <logfile> <logfile>
И да, чаще меняйте файлы журналов. Не делать этого — отвратительное преступление.
решение2
Я обычно использую less
для просмотра файлов журналов. Он может просматривать огромные файлы журналов (многогигабайтные). less
также способен просматривать сжатые файлы журналов (заканчивающиеся на .gz
).
Вы также можете использовать grep
фильтр для определенного шаблона.
решение3
Вы также можете использовать «head» для перечисления первых строк или «tail» для перечисления конца файла. Если вы добавите число после «head» или «tail», оно отобразит это количество строк.
Алан
решение4
У нас похожая проблема (большие файлы журналов, хотя и не JBoss), и все, что я могу сказать, это "grep - ваш друг". Я предполагаю, что ваши файлы журналов выглядят примерно так:
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.
(они извлекаются из файла /var/log/messages, но идея заключается в том, что каждой записи предшествует метка времени).
Учитывая, что ваш файл журнала заполнен временными метками, я делаю что-то вроде следующего:
grep '^`date "+%b %d"` 08:14' /my/log/file > /tmp/814amLog.txt
Что на самом деле является просто поиском сегодняшней временной метки, т.е.
grep "^27 дек 08:14" /my/log/file > /tmp/814amLog.txt
Затем я less или vim -R файл 814amLog.txt. Идея в том, чтобы поместить его в небольшой кусок, который вам интересен.
Команда split, указанная в первом ответе, пригодна к использованию, но по моему опыту дает довольно произвольные результаты. Обычно я ищу что-то, что произошло "примерно в это время". Поэтому grep'инг по дате и времени используется чаще.
Вы можете написать задание cron, чтобы ночью просмотреть ваши файлы журналов и сохранить их в подходящем месте, чтобы вам не пришлось делать это спонтанно. Я также настоятельно рекомендую создать задание для сжатия файлов журналов gzip старше дня или около того, так как вы будете удивлены тем, сколько места на диске вы сэкономите.