Apache - mod_status

Apacheはブラウザでステータスの確認やロードバランサーの管理をすることができます。リバースプロキシで構築したApache2.4.9にApacheのステータスモニタとLoad Balancer Managerの設定をします。


mod_statusモジュールの確認

モジュールが有効になっているか確認

# /usr/local/httpd-2.4.9/bin/httpd -M | grep status
 status_module (shared)

 

httpd.confでモジュールが有効になっているか確認

# vi /usr/local/httpd-2.4.9/conf/httpd.conf

LoadModule status_module modules/mod_status.so

 

ステータスモニタの設定

ExtendedStatus On ←詳細な情報表示

<Location /server-status>
    SetHandler server-status
    Require ip <接続を許可するIPアドレス>
</Location>

「http://hostname or IP/server-status」で画面を確認することができます。

 

Load Balancer Managerの設定

    <Location /balancer-manager>
        SetHandler balancer-manager
        Require ip <接続を許可するIPアドレス>
    </Location>

「http://hostname or IP/balancer-manager」で画面を確認することができます。

 

リバースプロキシの注意点

受けたリクエストをパス指定でバックエンドのサーバに投げている場合は上記の設定で問題ないと思いますが、受けたリクエストをすべてバックエンドのサーバに送っている場合は上記の設定だけだとバックエンドサーバの/server-statusや /balancer-managerを見に行ってしまいます。リバースプロキシの設定で「!」を付けて、/server-statusと/balancer-managerはバンクエンドに遷移しない設定をすることができます。

#上位から判定されるのでProxyPassの先頭に入れます
ProxyPass /server-status !
ProxyPass /balancer-manager !
ProxyPass / balancer://wpsite/ lbmethod=byrequests timeout=1 nofailover=On
ProxyPassReverse / balancer://wpsite/

ブラウザの画面ですが、ローカルの情報が多すぎるので割愛します…

参考書籍