Sqmgrlog generate reports per user/ip/name from SQUID log file.
The reports will be generated in HTML or email.

Support to SmartFilter added - 09/02/2000

Special thanks to:
Matteo Colombo <matteo@calcol.it> 			- Italian language
Palamarchuk Eugen <eugen@cit.od.ukrtel.net> 		- Russian language
Csaba Kabai <ckabai@icnpharm.com>			- Hungarian language
Evren Yurtesen <yurtesen@ispro.net.tr>          	- Turkish language
Andreas Piek <a.piesk@gmx.net>				- German language
Fred Pacquier <fredp@dial.oleane.com>			- French language
Leonardo A. D'Angelo <ldangelo@san-cayetano.com>	- Spanish language
Seth Mos <stimpy@stimpy.multiweb.nl>			- Dutch language
Milos Prudek <prudek@nembv.cz>                          - Czech language
Dima I. Allaverdov <allav@ur.rags.ru>                   - Russian_windows1251 language
V Gatut Harijiso <gatut@student.unpar.ac.id>		- Indonesian language
Ivan Minchev <vanko@uni-svishtov.bg>			- Bulgarian_windows1251 language
Akira Kitamura <click@anet.ne.jp>			- Japanese language
Radovan Drobnjakovic <admin.rts@rts.co.yu>		- Serbian language
Pieter Kooistra <pkooistra@hr.nl>			- Dutch language (fixed)

Translating
   . Copy English.h to YourLanguage.h
   . Translate YourLanguage.h
   . Send YourLanguage.h to orso@onda.com.br


If you use native squid log format, the spent time will be in reports (emulate_httpd_log off).

1. run ./configure

   configure options: --enable-language=English, Bulgarian_windows1251, 
					Czech, Dutch, French, German, 
					Hungarian, Indonesian, Italian, 
					Japanese, Portuguese, Russian_Koi8, 
					Russian_windows1251, Serbian, Spanish, 
					Turkish
                                default: English

                      --enable-prefix=where the instalation dir is
                                default: /usr/local/bin

                      --without-gcc to use cc
                                default: gcc

3. make

4. make install

5. Go to /usr/local/etc/sqmgrlog (or file entered with --prefix on configure)
   and change sqmgrlog.conf as you need.

6. Notes about sqmgrlog:

   Date/Time report:
         Every minute that a request is logged your time is incremented by the smaller
         of 1 minute or the total time for the requests.


# sqmgrlog.conf
#

# TAG:  access_log
#       Where is the access.log file
#       sqmgrlog -l file
#
#access_log /usr/local/squid/logs/access.log
#access_log /var/log/squid/access.log # RedHat version

# TAG:	title
# 	Especify the title for html page.
#
#title "Squid User Access Reports"

# TAG:	font_face
# 	Especify the font for html page.
#
#font_face Arial

# TAG:	header_color
# 	Especify the header color
#
#header_color brown

# TAG:	header_bgcolor
# 	Especify the header bgcolor
#
#header_bgcolor blanchedalmond

# TAG:	font_size
# TAG:	font_size
# 	Especify the font size
#
#header_font_size -1

# TAG:	background_color
# TAG:	background_color
#	Html page background color
#
#background_color white

# TAG:	text_color
#	Html page text color
#
#text_color black

# TAG:	text_bgcolor
#	Html page text background color
#
#text_bgcolor beige

# TAG:	title_color
#	Html page title color
#
#title_color green

# TAG:	logo_image
#	Html page logo.
#
#logo_image none

# TAG:	logo_text
#	Html page logo text.
#
#logo_text ""

# TAG:	logo_text_color
#	Html page logo texti color.
#
#logo_text_color black

# TAG:	logo_image_size
#	Html page logo image size. 
#       width height
#
#image_size 80 45

# TAG:	background_image
#	Html page background image
#
#background_image none

# TAG:  password
#       User password file used by authentication
#       If you put here, reports will be generated only for users in.
#
#password none

# TAG:  temporary_dir
#       Temporary directory name
#       sqmgrlog -w dir
#
#temporary_dir /tmp

# TAG:  output_dir
#       Where is the reports will ne stored.
#       sqmgrlog -o dir
#
#output_dir /usr/local/etc/httpd/htdocs/squid-reports
#output_dir /home/httpd/html/squid-reports # RedHat version

# TAG:  output_email
#       Email address to send the reports
#       sqmgrlog -e email
#
#output_email none

# TAG:  resolve_ip yes/no
#       Convert ip address to dns name
#       sqmgrlog -n
#resolve_ip yes

# TAG:  user_ip yes/no
#       Use Ip Address instead userid (reports)
#       sqmgrlog -p
#user_ip no

# TAG:  topuser_sort_field field normal/reverse
#       Sort field for the Topuser Report.
#       Allowed fields: USER CONNECT BYTES TIME
#
#topuser_sort_field BYTES reverse

# TAG:  user_sort_field field normal/reverse
#       Sort field for the User Report.
#       Allowed fields: SITE CONNECT BYTES TIME
#
#user_sort_field BYTES reverse

# TAG:  exclude_users file
#       users within the file will be excluded from reports.
#       you can use indexonly to have only index.html file.
#
#exclude_users none

# TAG:  exclude_hosts file
#       Hosts, domains or subnets within the file will be excluded from reports. 
#
#       Eg.: 192.168.10.10 - exclude ip address only
#            192.168.10.0  - exclude full C class
#            s1.acme.foo   - exclude hostname only
#            acme.foo      - exclude full domain name
#
#exclude_hosts none

# TAG:  useragent_log file
#       Put here where is useragent.log to nable useragent report.
#
#useragent_log none

# TAG:  date_format
#       Date format in reports: e (Europe=dd/mm/yy), u (USA=mm/dd/yy), w (Weekly=yy.ww)
#date_format u

# TAG:  per_user_limit file MB
#       Save userid on file if download exceed n MB.
#       
#       This option can be used to disable user access if user exceed a download limit.
#per_user_limit none

# TAG: lastlog n
#      How many reports files must be keept in reports directory.
#      The oldest report file will be automatically removed.
#      0 - no limit.
#
#lastlog 0

# TAG: remove_temp_files yes
#      Remove temporary files: geral, usuarios, top, periodo from root report directory.
#
#remove_temp_files yes

# TAG: index yes|no|only
#      Generate the main index.html.
#      only - generate only the main index.html
#
#index yes

# TAG: overwrite_report yes|no
#      yes - if report date already exist then will be overwrited.
#       no - if report date already exist then will be renamed to filename.n, filename.n+1
#
#overwrite_report no

# TAG: records_without_userid ignore|ip|everybody
#      What can I do with records without user id (no authentication) in access.log file ?
#
#      ignore - This record will be ignored.
#          ip - Use ip address instead. (default)
#   everybody - Use "everybody" instead.
#
#records_without_userid ip

# TAG: use_comma no|yes
#      Use comma instead point in reports.
#      Eg.: use_comma yes => 23,450,110
#           use_comma no  => 23.450.110
#
#use_comma no

# TAG: mail_utility mail|mailx
#      Mail command to use to send reports via SMTP
#
#mail_utility mailx

# TAG: topsites_num n
#      How many sites in topsites report.
#
#topsites_num 100

# TAG: topsites_sort_order CONNECT|BYTES A|D
#      Sort for topsites report, where A=Ascendent, D=Descendent
#
#topsites_sort_order CONNECT D

# TAG: exclude_codes file
#      Ignore records with these codes. Eg.: NONE/400
#
#exclude_codes none


Usage: sqmgrlog -h

Source: http://web.onda.com.br/orso/index.html

Any suggests and/or comments, plase: orso@onda.com.br
