профильного чата не нашел.
Стоит задача посчитать количество запросов, попавших в определенный location и завершившихся успешно (код ответа 200 или 206)
Использую header_filter_by_lua_file, чтобы проанализировать коды ответа. Проблема в том, что не вcе нужные мне запросы в конечном итоге обрабатываются header_filter_by_lua_file.
Если вместо header_filter_by_lua_file использовать access_by_lua_file, вижу, что обрабатываются все нужные мне запросы, но в данном случае соединение еще не завершено и кода ответа нет.
Кто-то может сталкивался с подобным и может ответить почему не все запросы обрабатываются блоком header_filter_by_lua_file, хотя в нужный location 100% попадают?
конфиг location-a выглядит примерно вот так:
location ~* ^/(hls|mbr)jwt/ {
location ~* ^/(hls|mbr)jwt/(.*)\.m3u8 {
header_filter_by_lua_file /etc/nginx/lua/add_session.lua;
fastcgi_pass unix:/tmp/hlsjwt;
А какой код ответа у тех запросов, которые теряются?
"200", но, есть запросы с кодом "200" которые проходят, например этот
А этот 200 - он кем генерируется? Подозреваю, что если из fastcgi случается внутренний редирект - фаза header send может случаться в контексте другого location
хм ,похоже, ты прав.
Если нужно статистику , возьми модуль vts и снимай данные по локейшену
vts же даст общее количество запросов по локейшену, а мне нужны уникальные
Что значит уникальные ? Если вам по времени, то собирайте их куда то и анализируете как хотите
vts что угодно дает.
например 1-й клиент: /hlsjwt/UNIQ_ID_1/index.m3u8 -100 запросов за час 2-й клиент /hlsjwt/UNIQ_ID_2/index.m3u8 - 100 запросов за час т.е. 2 клиента генерируют в сумме 200 запросов, а по факту мне нужна информация о том, что клиентов 2. * оба клиента могут делать запросы с одного и того же ip
пойду в документацию vts
Ну вы можете сделать один фильтр, можете к фильтрам добавить и ip и useragent
Могут быть проблемы, если клиентов очень много. Я как-то случайно запустил сбор по $request_id...
Я как то сделал глобальную статистику по входящим ip
Обсуждают сегодня