Squidのアクセスログを確認する方法

linux Linux
この記事は約5分で読めます。

プロキシサーバーとして広く利用されている Squid は、インターネットとの境界に配置されることも多く、Webアクセスを記録・分析するためにアクセスログが取得されていることが多いかと思います。

この記事では、Squidのアクセスログの確認方法と、ログの読み方、ログのカスタマイズについて解説します。

広告

1.アクセスログの保存場所

Squidのアクセスログは、デフォルトの設定であれば以下のパスに保存されています。

/var/log/squid/access.log

ただし、ログファイルの場所は、squid.conf 内の access_log ディレクティブで指定されているため、バージョンや設定により異なる場合もあります。

2.アクセスログの確認方法

以下のコマンドでアクセスログを確認できます。

 # ログの末尾をリアルタイムで確認
sudo tail -f /var/log/squid/access.log

 # ログ全体を確認
sudo less /var/log/squid/access.log

tail -f はリアルタイムでログを監視する際に便利で、障害対応や不正アクセスの調査時など、即時性が求められる場面で利用することが多いです。

2-1.ログの構造と読み方

Squidのアクセスログは、以下のような形式で記録されています。

1719738851.889    642 1.1.1.1 TCP_MISS/200 23771 GET http://www.example.com/ - HIER_DIRECT/104.130.201.120 text/html

2-1-1.ログの読み方

ログの各項目の読み方は以下の通りです。

項目内容
1719738851.889リクエストのタイムスタンプ(UNIX時間)
642リクエスト処理にかかった時間(ミリ秒)
1.1.1.1クライアントのIPアドレス
TCP_MISS/200キャッシュのヒット状況とHTTPステータスコード
23771転送されたバイト数
GETHTTPメソッド
http://www.example.com/リクエストされたURL
ユーザー名(認証が有効な場合)
HIER_DIRECT/104.130.201.120リクエストの転送先と階層コード
text/htmlコンテンツタイプ

3.ログフォーマットのカスタマイズ

Squidでは、logformat ディレクティブを使ってログの出力形式を変更することができます。

以下のように squid.conf に設定追加することで、Apacheの「combined」形式に近いログを出力できます。

 # 設定変更(viコマンドを利用)
sudo vi /etc/squid/squid.conf

 ーー以下設定を末尾に追記(もしくはlogformat、access_logの設定値に置き換え)ーー

logformat combined %>a - %ui [%tl] "%rm %ru HTTP/%rv" %>Hs %<st "%{Referer}>h" "%{User-Agent}>h"
access_log /var/log/squid/access.log combined

 ーーーーーー

この設定を追加すると、クライアントIP、ユーザー名、タイムスタンプ、HTTPメソッド、URL、ステータスコード、転送バイト数、Referer、User-Agent などが記録されます。

3-1.カスタマイズログの出力例

以下は、上記のフォーマットでカスタマイズしたログの出力例です。

192.168.1.100 - - [21/Oct/2025:16:20:01 +0900] "CONNECT www.google.com:443 HTTP/1.1" 200 7923 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0" TCP_TUNNEL:HIER_DIRECT

このログから、以下の情報が読み取れます。

  • クライアントIP:192.168.1.100
  • リクエスト日時:21/Oct/2025:16:20:01 +0900
  • リクエスト内容:CONNECT www.google.com:443 HTTP/1.1
  • ステータスコード:200
  • 転送バイト数:7923
  • リファラー:-
  • ユーザーエージェント:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36 Edg/141.0.0.0

ログフォーマットをカスタマイズすることで、より詳細なアクセス情報を取得でき、ログ解析が容易になります。

4.まとめ

Squidのアクセスログは、ネットワーク管理やセキュリティ対策において非常に重要な情報源です。

ログの保存場所やログ確認コマンドを知っておくだけで、トラブル対応や利用状況の把握がスムーズになります。

また、ログフォーマットをカスタマイズすることでログの可読性が増し、トラブル対応や調査に役に立ちます。