Данные записываются в файл; Как вращать журналы и как анализировать данные, чтобы в них не было «пробелов»? - PullRequest
1 голос
/ 23 марта 2010

У меня есть веб-приложение, которое по соображениям производительности выбрасывает любые данные, отправленные в лог-файл.

У меня есть две проблемы с этим подходом:

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

Как мне организовать анализ таким образом, чтобы я могпроанализировать все запросы из данной сессии?Я хочу определить временную границу сеанса, например, что запросы должны быть с интервалом не более 30 минут.

Если бы у меня была почасовая ротация журнала в 00 минут:

Что если пользовательсделал один запрос в 13:59 и один в 14:01 - у пользователя в конечном итоге будут запросы в двух разных журналах.

1 Ответ

0 голосов
/ 03 апреля 2010

Ответ на часть 1: Если вы используете * nix, используйте syslog / logger. Проверьте справочные страницы logger (1) и syslog.conf (5).

Ответ на часть 2: Вы не обязаны просматривать только один файл журнала за раз. less ${SERVICE}* обычно открывает все соответствующие файлы журнала вместе: когда вы переходите к нижней части страницы,: n переходит к следующему файлу и: p назад.

В качестве альтернативы используйте программу анализа журнала. Пост Стива Кемпа о том, как быстро найти иголки в оболочках стога сена, вместе с его комментариями, много земли.

...