Как читать log-файлы access.log?

Лог-файл access.log в папке /var/log/nginx/ очень быстро наполняется.
Не совсем пойму как читать лог-файл. Вот несколько строк:

190.2.143.139 - - [09/Jan/2019:18:52:39 +0300] "GET http://paxtonguiw14703.blogstival.com/?s=ortuez HTTP/1.1" 200 8780 "-" "Mozilla/5.0 (iPhone9,4; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1"
5.9.89.80 - - [09/Jan/2019:18:52:39 +0300] "GET http://89.43.64.58:5878/safrantv/default.stream/playlist.m3u8?dv?V39E5K3CKGRIN3PZX6 HTTP/1.1" 499 0 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 2.0.50727; WOW64)"
5.9.89.80 - - [09/Jan/2019:18:52:39 +0300] "GET http://shaiyaresurgence.com/en/?2CWP4398K93SJ49YTH HTTP/1.1" 499 0 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET https://shaiya-immortal.com/en/?AGNC9FVFEB0YW9JI5Y HTTP/1.1" 499 0 "-" "Opera/12.0(Windows NT 5.2;U;en)Presto/22.9.168 Version/12.00"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://89.43.64.58:5878/safrantv/default.stream/playlist.m3u8?dv?OHPMS0189ALA38QU8F HTTP/1.1" 499 0 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://89.43.64.58:5878/safrantv/default.stream/playlist.m3u8?dv?VM2LLYOI7I6AVJUZU3 HTTP/1.1" 499 0 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 2.0.50727; WOW64)"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET https://www.baidu.com/link?url=IoWGYpKKMxUWnB70_bAN-rbbEq3e1IqQ8D54czB-JFG HTTP/1.1" 499 0 "-" "Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://shaiyaresurgence.com/en/?2MA7M9GFSXJ8Q3M7IV HTTP/1.1" 499 0 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET https://shaiya-immortal.com/en/?X52D93PP826SEW0LME HTTP/1.1" 499 0 "-" "Opera/12.0(Windows NT 5.2;U;en)Presto/22.9.168 Version/12.00"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://89.43.64.58:5878/safrantv/default.stream/playlist.m3u8?dv?H23POYJDRJVUT18RFK HTTP/1.1" 499 0 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://89.43.64.58:5878/safrantv/default.stream/playlist.m3u8?dv?2GKY8JYDX9JJ08CVL7 HTTP/1.1" 499 0 "-" "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/4.0; InfoPath.2; SV1; .NET CLR 2.0.50727; WOW64)"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET https://www.baidu.com/link?url=IoWGYpKKMxUWnB70_bAN-rbbEq3e1IqQ8D54czB-JFG HTTP/1.1" 499 0 "-" "Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00"
5.9.89.80 - - [09/Jan/2019:18:52:40 +0300] "GET http://shaiyaresurgence.com/en/?DT9FBEYS4L71I1P8OS HTTP/1.1" 499 0 "-" "Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"


В строках нет ни URL-адресов моего сайта, ни ip-адресов. Я так понимаю выполняется GET запрос по одному из адресов выше. Только причем тут мой сервер? Как это остановить? =)

Из-за быстрого увеличения логов пропадает место на диске.
Я попробовал настроить logrotate для nginx вот так. Поставил ограничение на 5М, но толку нет. После преодоления размера в 5М лог продолжает расти, а не превращается в архив.

/var/log/nginx/*.log {
    size=5M
	daily
	missingok
	rotate 14
	compress
	delaycompress
	notifempty
	create 0640 www-data adm
	sharedscripts
	prerotate
		if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
			run-parts /etc/logrotate.d/httpd-prerotate; \
		fi \
	endscript
	postrotate
		invoke-rc.d nginx rotate >/dev/null 2>&1
	endscript
}
  • Вопрос задан
  • 393 просмотра
Пригласить эксперта
Ответы на вопрос 4
@xoo
понравился ответ - поставь ✔
Похоже на работу сканера прокси, учитывая GET запросы к чужим сайтам
Тут у человека такая же проблема
Ответ написан
@dxp
Web developer
логи легко читаются:
5.9.89.80 - ip клиента
- - - данные http авторизации
[09/Jan/2019:18:52:40 +0300] - дата и время запроса
"GET http://shaiyaresurgence.com/en/?DT9FBEYS4L71I1P8OS HTTP/1.1"
- сам запрос
499 - код ответа сервера
0 - кол-во переданных от сервера байт
"-" - http referer
"Mozilla/5.0 (BlackBerry; U; BlackBerry 9850; en) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+"
- user agent

по факту - на 99% это запроса от бота:
* ip адрес 5.9.89.80 - из пула хостера Hetzner
* 499 - бот не дождался ответа сервера и сразу закрыл соединение
* да и запросы некорректные (если стандартный формат лога не меняли) - там не должно быть протокола и хоста, то есть вместо
"GET http://shaiyaresurgence.com/en/?DT9FBEYS4L71I1P8OS HTTP/1.1"
должно быть "GET /en/?DT9FBEYS4L71I1P8OS HTTP/1.1"

- самое простое забанить ip на firewall

по поводу logrotate:
Обычно он запускается всего 1 раз в сутки (скрипт лежит в /etc/cron.daily) и сразу по достижению 5М ничего не произойдет. Более того параметр delaycompress говорить что первая копия (*.log.1) архивироваться не будет, сожмется только вторая.
хотите - можете перенести /etc/cron.daily/logrotate в /etc/cron.hourly и запуск logrotate будет каждый час
Ответ написан
inside22
@inside22
Вадим Тимошенко может проще подключить Cloudflare.com и забыть про эту головную боль.

Обратите внимание на запросы, они все со статусом 499, вас тупо атакуют, чтобы загрузить ваш сервер.

499 CLIENT CLOSED REQUEST
A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the request.


Cloudflare на ура решит бесплатно все ваши проблемы :=)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы