Мой сервер приложений jboss генерирует довольно большие файлы журналов, часто от 8 до 10 ГБ. Как я могу просмотреть эти файлы журналов на моем сервере redhat linux?
Я обычно использую less
для просмотра файлов журнала. Он может просматривать огромные файлы журнала (несколько гигабайт). less
также может просматривать сжатые файлы журналов (заканчивающиеся на .gz
).
Вы также можете использовать grep
для фильтрации по определенному шаблону.
Попробуйте использовать команду разделения.
split --bytes=100M <logfile> <logfile>
И да, чаще меняйте файлы журналов. Не делать этого - ужасное преступление.
Вы также можете использовать «заголовок», чтобы указать первые строки, или «хвост», чтобы указать конец файла. Если вы добавите число после «головы» или «хвоста», отобразится это количество строк.
Алан
У нас есть похожая проблема (большие файлы журнала, но не 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'ing для сегодняшней отметки времени, т.е.
grep "^Dec 27 08:14" /my/log/file > /tmp/814amLog.txt
Тогда я меньше или vim -R файл 814amLog.txt. Идея состоит в том, чтобы получить интересующий вас кусок небольшого размера.
Команду split, заданную в качестве первого ответа, можно использовать, но, по моему опыту, она дает довольно произвольные результаты. Обычно я ищу то, что произошло «примерно в это время». Так что поиск по дате и времени используется чаще.
Вы можете написать сценарий cron, чтобы ночью просматривать ваши журнальные файлы и сохранять их в подходящем месте, чтобы вам не приходилось делать это специально. Я также настоятельно рекомендую создать задание для gzip-сжатия файлов журнала старше дня или около того, так как вы будете поражены тем, сколько места на диске вы сэкономите.