squidanalyzer/ChangeLog

869 lines
44 KiB
Plaintext

Revision history for SquidAnalyzer
6.6 - Sun May 7 16:38:14 CEST 2017
This is a maintenance release that fix one year of issues reported by users.
There is also some additional features, configuration directives all listed
here:
* Add TopStorage configuration directive to limit the storage of url to
a certain quantity in data file and sorted by OrderUrl. On huge access
log it will improve a lot the performances but you will have less
precision in the top url. Default to 0, all url will be stored.
Here are the performances of SquidAnalayzer on a 1.4 GB access log
file to parse and compute full reports over one week:
UrlReport | UserReport | Duration
----------+------------+---------
0 | 0 | 2m30s
0 | 1 | 3m00s
1 | 1 | 18m15s
1 | 1 | 9m55s when TopStorage is set to 100
* Add a cache to network and user aliases for speed improvement. Thanks to
Louis-Berthier Soulliere for the report.
* Add TimeStart and TimeStop configuration directives to allow to
specify a start and stop time. Log line out of this time range
will not be parsed. The format of the value is HH:MM. These
directives can be overriden with the -s | --start and -S | --stop
command line options. Thanks to Louis-Berthier Soulliere for the
feature request.
* Add UpdateAlias configuratio directive to apply immediately the changes
made in aliases files to avoid duplicates. You still have to use
--rebuild to recreate previous reports with new aliases. Enabling
this will imply a lost of performances with huges log files.
* Add UseUrlPort configuration directive to be able to include port number
into Url statistics. Default is to remove the port information from the
Url. Thanks to Tobias Wigand for the feature request.
* Add report of top denied url on user statistic page. Thanks to delumerlino
and Pavel Podkorytov for the feature request.
* Add last visited timestamp on urls reports and show last ten visit on user
url report. The last visit are counted after 5 minutes in hour view, after
30 minutes in day views and per day in month view. Thanks to Ringa Mari
Sundberg for the feature request.
* Add support to ipv6 address dns resolving, you need perl > 5.014. Thanks
to Brian J. Murrell for the report.
Full list of other bug fixes:
- Change user top url title from "Top n/N Url" into "Top n/N sites". Thanks
to Daniel Bareiro for the report.
- Update documentation to clarify the use of space character in aliases
files. Thanks to Darren Spruell for the report.
- Fix explanation of UserAlias file format about ip address vs DNS name.
Thanks to Darren Spruell for the report.
- Fix missing report of TCP_DENIED_REPLY messages. Thanks to Jeff Gebhardt
for the report.
- Add license file about resources file and a script to retrieve original
javascript libraries.
- Fix html report building that was limited to the last day.
- Fix missing network alias replacement.
- Update year in copyrights.
- Disabled bandwidth cost report by default.
- Fix removing of obsolete year directory.
- Fix obsolete statistics no longer being deleted. Thanks to andreybrasil
for the report.
- Allow parsing of access.log generated through syslog. Thanks to Celine
Labrude for the report.
- Add Url_Hit label in translation files.
- Fix remaining _SPC_ in username. Thanks to roshanroche for the report.
- Fix remaining SA_CALENDAR_SA in html output. Thanks to roshanroche for
the report.
- Add more fix to denied stat datafile corruption. Thanks to PiK2K for the
report.
- Fix denied stat datafile corruption. Thanks to PiK2K for the report.
- Use CORE::localtime to format denied first and last hit.
- Fix potential unparsed log case when log file are set in configuration
file and not on command line.
- Change the in-line popup (on top domain and top URL) to show hits on hits
tables, bytes on the bytes tables and duration on the duration tables,
instead of count. Thanks to Wesley Bresson for the feature request.
- Only apply OrderUrl to user url list, other reports in Top domain and Top
Url are now always ordered following the first column, which is the sorted
column of the report (hits, bytes and duration).
- Fix missing limit total number of URLs shown for a user to TopNumber.
Thanks to Graham Wing for the report.
- Update statistic on users with DENIED code to have the full list of
user/ip even if they never hit an url.
- Change Perl install directory from vendor to site to avoid well know issue
on BSD. Thanks to dspruell for the report.
- Add initial Debian package build files
- Update squidanalyzer.css changed the width of the single menu tabs,
because in German language, it looks better at the tab "TOP DENIED" is in
German language "TOP VERBOTEN" and will be displayed better, no wordwrap
anymore, will be done with this change. Thanks to Klaus Tachtler for the
patch.
- Fix Throughput label for unit/s that was not dynamically changed during
value formating and always labelled as B/s. Thanks to aabaker for the
report.
- Fix typo in graph titles. Thanks to aabaker for the patch.
- Update missing fields to German language file. Thanks to Klaus Tachtler
for the patch.
- Fix top url report that was not cumulate statistics anymore. Thanks to
Wesley Bresson for the report.
- Fix typo about Network exclusion. Thanks to Mathieu Parent for the patch.
- Manpages fixes. Thanks to Mathieu Parent for the patch.
- Use FHS for manpages path. Thanks to Mathieu Parent for the patch.
- Update russian language file. Thanks to Yuri Voinov for the patch.
- Fix typo in mime type redefinition.
- Mark mime-types with invalid characters as "invalid/type". Thanks to
gitdevmod for the report.
- Add missing throughput translation entries in lang files. Thanks to Yuri
Voinov for the report.
- Fix major issue in squidguard and ubfguard history file managment. Thanks
to Guttilla Elmi for the report and the help.
- Fix path to xzcat program durinf install. Thanks to Johan Glenac for
the report.
- Fix auto detection of SquidGuard log file when there is no denied entry
in the first lines.
- Fix typo in debug messages
- Add warning when DNSLookupTimeout is reach. Thanks to gitdevmod for the
report.
6.5 - Sun Jan 3 16:12:12 CET 2016
This is a mantenance release to fix an overlaping bug on bytes charts with
last versions of browsers like firefox, iceweasel and chrome.
- Fix height of bytes graphs that was overlaping on third graph. Thanks
to Daniel Bareiro for the report.
- Update russian translation. Thanks to Yuri Voinov for the patch.
- Update copyright year.
6.4 - Wed Dec 16 22:12:45 CET 2015
This release adds throughput statistics to all reports. It also allow one to add
a ufdbGuard log to the list of log files and to report blocked URLs into the
Denied reports. It also adds support to xz compressed files.
There's also a new configuration directive and command line option:
* Add -t | --timezone and TimeZone directive to change the timezone. When set,
SquidAnalyzer will read time from log file as UTC time and will add the
hours specified in the timezone option. This is useful if the log file is
not parsed on a computer with the same timezone than the squid server.
It also included several bug fixes since last release.
- Fix graphic overlaps that with one of the graphics. Thanks to Daniel Bareiro
for the report.
- Add throughput calculation (ratio between bytes and duration) to all reports.
- Fix missing largest URL in networks detailed report. Thanks to Juan Martin
for the report.
- Fix use of network-aliases together with a network include entry that make
networks disappears from the report. Thanks to Juan Martin for the report.
- Add -t | --timezone and TimeZone directive to change the timezone. When set,
SquidAnalyzer will read time from log file as UTC time and will add the
hours specified in the timezone option. Thanks to Anderson - BR Suporte for
the feature request.
- Add support to ufdbGuard log file. squidGuard and ufdbGuard files can be
given together with squid log file as a list into LogFile configuration
file or as arguments of command line. Thanks to Martin Hoffmann for the
feature request.
- Fix some division by zero. Thanks to cueda for the report.
- Fix some potential illegal division by zero.
- Fix negative duration with http like log file when duration is not set (-).
Thanks to cedua for the report.
- Add new throughput (Bytes/sec) column in all reports and a throughput graph.
Thanks to Mike Lerley for the feature request.
- Allow parsing of xz compressed files. Thanks to Markus Maikis for the patch.
- Fix bug with include/exclude networks or clients preventing users reports to
be built. Thanks to Juan Martin for the report.
- Fix SquidAnalyzer fails to update statistics after cleanup of access.log.
Thanks to mkhallaf for the report.
- Limit parsing of ufdbGuard logs to BLOCK line.
- Replace SquidGuard label by Blocklist as we use more blocklist tools.
- Update Italian translation file. Thanks to Stefano Cailotto for the update.
6.3 - Mon Oct 12 07:56:29 CEST 2015
This release adds a new report to show statistics about Denied URLs. It also
allow one to add a SquidGuard log to the list of log files and to report blocked
URLs into the Denied reports. It ialso adds a pie chart on SquidGuard ACLs use.
There's also four new configuration directives:
- UserReport to be able to remove any user related reports but statistics
about URL and domains will remain.
- ExcludedCodes to be able to exclude some log entries following the TCP
code returned.
- UrlHitsOnly to be able to enable the generation of additional HTML tables
with top Url per byte and per duration in Top Urls and Domains report.
- MaxFormatError to not exit immediatly when a bad format error is encountered. SquidAnalyzer will
wait MaxFormatError before exiting.
Note that this last directive is disable by default, so if you still want the
three tables in the reports, you must set UrlHitsOnly to 1.
A Catalan translation file has been added to the lang directory.
It also included several bug fixes since last release.
- Skip immediately lines that squid is not able to tag: TAG_NONE. Thanks to
David Touzeau for the report.
- Fix display order when OrderUrl was set in Top Url and Top Domain views.
Thanks to Wesley Bresson for the report.
- Convert fr_FR.txt translation file from ISO_8859-1 to UTF8 and change
charset value. Thanks to zezinho42 for the report.
- Change order in de_DE.txt of WeekDay to So Mo Di Mi Do Fr Sa, the week
days in translation file must start with Sunday unlike in calendar.
- Fix case sensitivity in command line options. Thanks to Pavel Podkorytov
for the report.
- Add SquidGuard.current state file to be able to do incremental parsing of
both squid and squidguard log files without issues.
- Try to fix bad characters in mime_type field and add MaxFormatError to not
exit immediatly when a bad format error is encountered. SquidAnalyzer will
wait MaxFormatError before exiting.
- Add information about how to parse SquidGuard log together with Squid Cache
access log file.
- Add pie chart on SquidGuard ACLs use.
- Remove redundant regular expressions.
- Try to fix case when method or code in log file are corrupted with non
printable characters, should never appears but some injection have been
reported.
- Add support for SquidGuard log parsing to report denied ACLs. Thanks to
Pavel Podkorytov for the feature request.
- Fix detection of new log file from history when log file was in common
http format.
- Fix possible POSIX::strftime error with debug mode activated.
- Add / at end of WebUrl when it is set but does not terminate with a slash.
- Remove extra slash in week link, update russian translation file and fix
some missprint. Thanks to badfiles for the patches.
- Add Catalan translation file. Thanks to atorrillasmat for the file.
- misprints, there are two of them. badfiles
- Add TCP_REDIRECT to be counted as a DENIED tag from log file for users of
squidGuard/ufdbGuard-style URL rewriters. Thanks to slashdoom for the patch.
- Force SquidAnalyzer to use locale C internally.
- Exclusion/Inclusion check when reading data files are limited to rebuild
otherwise there is too much performance lost.
- Applied exclusion/inclusion on cumulative reports even if rebuild is not
used.
- Fix some issue with rebuild and exclusion.
- Show more information when a log is skipped because his size is detected
as lower than expected.
- Print SquidAnalyzer version when debug mode is used.
- Add TCP_TUNNEL used by Squid 3.5 for streaming to cache miss statistics.
Thanks to MangOuste for the report.
- Apply exclusion/inclusion definitions on old data when rebuild is used.
Thanks to niccarp for the feature request.
- Fix unwanted message when QuietMode is enabled.
- Fix typo that was crashing squid-analyzer. Thanks to Juan Jose Pablos for
the report.
- Fix output of benckmark info when debug is not enabled. Thanks to Juan Jose
Pablos for the report.
- Fix issue when rebuilding previous data without denied url stat. Thanks to
Stepan Andreev for the report.
- Add top denied label to translation file.
- Add UrlHitsOnly configuration directive to be able to disable the generation
of tables ordered per byte and duration in Top Urls and Domains report.
Thanks to Cesar Vazquez for the feature request.
- Add top denied url statistics. Thanks to tierpod for the featur request.
- Replace call to localtime() to CORE::localtime() to avoid Time::localtime
override default behaviour. Thanks to oldnrustyreaper for the report.
6.2.1 - Sun Feb 22 10:27:34 CET 2015
This is a maintenance release to fix a major bug introduced in last release.
- Fix major bug when parsing native squid log format. Thanks to
@ST_Ungulant for the report.
- Add documentation about UserReport configuration directive.
6.2 - Sat Feb 21 16:50:25 CET 2015
This release adds support to common or combined squid log format and a new
Italian translation file. There's also a new configuration directive UserReport
to be able to remove any user related reports, statistics about URL and domains
will remain. The second new directive is ExcludedCodes to be able to exclude
some log entries following the TCP code returned.
It also included several bug fixes since last release.
- Update year in copyright
- Add documentation about log format.
- Allow mime type report for common or combined log format. This require
the use of %mt at end of the log format.
- Add support to common and combined (http like) log format.
- Fix hidden control character in configuration file.
- Add UserReport configuration directive to not produce any report about
users. Thanks to Razerlikes for the feature request.
- Fix several issues with non default installation path. Thanks to Yuri
Voinov for the report.
- Force squid-analyzer to find perl executable from env. Thanks to Yuri
Voinov for the report.
- Fix russian translation. Thanks to Yuri Voinov for the patch.
- Fix install on Solaris. Thanks to Yuri Voinov for the report.
- Fix error message when --rebuild is used and configuration directive
LogFile is empty. Thanks to Michael Gauthier for the report.
- Remove any access.log file from the parser list when --rebuild is used
to avoid double entry. Thanks to Michael Gauthier for the report.
- Fix user anonymization with --rebuild option.
- Fix issues in week reports when the week overlaps two years. Thanks to
Michael Gauthier for the report.
- SquidAnalyzer will look for include/exclude users using format: user,
user@domain.tld and domain\user. Thanks to Jacques Serfontein for the
feature request.
- Fix case where file was not parsed in incremental mode when log file
size was lower than history offset. Thanks to Amir Mottaghian for the
report.
- Add Italian translation file. Thanks to Stefano Cailotto for the patch
- Add ExcludedCodes configuration directive to be able to remove some
log entries from statistics based on the TCP code. Thanks to Peter C.
Ndikuwera for the feature request. For example: TCP_DENIED/403, which
are generated when a user accesses a page the first time without
authentication.
- Fix previous commit on top domains.
6.1 - Mon Oct 13 11:36:52 CEST 2014
This release fix severals major issues and adds a new feature to disable weekly
reports with a new command line option --no-week-stat.
- Fix top domains report where url with port was reported in unknown
domains. Thanks to Michael Gauthier for the report.
- Add --no-week-stat to disable weekly reports generation. Thanks to
Mang0uste for the feature request.
- Fix and update Ukrainian translation file. Thanks to Oleg A. Deordiev
for the patch.
- Save the last line parsed line when squid-analyzer is interrupted to
avoid loading twice the same data after restarting. Thanks to Michael
Gauthier for the report.
- Fix missing calendar menu on daily report. Thanks to Cesar Vazquez for
the report.
- Fix problem with links to weekly summaries in SquidAnalyzer.pm Thanks
to David Murrel for the patch.
- Add IO::Handle and FileHandle in Perl modules that should be loaded.
Thanks to Jeetendra Poojari for the report.
6.0 - Sat Aug 30 21:48:14 CEST 2014
This major release adds several new features, lot of speed improvement and
some major bug fixes.
* Multiple access.log files can be processed at the same time.
* Multiprocess mode can be activated using the -j N command line option.
* New ExcludedMimes configuration directive to exclude from statistics
a comma separated list of mime-type or using regex like text/.*.
* New ExcludedMethods configuration directive to exclude from statistics
a comma separated list of HTTP methods (GET,POST,CONNECT,...).
* New translation available: pl_PL
Using 4 CPU cores (-j 4) to run SquidAnalyzer can divide by 4 the time used
in single process mode. In single process mode building a 1.4GB access.log
file takes 50 minutes on my computer, using 4 cpus take around 15 minutes.
squid-analyzer --no-year-stat -j 4 /var/log/squid3/access.log*
Here the full list of changes:
- Freshmeat/Freecode site is down, release announcement will be done on
twitter now, see https://twitter.com/SquidAnalyzer
- Allow multiple log files to be given at command line arguments.
- Add support to ETCDIR instead of CONFDIR during installation process,
Where real config files are installed on some distributions (BSD).
- Add support to parse multiple access log file at a time in multi-
process mode.
- Add documentation about multiprocess usage.
- Add multiprocess support to SquidAnalyzer, see -j option. This can
improve a lot speed performances. See notes at bottom of issue #18
for more details. Great thanks to Francisco Rodriguez for his help.
- Add more timing information during SquidAnalyzer execution.
- Add some other minor speed improvement.
- Removed call to tell, we were spending too much time in this method
unnecessary.
- Fix reports with --no-year-stat. It now reports cache stat only in year
and month view instead of empty page.
- Remove intermediate build of week reports.
- Fix Mime-Type transfer's chart title to reflect the unit used: MBytes.
Thanks to IMiGS for the report.
- Little fix in a translation. Thanks to atlhon for the patch.
- Fix case where days in calendar does not appear when DateFormat was
changed. Thanks to joseh-henrique for the report.
- Update Makefile with META_MERGE and MAN3PODS information.
- Fix missing cleaning of pid file when early error occurs.
- Automatically remove \r when reading configuration file.
- Improve incremental mode by seeking directly to last position in
logfile and automatic detection of already parsed log.
- Fix issue on calendar when days of a month are over 6 week. Thanks
to Michael Gauthier for the report.
- Update cs_CZ language file. Thanks to Martin Kylian for the patch.
- Fix weeks graph when a week overlaps over 2 months.
- Add missing install of included file. Thanks to Klaus Tachtler for
the patch.
- Force removing of pid file after die of the process. Thanks to Klaus
Tachtler for the report.
- Fix german language de_DE.txt. Thanks to Klaus Tachtler for the patch.
- Add ExcludedMimes configuration directive to allow exclusion from
statistics of a comma separated list of mime-type full name or using
regex like text/.*. Thanks to Ajayaks for the feature request.
- Add ExcludedMethods configuration directive to allow exclusion from
statistics of a comma separated list of HTTP methods. Thanks to Ajayaks
for the feature request.
- Fix error when rebuilding with old data repository that does not have
week view repository. Thanks to Adam Ciarcinski for the report.
- Add pl_PL translation. Thanks to Adam Ciarcinski for the patch.
- Fix en_US translation. Thanks to Adam Ciarcinski for the patch.
UPDATE: you must override all your installation, Perl scripts, configuration file,
CSS and Javascript files. Backward compatibility with 5.x data files is preserved.
5.4 - Sun May 4 18:57:27 CEST 2014
This release fixes several bugs and adds more translation files (Ukrainian,
Czech, Spanidh and Russian). It also allow a custom definition of the logo
and title. Add new weekly statistics and reports as well as TCP DENIED
report in cache statistics.
- Change CSS to adjust calendar position. Thanks to Nathanael Bonnin
for the patch.
- Add Czech language file. Thanks to Martin Kylian for the patch.
- Add Ukrainian translation file. Thanks to Oleg A. Deordiev for the
patch.
- Add CustomHeader to allow custom definition of the logo and title.
See squidanalyzer.conf or documentation for more explanation and
example. Thanks to Raktim Chatterjee.
- Replace logrotate example that was too simplistic. Thanks to Gaetan
Slongo for the patch
- Update documentation about -P option.
- Prevents the script to run multiple instances using a pid file. This
patch adds a new command line option -P to change the default pid file
(/tmp/squid-analyzer.pid). Thanks to Gaetan Slongo for the patch.
- Remove useless command to delete special files because those files are
not installed by make install. Thanks to David Walser for the report.
- Fix spec file to build RPM. Thanks to Jonathan Gibert for the patch.
- Fix usage to show $DEFAULT_CONFIGFILE that may not always be the
right place following the installation. Thanks to Jonathan Gibert for
the patch.
- Remove squid requirement from RPM spec file. Thanks to Jonathan Gibert
for the report.
- Add spanish language file. Thanks to BhEaN for the patch.
- Remove ^M when reading translation files. Thanks to Filipe Teixeira
for the report.
- Add new weekly reports. Thanks to Amish for the feature reports.
- Add documentation about the new "Include" configuration directive.
- Add build and storage of weekly statistics.
- Fix CSS to reduce font size used in the calendar and increase size
of the header.
- Add WeekDay translation string.
- Remove link on week, the week view is not available yet.
- Add week day and week number to the calendar.
- Fix bug where statistics from the last parsed day was count twice
in months and years statisics.
- Add file etc/included to limit entries to matching users, networks
or ip address. Thanks to giovanniredix for the feature request.
- Show values of all dataset when mouse is over graph.
- Update pt_BR.txt language file. Thanks to Joseh-Henrique for the
patch.
- Update flotr2 to most recent version. Replace bars in graphs with
line to have mouse tracking on each dataset. Change line graphs
colors and reformat label shown on mouse over graph data.
- Remove special hidden character from documentation that prevent
pod2man from working. Thanks to David Walser for the report.
- Add TCP DENIED report in cache statistics. Thanks to Karl Dawkins
for the feature request.
- Fix missing semi-colon after graph width definition. Add missing
graph on mime type.
- Add russian translation. Thanks to Sergey Kononenko for the patch.
- Fix german lang file about new second level domain label. Thanks
to Klaus Tachtler for the patch.
- Update translation files with new Second_domain_graph_hits_title
and Second_domain_graph_bytes_title variables.
- Klaus Tachtler have made some small text improvements for the
German language file.
- Add ordering of pie legend following percentage. Thanks to Klaus
Tachtler for the report.
- Change trackFormatter so that mouse over the pie-chart color shows
the domain/TLD name also with the value. Thanks to Jeetendra Poojari
for the patch.
- Add advice about parsing access.log after logrotate. Thanks to James
Harper for the report.
- Fix some more issue on top second level report.
UPDATE: you must override all your installation, Perl scripts, configuration file,
CSS and Javascript files. Backward compatibility with data files is fully preserved.
5.3 - Sun Dec 1 16:36:52 CET 2013
This release fixes several bugs and adds two new pie charts about the most use
top second level domains. It is also possible to do DNS lookup of Ip addresses
inside SquidAnalyzer, see UseClientDNSName new configuration directive. This can
slow down dramatically the squid-analyzer performances but you can adjust the
DNS lookup timeout to prevent waiting slow DNS server, See DNSLookupTimeout new
configuration directive.
- Update and fix first and second top level domain name. Thanks to Luis
Armando Roca Fumero for the report.
- Add new directive DNSLookupTimeout to change the default timeout for
DNS lookup. Add 0.0001 second timeout when SquidAnalyzer look for a DNS
name and can't find a name server. Thanks to alex for the patch.
- Add pie chart of top second level domains. Thanks to Jeetendra Poojari
for the feature request.
- Fix some HTML tag issues and table ordering on Top domain hits and Top
url hits. Thanks to Jeetendra Poojari for the report.
- Update INSTALL file to remove GD::Graph requirements.
- Change underscore used to replace space in user name by the special
string _SPC_ so that underscore will not be wrongly replaced on HTML
output.
- Fix pt_BR translation with charset to utf-8 and a few words with
accentuation fix. Thanks to Joseh-Henrique for the fix.
- Allow Ip addresses on user names to be replaced by their DNS name, this
feature is activated by a new directive: UseClientDNSName. Thanks to
Pfisztner Tamas for the patch.
- Add missing description of --no-year-stat option to documentation and
squid-analyzer usage.
UPDATE: you must override all your installation, Perl scripts, configuration file,
CSS and Javascript files. Backward compatibility with data files is fully preserved.
Note that if you run a Perl version < 5.8 you may need the CPAN module Time::HiRes.
5.2 - Sun Sep 1 21:17:53 CET 2013
This is release fixes lot of minor bugs and adds support to CIDR notation in
network-alias and exclude files as well as some code rewriting and options to
improve speed. New feature to show the top N users that look at an url or a
domain. Adds a new configuration directive, TopUrlUser, to control the number
of users to show in reports.
- Fix pod2man error with perl 5.18 about non-ascii character. Thanks to
David Walser for the report.
- Skip some unwanted code execution when --no-year-stat is enabled.
- Fix graphs on domain statistics reports.
- Fix badly ordered check on squid log file to parse. Thanks to wordelle
for the report.
- Fix issue where squid-analyzer use default configuration file even if
a custom one is specified with the -c option. Thanks to Thibaud Aubert
for the report.
- Add --no-year-stat to disable year statistics, reports will start from
month level only. This allow one to save time during reports generation.
- Allow composed top level domain statistics in Top Domain report, like
co.uk. Thanks to Thibaut Aubert for the feature request.
- Add support to CIDR notation in network-alias file. Thanks to Thibaud
Aubert for the feature request.
- Fix issue in Domain report where domain of top url was not found in
the domain report even if the download was bigger than those reported.
Thanks to Aubert Thibaud for the report.
- Fix bug in last/first hour of a day data storage that mixed collected
data over the two days and stored false first and last visit time.
- Fix translation for user and count strings.
- Add -b | --build_date command line option to limit rebuilt to a given
date, the format of its value can be yyyy-mm-dd, yyyy-mm or yyyy. This
should be used to prevent rebuilding html files from all data files.
- New feature to show the top N users that look at an url or a domain.
Add a new configuration directive, TopUrlUser, to control the number
of users to show. Thanks to Mr-Ed for the feature resquest.
- Fix first and last visit that was displayed in random order. Thanks
to MangOuste for the report.
- Allow CIDR notation in exclude file to skip line matching the given
xxx.xxx.xxx.xxx/n network. Thanks to the MangOuste for the patch.
- Add WriteDelay configuration directive (default to 3600 - stores one
hour of statistics from log file) to be able to save resources on huge
log files. On small log file it is not a good idea to set a lower
value as SquidAnalyzer will spend his time to write and read from
disk. This is a first attempt to speedup statistic reports, especially with year and month, but do not expect lot of performances gain.
- Add regex checker for alias file and improve speed for network and
alias replacement. Thanks to jcputter for the report.
- Fix unwanted message display in quiet mode.
- Call localtime as little time as possible. Thanks to ammdispose for
the patch.
- Remove the use of backstick to call system command in loop to gain
some speed. Thanks to ammdispose for the patch.
- Revome the call to date and iconv system command each time a HTML file
is genrated, call it just one time if directive Locale is defined at
initialisation. Thanks to ammdispose for the report.
- Fix some print statements were outputting to STDOUT instead of STDERR.
Thanks to ammdispose for the patch.
- Allow peer SIBLING_HIT to be added to HIT counters. Thanks to Maher
Kassem forn the patch.
- Recode initial column sorted by default to fix pending sort issues.
- Fix bug on ordering column with sorttable. Thanks to David Walser for
the report.
- Fix support to regex with coma in user and network alias file. Regex
like "1stFloor 192.168.1.1\d{0,2}" in user-aliases and network-aliases
was not permitted. Thanks to Steffen Junick for the report.
- Fix issue with log file provided at command line (option -l) and non
existant LogFile in squidanalyzer.conf. Thanks to Kalin Kozhuharov for
the report.
- Fix test to exclude old months and days from the statistics builder.
Thanks to ammdispose for the patch.
- Fix some code comment about month obsolescence. Thanks to ammdispose
for the patch.
- Change code to remove obsolete statistics to more stable code with
less iterations. Thanks to ammdispose for the patch.
- Fix install of configuration files. Thanks to David Wasler for the
patch.
5.1 - Wed Jan 30 00:11:57 CET 2013
This release adds more graphs, fixes several major issues and allow automatic
removing of obsolete statistics. The Javascript library sorttable.js have been
updated.
- Add squid-analyzer usage information into documentation.
- Update INSTALL file about FreeBSD issue.
- Add -v | --version and -d | --debug command line options.
- Add support to automatic deletion of obsolete statistics and data.
- Add -p | --preserve option to allow automatic removing of obsolete
statistic. Thanks to ammdispose for the feature request.
- Fix documentation about OrderUrl that is limited to User detailed Urls
reports, not Top Url and Top domain.
- Set default sorttable sort in descending order first.
- Fix default order in Mime, Network, User and User details views.
Thanks to Wesley Bresson for the report.
- Update sorttable.js to allow sort on page load using the new function
sorttable.innerSortFunction().
- Add documentation about FreeBSD install to avoid issue with error:
FreeBSD: Cannot determine short module description
Thanks to hackson99 for the report.
- Fix first and last visit time in the user detail view that was not
displayed at all.
- Fix parser issue when squid logformat has additional field at end.
Thanks to nuxsmin for the patch.
- Add pie chart on Mime type statistics.
- Add MinPie configuration directive to set the percentage of pie graph
data which under item will be stored in others label.
- Force left alignment on largest Url column.
- Add Locale configuration directive to set the locale when retrieving
date from system. Thanks to Klaus Tachtler for the suggestion.
- Fix missing Up link translation and some German translation. Thanks
to Klaus Tachtler for the patch.
- Fix HTML code in user and url reports. Thanks to Nathanael Bonin for
the patch.
- Fix typo in fr_FR.txt lang file. Thanks to Nathanael Bonin for the
patch.
- Replace .orig extension on configuration files by .sample. Thanks to
David Walser for the report.
- Update squidanalyzer.spec for RPM build. Thanks to David Walser for
the patch.
- Modify sorttable.js to be able to sort column with both value and
percentage as numeric.
- Remove percentage column and store the percent information directly
in the column between parenthesis. Thanks for Nathanael Bonin for
the patch.
- Add missing class CSS style to user graphs table. Thanks to Nathanael
Bonin for the report.
UPGRADE: You must reinstall all. Backward compatibility is preserved on data
files, but the HTML reports have changed, so after re-installing SquidAnalyzer
you may want to run manually squid-analyzer with the --rebuild command line
option to regenerate those files. So run the following commands:
tar xzf SquidAnalyzer-5.1.tar.gz
cd SquidAnalyzer-5.1/
perl Makefile.PL HTMLDIR=/var/www/squidanalyzer
make && make install
/usr/local/bin/squid-analyzer --rebuild
should be the normal procedure to upgrade. Change the path to the HTML output
dir if required.
5.0 - Mon Dec 10 22:24:23 CET 2012
Thanks to the great work of Nathanael Bonin, SquidAnalyzer has now a new design.
I also replaced all GD graphs by the use of a Javascript Flotr2 graphic library,
that mean that there is no more needs of Perl modules dependancies to install
SquidAnalyzer.
- Update documentation.
- Add TransfertUnit configuration directive to allow changing default
Bytes transfert unit. Possible values are BYTES, KB, MB and GB.
Thanks to Nathanael Bonin for the feature request.
- Fix date encoding with call to date+iconv or fallback to strftime().
- Fix sorttable with missing tbody tag. Thanks to Nathanael Bonin for
the patch.
- Remove some hardcoded CSS from the html code. Thanks to Nathanael
Bonin for the patches.
- Fix some translation issues.
- Improve CSS and dynamic html general design. Thanks to Nathanael Bonin
for the patches.
- Fix some untranslated string. Thanks to Nathanael Bonin for the patch.
- Fix accent within report, now SquidAnalyzer will use the CharSet
translation directive to set the charset following the language.
Default to utf-8, french, german and portuges will use iso-8859-15.
- Fix github issue #5 where per user/ip network stats was wrong and very
high. Thanks to Ben Tullis for the report.
- Removed obsolete files.
- Fix several design issues, moved png images in a dedicated directory.
Thanks to Nathanael Bonin for the patches.
- Reorder source tree and apply tree change on Perl install.
- Removed FooterFile, no more used.
- Remove code for graphs generated using GD::Graph libraries, replaced
by the Javascript library Flotr2.
- Fix extra .0 in networks report. Thanks to Ben Tullis for the report.
- Add the use %M to replace month by its 3 letters abbreviation into
DateFormat configuration directive. Thanks to pk-its for the feature
request.
- Add missing german translation. Thanks to pk-its for the patch.
- Remove space in user alias to prevent corruption of data files. Thanks
to Robert Becskei for the report.
- Fix stat_user.dat format error when username have a space in its login
name. Thanks to Moise Michel for the report.
- Force date/time used in report generation date to used 24h notation.
Thanks to Klaus Tachtler for the report
- Fix install of squidanalyzer.conf, network-aliases, user-aliases and
excluded to be copied with the .orig extention so that nones of these
file can be overriden at upgrade. Thanks to Klaus Tachtler for the
report.
UPGRADE: You must reinstall all but backward compatibility is fully preserved.
Even if backward compatibility is preserved on data files, the HTML and graph
have changed, so after re-installing SquidAnalyzer you may want to run manually
squid-analyzer with the --rebuild command line option to regenerate those files.
So run the following commands:
tar xzf SquidAnalyzer-5.0.tar.gz
cd SquidAnalyzer-5.0/
perl Makefile.PL HTMLDIR=/var/www/squidanalyzer
make && make install
/usr/local/bin/squid-analyzer --rebuild
should be the normal procedure to upgrade. Change the path to the HTML output
dir if required.
4.4 - Tue Aug 21 21:01:43 CEST 2012
- Add support to bzip2 compressed log file. Feature request by Edmonds
Namasenda.
- Allow exclusion of URL from the report, the format of the exclude file
has changed, see header of the excluded file.
- Fix some RPM spec file issue. Patch by David Walser.
- Add german translation file. Translation by Klaus Tachtler.
- Fix translation file path into squidanalyzer.conf.
4.3 - Fri Apr 27 21:47:12 CEST 2012
- Fix broken statistics when an access log file run over multiple
years. Thanks to Jugurtha Massinissa for the report.
- Prevent buildHtml to create directories on month/day without log.
- Sort year's view per decreasing years.
- Peer CD_SIBLING_HIT status will now be taken as local cache hit with
a new configuration directive (SiblingHit) to disable this feature.
Default is enable. Documentation and configuration file has been
updated - Thanks to Nathanael BONIN for the feature request.
- Add spec file for RPM packaging - Thanks to David Walser for the
patch.
- Fix path and comment to translation file in squidanalyzer.conf. Thanks
to Jugurtha Massinissa for the report.
4.2 - Sun Jan 22 16:52:27 CET 2012
- Fix network alias issue broken in last release, now data files will
store the network alias instead of the default class C network. Thank
to Fabrice Prigent for the report.
- Add support to multiple regex pattern to match networks aliases. See
network-aliases file for more information.
- User aliases are now directly changed into data files instead of html
file like before.
- Add support to multiple regex pattern to match users aliases. See
users-aliases file for more inforamtion.
- Add AnonymizeLogin configuration directives to allow full anomymization
of all users/ip. Thanks to Fabrice Prigent for the request.
- Add support to squidmime logformat, original request and reply header
are simply omitted. Squid and squidmime native format are still the
only log format supported.
UPGRADE: If you use network and/or user aliases, even if I try to preserved backward
compatibility, you may want to start with new data files as these information are
now replaced directly into the data file instead of the HTML files. Changes only
concern file SquidAnalyzer.pm so you can just override it. There's also a new
configuration directive 'AnonymizeLogin' so you may copy/paste his definition in
default squidanalyzer.conf file.
4.1 - Tue Jan 17 19:58:35 CET 2012
- Fix data file parser issue with largest_file_size or largest_file_url
are empty. Thanks to David Walser for the report.
- Add line number when reporting bad format into a data file.
- Add missing DESTDIR variable into the allowed commande line arguments.
Thanks to David Walser for the report.
- Fix error when header file are missing as they are no more used now.
Thanks to David Walser for the report.
- Remove salogo.png from install script, it is now replaced by file
logo-squidanalyzer.png. Thanks to David Walser for the report.
- Install of README, INSTALL and Changelog is now disabled by default,
you must set DOCDIR parameter to install those files in the desired
directory. Thanks to David Walser for the request.
4.0 - Wed Dec 28 02:06:22 CET 2011
- Fix regex search failure on fake domain. Thanks to Michel Reischl for
the report.
- Add support to squid log with client dnsname instead of ip address.
Thanks to Matthew Jurgens for the patch.
- Add options --logfile (-l) and --configfile (-c) to squid-analyzer
command line argument. Thanks to Matthew Jurgens for the patch.
- Add the first and last time an url is viewed by a user on day and hour
views. Thanks to Franco Mazz for the feature request.
- Allow column sorting using the Javascript sorttable library
available at http://www.kryogenix.org/code/browser/sorttable/.
Thanks to Matthew Jurgens for the patch.
- Renamed file Changes as ChangeLog.
- Makefile.PL is now able to do a full install by creating directories
and moving files.
- Allow parsing of compressed log file. SquidAnalyzer will automaticaly
use zcat when the logfile extention ends with .gz
- The cost column now is not shown when the cost price is 0.
- Change CSS style of links.
- Complete rewrite of report menu and calendar sot that they appears on
all HTML page.
- Change License from Artistic to GPL v3.
- Remove HeaderFile, replaced by squidanalyzer.css file.
- Add --rebuild option to allow rebuilding of all html and graph output
from data files. This should be done after upgrading.
- Add ..._REFRESH_UNMODIFIED into cache HIT statistics.
UPGRADE: Even if backward compatibility is preserved on data files, the HTML and
graph have changed, so after re-installing SquidAnalyzer you may want to run
squid-analyzer with the --rebuild command line option to regenerate those files.
So run the following commands:
tar xzf SquidAnalyzer-4.0.tar.gz
cd SquidAnalyzer-4.0/
perl Makefile.PL HTMLDIR=/var/www/squidanalyzer
make && make install
/usr/local/bin/squid-analyzer --rebuild
should the normal procedure to upgrade. Change the path to the HTML output if
required.
3.1 - Mon Aug 6 12:48:14 CEST 2007
- Fix illegal division by zero errors.
- Remove extra spaces in username
3.0 Fri May 7 12:31:01 CEST 2004
- Many thanks to Alexandre Sieira for all good ideas and reports !
- Add localization support.
- Add date formatting option for localisation.
- Add French translation.
- Add Portugal/brazilan translation.
- Add custom HTML header an footer support.
2.1 Tue May 4 16:35:08 CEST 2004
- Fix Url escaping problem on users pages
- Add translation (En + Fr)
2.0 Wed Oct 15 11:40:03 CEST 2003
- This is a complete rewrite of SquidAnalyzer.
- Add configuration file.
- Add Top n of url and second level domain.
- Add alias for client ip address and/or login.
- Add exclusion from report of certain client ip
addresses, network addresses and/or auth login.
- Many bug fix.
1.1 Wed Feb 28 12:21:30 CET 2001
- Fix problem with access.log file has zero size.
- Skip log line with field lenght != 8
1.0 Wed Jan 24 13:47:14 CET 2001
- original version