29.6 cachemgr.cgi

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

29.6.1 設定

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

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

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

cp /usr/share/doc/packages/squid/scripts/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にエントリのコメントの一部として表示されます。

設定ファイルを変更するたびに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を参照してください。