0

Статистика Apache и 1c bitrix

Встала задача снимать статистику 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.

Alexey Egorychev

FreeBSD and Linux sysadmin. Know many systems like mailsystems, DB, WWW stack. Automation with salt, ansible. Monitoring with nagios, zabbix.