Squid Proxy Sever View logs / log files

Posted on in Categories , , , , , , , , , last updated September 24, 2007

Q. How do I view squid proxy server log files under CentOS Linux server 5.0?

A. squid is a high-performance proxy caching server for web clients, supporting FTP, gopher, and HTTP data objects. Unlike traditional caching software, squid handles all requests in a single, non-blocking, I/O-driven process.

/var/log/squid/ log file directory

The logs are a valuable source of information about Squid workloads and performance. The logs record not only access information, but also system configuration errors and resource consumption (eg, memory, disk space). There are several log file maintained by Squid. Some have to be explicitely activated during compile time, others can safely be deactivated during.

  • /var/log/squid/access.log : Most log file analysis program are based on the entries in access.log. You can use this file to find out who is using squid server and what they are doing etc
  • /var/log/squid/cache.log : The cache.log file contains the debug and error messages that Squid generates. If you start your Squid using the default RunCache script, or start it with the -s command line option, a copy of certain messages will go into your syslog facilities. It is a matter of personal preferences to use a separate file for the squid log data.
  • /var/log/squid/store.log : The store.log file covers the objects currently kept on disk or removed ones. As a kind of transaction log it is ususally used for debugging purposes. A definitive statement, whether an object resides on your disks is only possible after analysing the complete log file. The release (deletion) of an object may be logged at a later time than the swap out (save to disk).

How do I view Squid Log files / logs?

You can use standard UNIX / Linux command such as grep / tail to view log files. You must login as root or sudo command to view log files.

Display log files in real time

Use tail command as follows:
# tail -f /var/log/squid/access.log
OR
$ sudo tail -f /var/log/squid/access.log

Search log files

Use grep command as follows:
grep 'string-to-search' /var/log/squid/access.log

View log files

Finally you can use text editor such as vi to view log files:
# vi /var/log/squid/access.log

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

24 comment

  1. hi ,
    i m a new squid user, i m getting all d loged in information of users through psacct services n various commands, but what i m really searching 4 is the particular users downloaded dat information while using services of internet via SQUID server, please help me out with dis .

    thanking in advance
    Pradeep Singh
    http://www.excelsoftware.net

  2. Thanks for this information… Cool one, and I have a doubt in this that if we need to browse something that is in the blocked list,I often need to delete that entry in that list. Is the any other way i can do this without deleting the entry in the file squidblock.acl , can we access those sites which are blocked….

  3. Hello all, I have configure a squid at ubuntu, for 3 or 4 days it works perfect, but after that it dont work any more, it give many errors at the log file
    ie: TCP_MISS/504
    TCP_MISS/302 and others

    but I discover that if I make a request to the squit proxy using IP and not the domain name it works

    so if I need to navigate on google.com the squit don’t work, but the google IP are 74.125.45.100 (one of them) if I put http://74.125.45.100 it works, I like to know why this is happening, what can be wrong at my squid.conf file ?.

    thanks for any help in advance

  4. OK this is what I do,

    tail -f /var/log/squid/access.log | grep [ipaddress_of_a_client_workstation]

    Then it only shows the webpages that client_workstation is accessing, this is good for client surveillance.

    How can I save this to a file? I mean, if I’m not in the office, the Proxy should save the addresses that client went throughout the day. And I review them at night.

    How do you do that? Thanks.

    1. You can block Websites, Block downloading, Restrict users to internet, Make users Authenticate to use internet, Surveillance the users net using, In short you can control internet using at every side.

  5. i get squidview and will do some tests,actualy if i need make a check in a users, do something like:
    tail -f /var/log/squid/access.log |grep ‘username’
    or to print only desired columns
    tail -f /var/log/squid/access.log | awk ‘{print $3,$5,$7}’

  6. We have enabled squid proxy server and I want to capture the logs in different place for now it is /var/squid/log I want to capture it in different file system.

    How do I do that ? thanks

Leave a Comment