2015-08-06 14 views
0

Многие из веб-мастеров используют pingdom.com в качестве службы мониторинга ping.Apache 2.4 setenvif dontlog pingdom.com

Но проблема в том, что/HTTPD/access_log полна

208.64.28.194 - - [06/Aug/2015:12:20:22 -0500] "GET/HTTP/1.1" 200 2917 "-" "Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)" 

Я установил

CustomLog "logs/access_log" combined env=!dontlog 

и пытался избавиться от него с помощью вариаций как

SetEnvIf Remote_Host "^pingdom\.com$" dontlog 
SetEnvIFNoCase Remote_Host "pingdom.com$" dontlog 
SetEnvIfNoCase Referer "www\.pingdom\.com" dontlog 
SetEnvIFNoCase Host "^pingdom.com$" dontlog 

но до сих пор нет успеха ни с одним из них - так что спасибо за любой другой намек попробовать.

+0

Включили ли вы модуль setenv? Попробуйте команду $ sudo apache2ctl -M | Grep SETENV должен возвращать что-то вроде "setenvif_module (общий)" А также, попробовать SetEnvIf remote_addr "208 \ 0,64 \ 0,28 \ 0,194 $" dontlog SetEnvIfNoCase User-Agent "^ PingDom" dontlog – iiro

+0

Thanx, вы решили «SetEnvIfNoCase User-Agent»^Pingdom «dontlog» работает! – Serge

ответ

1

Я поместил свой комментарий здесь, как ответ, чтобы любой мог найти это легче.

Поскольку из файла журнала видно, что имя хоста не Pingdom.com, а часть строки пользовательского агента.

Решение проблемы: Сначала убедитесь, что вы включили модуль setenvif. Написать команду

sudo apache2ctl -M | grep setenv 

Он должен вернуть что-то вроде «setenvif_module (общий)»

Тогда вы можете попробовать установить на удаленный адрес

SetEnvIf Remote_Addr "208\.64\.28\.194$" dontlog 

окончательный рабочий раствор это, то не log, если строка пользовательского агента содержит строку Pingdom:

SetEnvIfNoCase User-Agent "^Pingdom" dontlog 

Редактировать: расширен некоторые части ответа.

+0

Используйте 'httpd -M | grep setenv' на CentOS, чтобы проверить, включен ли setenvif-модуль – Serge