Данные зарегистрированы в файле; Как повернуть журналы и как проанализировать данные, чтобы не иметь «пробелов» в данных?
Вопрос
У меня есть веб -приложение, которое по соображениям производительности бросает любые данные, отправляемые в файл журнала.
У меня есть две проблемы с этим подходом:
- Как мне лучше всего вращать журналы, чтобы не потерять данные?
- Для каждого сеанса пользователя зарегистрировано несколько запросов. У каждого запроса есть уникальный идентификатор, поэтому у меня есть простой способ связать запросы с сеансом. Проблема заключается в том, что если я поверну журналы, я рискую, заканчивая одним запросом в одном журнале и другом запросе в другом журнале.
Как организовать свой анализ таким образом, чтобы я позволил мне анализировать все запросы на данном сеансе? Я готов определить сессию, например, запросы должны, максимум, на 30 минут друг от друга.
Если бы у меня было почасовое вращение бревна через 00 минут:
Что, если пользователь сделал один запрос в 13:59 и один в 14:01 - пользователь в конечном итоге будет иметь запросы в двух разных журналах.
Решение
Ответ на часть 1: Если вы на *nix, используйте Syslog/Logger. Проверьте Logger (1) и Syslog.conf (5) Man Pages.
Ответ на часть 2: Вы не вынуждены смотреть только на один файл журнала за раз. less ${SERVICE}*
Обычно откроет все соответствующие файлы журнала вместе: когда вы попадете в нижнюю часть страницы,: n перенесет вас в следующий файл и: P обратно.
В качестве альтернативы используйте программу анализатора журнала. Пост Стива Кемпа Обратно на поиске игл в Syslog Hay Stacks, вместе с его комментариями, много земли.