вт, 12 июл. 2022 г. в 22:56, Gena Makhomed <g...@csdoc.com>: > On 12.07.2022 18:40, Maxim Dounin wrote: > > > А что у вас по осям? (c) > > > > В смысле - что в log_format? Следом за $status обычно идёт > > $body_bytes_sent, и это размер тела ответа, имеющий приблизительно > > никакого отношения к размеру тела запроса. > > На том сервере log_format такой: > > log_format frontend '$time_iso8601\t$geoip_country_code\t$remote_addr\t' > '$scheme\t$host\t$request_method\t"$request_uri"\t' > '$status\t$body_bytes_sent\t"$http_referer"\t' > '"$http_user_agent"\t$request_time\t' > '$upstream_response_time'; >
если рассматривать с точки зрения эффективного использования диска, то поля $scheme, $host являются практически константами, можно не логировать их на каждую строчку лога (а, например, разнести разные host-ы по разным логам). и, если поля разделяются табуляцией, то кавычки избыточны в качестве ориентира удобно брать число байт в 1 строке лога > > Очень удобно использовать символ табуляции в качестве разделителя, > логи тогда без проблем читаются в mc и с помощью grep | less -S > и еще в Microsoft LogParser, Clickhouse, awk, .... > > Софтом лог с разделителем в виде символа табуляции парсить удобно: > time, geoip_country_code, remote_addr, ... = line.split('\t') > > Применяю этот метод в https://github.com/makhomed/autofilter > потому что NGINX App Protect Denial of Service слишком дорого. > > Вот еще раз все проверил только что: > > # nginx -q -T | grep client_body_buffer_size > client_body_buffer_size 16k; > > error.log: > > 2022/07/12 20:23:26 [warn] 2479#2479: *63684 a client request body is > buffered to a temporary file /var/cache/nginx/client_temp/0000000290, > client: 111.222.33.44, server: sentry.example.com, request: "POST > /api/8/envelope/?sentry_key=xxxxxxxxxx&sentry_version=7 HTTP/2.0", host: > "sentry.example.com", referrer: "https://example.com/" > > access.log: > > 2022-07-12T20:23:26+03:00 XX 111.222.33.44 https > sentry.example.com POST > "/api/8/envelope/?sentry_key=xxxxxxxxxx&sentry_version=7" 200 41 > "https://example.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" > 0.037 0.002 > > Размер контента - всего 41 байт, что гораздо меньше чем 16 килобайт, > и тем не менее, контент все равно пишется на диск зачем-то. > Как такое может быть? > > -- > Best regards, > Gena > _______________________________________________ > nginx-ru mailing list -- nginx-ru@nginx.org > To unsubscribe send an email to nginx-ru-le...@nginx.org >
_______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org