Назад | Перейти на главную страницу

Как создать эффективную статистику загрузки файлов, размещенных с помощью nginx

Моя проблема

У меня есть установка debian squeeze, использующая nginx в качестве моего веб-сервера и обрабатывающая запросы PHP5 с использованием php-fpm, который отлично работает. У меня есть один каталог, в котором хранятся статические zip-файлы программы в разных версиях. Я бы хотел получить хорошую статистику загрузок о том, как часто загружался файл. Я не уверен, как лучше всего это реализовать. Я создал отдельный location в моем файле конфигурации, чтобы отдельно регистрировать эти загрузки.

Получение необработанных данных

Для получения необработанных данных, то есть номеров загрузок, я имею в виду две возможности:

  1. Использование сценария, написанного на Perl, для регулярного анализа файлов журнала.
  2. Используя post_action в моем отдельном блоке местоположения для запуска сценария ведения журнала по завершении загрузки.

Обработка данных

Для обработки и регистрации данных я мог создавать изображения с помощью различных инструментов:

  1. Сохраните такие значения, как имя файла и время загрузки, в sqlite базу данных и читать данные оттуда.
  2. Использовать rrdtool для непосредственного хранения данных в циклическом режиме, что также упростило бы создание графиков.

Есть еще одна возможность сделать все вышеперечисленные шаги устаревшими, но я не знаю, сработает ли это. Я использую Google Analytics для этого сайта, могу ли я каким-то образом регистрировать эти номера загрузок с помощью этого? При этом мне не пришлось бы ничего реализовывать.

если вы можете регистрировать свои доступы к другому файлу журнала, вы также должны иметь возможность указать формат файла журнала, и awstats должен иметь возможность обрабатывать журнал и cronjob'able, поэтому может регулярно обрабатывать результаты и будет иметь достаточно приличные статистика для вас

однако, если вы хотите рисовать в стиле фанк (awstats делает только базовые полосы), вам понадобится что-то еще