Я пытаюсь разобрать файлы журнала apache, но нахожу странные результаты, и я не уверен, что они означают. Надеюсь, кто-то сможет дать некоторое представление. (все IP-адреса были изменены. На самом деле ни один из них не начинается со 192, хотя я не думал, что поисковые системы имеют значение.)
В первом примере в поле хоста отображается несколько IP-адресов:
192.249.71.25 - - [04/Aug/2009:04:21:44 -0500] "GET /publications/example.pdf HTTP/1.1" 200 2738
192.0.100.93, 192.20.31.86 - - [04/Aug/2009:04:21:22 -0500] "GET /docs/another.pdf HTTP/1.0" 206 371469
Что вызывает это? Это связано с прокси-серверами? Есть ли способ, чтобы Apache регистрировал только один?
Редактировать:
Вот:
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" common
Во втором примере часть информации просто отсутствует! Что могло бы вызвать это?
msnbot-65-55-207-50.search.msn.com - - [29/Dec/2009:15:45:16 -0600] "GET /publications/example.pdf HTTP/1.1" 200 3470073 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 266 3476792
- - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 285 594
- - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 285 4195
- - - - "-" - - "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.1)" 299 109218
crawl-17c.cuil.com - - [29/Dec/2009:15:45:46 -0600] "GET /publications/another.pdf HTTP/1.0" 200 101481 "-" "Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)" 253 101704
Моя конфигурация CustomLog говорит:
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" common
Можете ли вы опубликовать вывод httpd -l
и httpd -M
, пожалуйста?
Эта запятая разделена %h
строка выглядит подозрительно, как будто что-то застревает в значении X_FORWARDED_FOR. Тот факт, что у вас нет даты в следующих строках, кажется странным, поэтому я предполагаю, что есть загруженный модуль, который зарегистрировал ловушку регистрации и перехватывает ваш вывод.
Я никогда не видел, чтобы такое происходило, и у меня есть довольно большие установки Apache. Это должен быть какой-то ненадежный модуль, вызывающий проблемы (или, возможно, отсутствие необходимого модуля).
Другая возможность может заключаться в том, что Apache не знает, как удовлетворить вашу директиву формата. Знак «-» просто означает, что запрошенная точка данных недоступна. Эти спецификаторы формата встроены в mod_log_config, который должен (нужно?) Присутствовать по умолчанию.
Изменить ... Я знаю, что Ubuntu и Red Hat определяют как «комбинированный», так и «общий». Не могли бы вы вместо этого попробовать использовать этот формат? Я думаю, что кто-то уже упоминал об этом.
Мне кажется, что вы находитесь за прокси / кешем и используете mod_rpaf, который заменяет IP-адрес, который apache видит в% h, содержимым X-Forwarded-For. Некоторые прокси-серверы включают свой IP и перенаправленный IP-адрес (что дает вам IP-адреса 1.2.3.4,2.3.4.5. Причина, по которой вы получаете некоторые пустые результаты, заключается в том, что некоторые прокси-серверы используют заголовки, отличные от X-Forwarded-For, а rpaf заменяет нулевое значение с -.
Похоже, вы повторно используете common
определение регистрации. Вероятно, это не поддерживается. Попробуйте определить свой собственный регистратор
LogFormat "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O" mylogformat