29.6 cachemgr.cgi

キャッシュマネージャ(cachemgr.cgi)は、実行中のSquidプロセスによるメモリ使用状況に関する統計を表示するCGIユーティリティです。また、キャッシュを管理し、サーバのロギングなしで統計を表示できる便利な手段でもあります。

29.6.1 設定

最初に、システムでWebサーバを稼働させる必要があります。で説明しているように、Apacheを設定します。セクション 27.0, Apache HTTPサーバApacheがすでに稼働しているかどうかを確認するには、「rootとしてrcapachestatus」コマンドを入力します。次のようなメッセージが表示される場合は、マシンでApacheが実行されています。

Checking for service httpd: OK 
Server uptime: 1 day 18 hours 29 minutes 39 seconds   

Apacheはそのマシンで実行されています。実行していない場合は、「rcapachestart」を入力して、SUSE Linux Enterprise Serverのデフォルト設定でApacheを起動します。最後に、cachemgr.cgiファイルをApacheのディレクトリcgi-binにコピーします。32ビットの場合は次のようになります。

cp /usr/lib/squid/cachemgr.cgi /srv/www/cgi-bin/

64ビット環境では、cachemgr.cgiファイルは/usr/lib64/squid/の下に位置しており、これをApacheディレクトリにコピーするコマンドは次のとおりです。

cp /usr/lib64/squid/cachemgr.cgi /srv/www/cgi-bin/

29.6.2 /etc/squid/squid.conf内のキャッシュマネージャACL

キャッシュマネージャの場合は、オリジナルファイル内で次のようなデフォルト設定が必要です。最初に、2つのACLを定義し、http_accessオプションがこれらのACLを使用して、CGIスクリプトからSquidへのアクセスを付与するようにします。キャッシュマネージャはcache_objectプロトコルを用いてSquidと通信するため、最初のACLが最も重要です。

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

次の規則によって、ApacheにSquidへのアクセス権が付与されます。

http_access allow manager localhost
http_access deny manager

これらの規則は、WebサーバとSquidが同じマシンで実行されている場合を想定しています。キャッシュマネージャとSquidとの通信が他のコンピュータ上のWebサーバで開始される場合は、例 29-2に示すACLを追加します。

例 29-2 アクセスルール

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl webserver src 192.168.1.7/255.255.255.255 # webserver IP

次に、例 29-3に規則を追加して、Webサーバからのアクセスを許可します。

例 29-3 アクセスルール

http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

キャッシュのリモートクローズやキャッシュ詳細情報の表示など、より多数のオプションにアクセスする場合は、マネージャのパスワードを設定します。そのためには、マネージャ用のパスワードと表示するオプションのリストを指定してエントリcachemgr_passwdを設定します。このリストは、/etc/squid/squid.confにエントリのコメントの一部として表示されます。

設定tァイルを変更するたびにSquidを再起動してください。それには、rcsquid reloadコマンドを使用します。

29.6.3 統計情報の表示

対応するWebサイトのhttp://webserver.example.org/cgi-bin/cachemgr.cgiに移動します。[続行]をクリックして様々な統計情報をブラウズします。キャッシュマネージャに表示される各エントリの詳細は、http://www.squid-cache.org/Doc/FAQ/FAQ-9.htmlにあるSquidのFAQを参照してください。