1

У меня есть несколько частично сжатых повернутых файлов журналов с сервера приложений Glassfish (с использованием пользовательского формата ведения журнала Java):

/tmp/server.log        /tmp/server.log.13.gz  /tmp/server.log.18.gz  /tmp/server.log.23.gz  /tmp/server.log.28.gz  /tmp/server.log.32.gz  /tmp/server.log.37.gz  /tmp/server.log.4.gz  /tmp/server.log.9.gz
/tmp/server.log.1      /tmp/server.log.14.gz  /tmp/server.log.19.gz  /tmp/server.log.24.gz  /tmp/server.log.29.gz  /tmp/server.log.33.gz  /tmp/server.log.38.gz  /tmp/server.log.5.gz
/tmp/server.log.10.gz  /tmp/server.log.15.gz  /tmp/server.log.20.gz  /tmp/server.log.25.gz  /tmp/server.log.2.gz   /tmp/server.log.34.gz  /tmp/server.log.39.gz  /tmp/server.log.6.gz
/tmp/server.log.11.gz  /tmp/server.log.16.gz  /tmp/server.log.21.gz  /tmp/server.log.26.gz  /tmp/server.log.30.gz  /tmp/server.log.35.gz  /tmp/server.log.3.gz   /tmp/server.log.7.gz
/tmp/server.log.12.gz  /tmp/server.log.17.gz  /tmp/server.log.22.gz  /tmp/server.log.27.gz  /tmp/server.log.31.gz  /tmp/server.log.36.gz  /tmp/server.log.40.gz  /tmp/server.log.8.gz

Как мне просмотреть их в целом, как если бы они были объединены в один файл - в правильном порядке? Видел некоторые подходы с использованием awstats и goaccess , но первый подход специфичен для apache, а последний, похоже, не работает должным образом.

Есть ли способ сделать это без необходимости извлекать все?

2 ответа2

2

Я использую GoAccess для анализа всех моих сжатых файлов, используя собственный формат журнала (Apache).

zcat -f /tmp/server.log* | goaccess -a

Вы можете проанализировать почти все даты / форматы журнала. Смотрите справочную страницу.

0

Использовать этот:

cd /var/log/...
ls | tac | while IFS= read i; do if [[ $i == *.gz ]]; then gzip -d; else cat; fi < "$i"; done | less

Предостережение: неправильно упорядочивает файлы журналов, когда присутствуют многозначные суффиксы, такие как .1 , .2 , ..., .10 . У кого-нибудь есть идея для этого?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .