13.7. 統計情報の出力(cachemgr.cgi)

Squid は、/var/log/squid/access.log、/var/log/squid/cache.log、/var/log/squid/store.log の 3 つのログを出力しますが、これらのログを分析し、Squid の統計情報を出力するのが、キャッシュマネージャと呼ばれる CGI スクリプトです。キャッシュマネージャは /usr/lib/squid/cachemgr.cgi にインストールされます。しかし、このままでは CGI スクリプトである cachemgr.cgi を実行し、その統計情報を Web ブラウザで参照することはできません。Web サーバー Apache の設定を行い、このディレクトリに CGI スクリプトの実行許可を与えるか、すでに許可されているディレクトリに、cachemgr.cgi をコピーするなどの作業が必要となります。

ここでは、標準でインストールされる /usr/lib/squid/ ディレクトリで cachemgr.cgi を動作させるものとして説明します。Apache の詳細については 第9章 を参照してください。Turbolinux 11 Server の Squid がインストールされている環境では、Acache の設定ファイル格納ディレクトリ /etc/httpd/conf.d/ 以下に squid.conf ファイルが存在し、初期状態で以下のように必要な設定が記述され有効になっています。

ScriptAlias /Squid/cgi-bin/cachemgr.cgi /usr/lib/squid/cachemgr.cgi

# Only allow access from localhost by default
<Location /Squid/cgi-bin/cachemgr.cgi>
 order allow,deny
 allow from localhost.localdomain
 # Add additional allowed hosts as needed
 # allow from .example.com
</Location>

上記例では、/usr/lib/squid/cachmgr.cgi を /Squid/cgi-bin/cachemgr.cgi としてエイリアスを指定しています。つまり、サーバーのホスト名が www.turbolinux.co.jp の場合、クライアントは http://www.turbolinux.co.jp/Squidcgi-bin/cachemgr.cgi でキャッシュマネージャにアクセスできるようになります。

セキュリティを考慮してキャッシュマネージャにアクセスできるホストを限定しています。初期状態では、localhost からのアクセスのみ許可するように設定しています。必要に応じて設定ファイルの # allow from .example.com の部分のコメント記号を削除し、アクセスを許可するクライアントを追加するなど編集を行ってください。

    Allow from 192.168.0.7

また、/etc/squid/squid.conf でのアクセス制御も設定してください。すでに述べたとおり、/etc/squid/squid.conf の標準設定では localhost からのアクセスしか許可されていませんので、他のクライアントからキャッシュマネージャにアクセスするには、そのホストからのアクセスを許可する設定を追加する必要があります。

acl managerhost src 192.168.0.7/255.255.255.255

省略

http_access allow manager localhost
http_access allow manager managerhost
http_access deny manager

省略

/etc/httpd/conf/httpd.conf の設定が終了したら、変更を反映させるために Apache を再起動し、その後、Web ブラウザからキャッシュマネージャにアクセスします。

# /etc/init.d/httpd restart

キャッシュマネージャにアクセスすると、以下の画面が表示されます。

http_portタグによりポート番号を変更している場合はその番号を "Cache Port" へ入力します。"Manager name" と "Password" の欄は、空白のままで構いません。そのまま[Continue]をクリックすると次の画面が表示されます。

ここから、様々な統計情報を参照することができます。