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