...

вторник, 11 марта 2014 г.

Подсчет статистики загрузок в Google Analytics

image

Продолжая тему использования связки Nginx + Lua решил поделиться небольшой инструкцией подсчета загрузки статических данных и учетом всего этого в Google Analytics.



Будем считать что связка nginx-lua уже настроена и у нас имеется имя счетчика. Если нет, то в сети есть множество инструкций, также есть готовые сборки ( openresty.org/ ).

Для учета нам понадобиться скрипт, который будет отправлять данные в GA. Писать свой не хотелось и на просторах Github-a был найден пример: http://ift.tt/1kd6ZPG Данный скрипт имеет один метод track, который принимает обязательным параметром имя счетчика, так же могут быть переданы имя хоста и путь, которые нужно передать. После его срабатывания, на панели статистики в реальном времени увидим наш переданный путь.

Учитывать загрузки можно двумя способами:


  • учитывать по пути загружаемого файла;

  • учитывать через события.




Первый вариант удобен когда нет смысла разделения файлов по категориям/группам, либо когда это сделать возможности нет, но вести статистику хочется. Второй вариант подходит для случая, когда есть строгая структура файлов, к примеру: раздел-категория-тип.

Рассмотри оба.
Простой учет пути



Самый простой путь, не требующий никаких особых манипуляций и подготовки. Поэтому приведу лишь конечную часть конфига nginx.

resolver 8.8.8.8;
access_by_lua '
local ssga = require( "ssga" )
ssga.track({ua = "UA-25XXXXXX-1")
';




Перезагружаем и любуемся побежавшими записями в GA.
Учет через события



Данный способ требует определиться с тем, как будем квалифицировать скачиваемые файлы. В терминах GA нам нужно выделить 3 сущности: категория, действие, метка. В своем случае для этого использовал имена папок, тогда конечный URL загружаемого файла имел вид: http://ift.tt/1ivFZNN

Так же необходимо было научить имеющийся скрипт передавать данную информацию в GA. После небольших модификаций была получена расширенная версия скрипта ( http://ift.tt/1kd705W ).

В итоге имеем следующую конфигурацию:

server {
listen 80;
server_name dl.domain.name;

root /var/www/public;
error_page 502 /502.html;

location / {

add_header Cache-Control public;
expires max;

resolver 8.8.8.8;

access_by_lua '
opt = {}
index = 0
for value in string.gmatch(ngx.var.uri ,"%w+") do
opt [index] = value
index = index + 1
end
local ssga = require( "ssga" )
ssga.event({ua = "UA-25XXXXXX-1", domain = "dl.domain.name", category = opt[0], action = opt[1], label = opt[2], value = 1})
';
}
}




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

Изображение в шапке взято отсюда.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий