# TAG: access_log file
# Where is the access.log file
#
-# This option can be repeated up to 256 times to list rotated files or
+# This option can be repeated multiple times to list rotated files or
# files from different sources.
#
# The files named here must exists or sarg aborts. It is intended as a
# safety against incomplete reporting due to problems occuring with the
# logs.
#
+# If the file globbing was compiled in, the file name can contain shell
+# wildcards such as * and ?. Tilde expension and variable expension are
+# not supported. Special characters can be escaped with a backslash.
+#
# If some files are passed on the command line with "sarg -l file" or
# "sarg file", the files listed here are ignored.
#
#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.
+# Users within the file will be excluded from reports.
+# Write one user per line. Lines beginning with # are ignored.
#
#exclude_users none
#exclude_hosts none
# TAG: useragent_log file
-# useragent.log file patch to generate useragent report.
+# useragent.log file to generate useragent report.
+#
+# This option may be repeated multiple times to process several files.
+#
+# Wildcards are allowed (see access_log).
+#
+# When this option is used the user_agent report is implicitly
+# selected in report_type.
#
#useragent_log none
#
#date_format u
-# TAG: per_user_limit file MB flag
-# Saves userid (if flag is 1) or userip (if flag is 0) in file if download exceed n MB.
-# This option allow you to disable user access if user exceed a download limit.
+# TAG: per_user_limit file MB ip/id
+# Write the user's ID (if last flag is 'id') or the user's IP address (if last flag is 'ip')
+# in file if download exceed n MB.
+# This option allows you to disable user access if users exceed a download limit.
# The option may be repeated up to 16 times to generate several files with
# different content type or limit.
#
+# Examples:
+# per_user_limit userlimit_1G.txt 1000 ip
+# per_user_limit /var/log/sarg/userlimit_500M.log 500 id
+#
#per_user_limit none
# TAG: per_user_limit_file_create always/as_required
# Use 'as_required' to create a per_user_limit file only if at least
# one user crosses the limit.
#
-#per_user_limit_file_create purge
+#per_user_limit_file_create always
# TAG: lastlog n
# How many reports files must be keept in reports directory.
# Only codes matching exactly one of the line is rejected. The
# comparison is not case sensitive.
#
-#exclude_codes /usr/local/sarg/exclude_codes
+#exclude_codes /usr/local/sarg/etc/exclude_codes
# TAG: replace_index string
# Replace "index.html" in the main index file with this string
# TAG: report_type type
# What kind of reports to generate.
# topusers - users, sites, times, bytes, connects, links to accessed sites, etc
-# topsites - site, connect and bytes report
-# sites_users - users and sites report
-# users_sites - accessed sites by the user report
-# date_time - bytes used per day and hour report
-# denied - denied sites with full URL report
+# topsites - site, connect and bytes report
+# sites_users - users and sites report
+# users_sites - accessed sites by the user report
+# date_time - bytes used per day and hour report
+# denied - denied sites with full URL report
# auth_failures - autentication failures report
# site_user_time_date - sites, dates, times and bytes report
# downloads - downloads per user report
+# user_agent - user agent identification strings report (this report is always selected
+# if at least one file is provided with useragent option)
#
# Eg.: report_type topsites denied
#
-#report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
+#report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads user_agent
# TAG: usertab filename
# You can change the "userid" or the "ip address" to be a real user name on the reports.
# TAG: topuser_fields
# Which fields must be in Topuser report.
#
+# Valid columns are
+# NUM Report line number.
+# DATE_TIME Icons to display the date and time reports.
+# USERID Display the user's ID. It may be a name or the IP address depending on other settings.
+# USERIP Display the user's IP address.
+# CONNECT Number of connections made by the user.
+# BYTES Number of bytes downloaded by the user.
+# %BYTES Percent of the total downloaded volume.
+# IN-CACHE-OUT Percent of cache hit and miss.
+# USED_TIME How long it took to process the requests from that user.
+# MILISEC The same in milliseconds
+# %TIME Percent of the total processing time of the reported users.
+# TOTAL Add a line to the report with the total of every column.
+# AVERAGE Add a line to the report with the average of every column.
#topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
# TAG: user_report_fields
#siteusers_report_limit 0
#squidguard_report_limit 10
#dansguardian_report_limit 10
-#user_report_limit 10
-#user_report_limit 50
+#user_report_limit 0
+#download_report_limit 50
# TAG: www_document_root dir
# Where is your Web DocumentRoot
#
#ntlm_user_format domainname+username
+# TAG: strip_user_suffix suffix
+# Remove a suffix from the user name. The suffix may be
+# a Kerberos domain name. It must be at the end of the
+# user name (as is implied by a suffix).
+#
+# This is a lightweight easy to configure option. For a
+# more complete solution, see useralias.
+#strip_user_suffix @example.com
+
# TAG: realtime_refresh_time num sec
# How many time to auto refresh the realtime report
# 0 = disable
# TAG: realtime_types: GET,PUT,CONNECT,ICP_QUERY,POST
# Which records must be in realtime report.
#
-# realtime_types GET,PUT,CONNECT
+# realtime_types GET,PUT,CONNECT,POST
# TAG: realtime_unauthenticated_records: ignore|show
# What to do with unauthenticated records in realtime report.
# TAG: hostalias
# The name of a text file containing the host names one per line and the
-# optional alias to use in the report instead of that host name.
+# optional alias to use in the report instead of that host name. If the
+# alias is missing, the host name is replaced by the matching pattern
+# (that is, including the wildcard). For instance, in the example below,
+# any host matching *.gstatic.com is grouped, in the report, under the
+# text "*.gstatic.com".
+#
# Host names may contain up to one wildcard denoted by a *. The wildcard
# must not end the host name.
+#
# The host name may be followed by an optional alias but if no alias is
# provided, the host name, including the wildcard, replaces any matching
# host name found in the log.
+#
# Host names replaced by identical aliases are grouped together in the
# reports.
+#
# IP addresses are supported and accept the CIDR notation both for IPv4 and
# IPv6 addresses.
+#
# Regular expressions can also be used if sarg was compiled with libpcre.
# A regular expression is formated as re:/regexp/ alias
# The regexp is a perl regular expression (see man perlre).
# Subpatterns are allowed in the alias. Sarg recognizes sed (\1) or perl ($1)
# subpatterns. Only 9 subpatterns are allowed in the replacement string.
+# Regex are case sensitive by default. To have a case insensitive regex,
+# defined it like this: re:/regexp/i alias
+# The option "i" must be written with a lower case.
#
# Example:
# *.gstatic.com
# *.mail.live.com
# 65.52.00.00/14 *.mail.live.com
# re:/\.dropbox\.com(:443)?/ dropbox
-# re:/([\w-]+)\.(\w*[a-zA-Z]\w*)(?::\d+)?$/\1.\2
+# re:/([\w-]+)\.(\w*[a-zA-Z]\w*)(?::\d+)?$/ \1.\2
#hostalias /usr/local/sarg/hostalias
# TAG: useralias
# The name of a text file containing the user names one per line and the
# optional alias to use in the report instead of that user name.
-# User names may contain wildcards denoted by a *.
-# The user name may be followed by an optional alias but if no alias is
-# provided, the user name, including the wildcard, replaces any matching
-# user name found in the log.
-# User names replaced by identical aliases are grouped together in the
-# reports.
-# IP addresses are supported and accept the CIDR notation both for IPv4 and
-# IPv6 addresses.
-# Regular expressions can also be used if sarg was compiled with libpcre.
-# A regular expression is formated as re:/regexp/ alias
-# The regexp is a perl regular expression (see man perlre).
-# Subpatterns are allowed in the alias. Sarg recognizes sed (\1) or perl ($1)
-# subpatterns. Only 9 subpatterns are allowed in the replacement string.
+# See the description of hostalias. It uses the same file format as the
+# useralias option.
+#
+# Example:
+# user454 John
+# admin* Administrator
+# re:/^(.*)@example.com$/i \1
#useralias /usr/local/sarg/useralias
# TAG: keep_temp_log yes|no
# Note that the max_successive_log_errors is still taken into account and
# cannot be disabled.
#max_total_log_errors 50
+
+# TAG: include conffile
+# Include the specified conffile. The full path must be provided to
+# make sure the correct file is loaded.
+#
+# Use this option to store common options in one file and include it
+# in multiple sarg.conf dedicated to various reporting tasks.
+#
+# Options declared last take precedence. Use it to include a file and
+# then override some options after the include statement. Beware that
+# some options are cumulative such as access_log, useragent_log or
+# redirector_log. You can't override those options as explained here.
+# Declaring them in the common file and the including file will merely
+# add the latter to the list.
+#include /etc/sarg/sarg-common.conf