Встала задача снимать статистику Apache c 1c bitrix на борту. Немного усложняло задачу, что 1c bitrix, как правило устанавливается, используя свои настройки окружения. И в этом окружении конфиги лежат везде.
Модуль, необходимый Apache для выдачи статистики — mod_status.so должен подгружаться. Так ли это, можно проверить в /etc/httpd/conf/httpd.conf.
Тут же прописываю:
# add Alexey Egorychev for Apache statistic <IfModule mod_status.c> ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 Allow from 10.73.5.5 </Location> </IfModule>
# service httpd reload
Кроме этого есть один нюанс. В директивах apache /home/bitrix/www/.htaccess
надо сказать, чтобы правила rewrite не обрабатывали «/server-status».
Добавляю перед
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteCond %{REQUEST_URI} !/server-status$
Сейчас можно посмотреть статистику, обратившись Apache c localhost
# curl -s "http://localhost:8888/server-status?auto"
В моем случае этого мало. Дополнительно нужно получать статистику с удаленного хоста.
В bitrix-env Apache висит backend’ом и слушает только 127.0.0.1, а frontend’ом выступает nginx.
Nginx надо рассказать, что бы он пропускал запросы по URL «/server-server» на Apache.
У меня в конфиге /etc/nginx/bx/conf/bitrix.conf
уже есть запись
# Apache server status page location ^~ /server-status { proxy_pass $proxyserver; }
Теперь с хоста, прописанного в allow from
можно получать статистику Apache.