Squid日志分析软件Sarg的安装及使用技巧

http://tech.ddvip.com   2007年07月10日    社区交流

内容摘要:SARG作为一款Squid日志分析工具,它采用html格式,详细列出了每一位用户访问internet的站点信息,时间占用信息,排名,连接次数,访问量,访问量等。

  sarg的命令行解释如下:

  # sarg -h

  sarg: usage [options...]

  -a hostname or ip address

  指定不计入排序的主机名称或地址

  -b useragent log

  用户代理日志文件输出

  -c exclude file

  指定不计入排序的站点列表文件名为/usr/local/sarg/norecords,对于客户端访问的这

  些站点,将不会被top排序中

  -d date from-until dd/mm/yyyy-dd/mm/yyyy

  指定日期范围

  -e email address to send reports (stdout for console)

  指定报告接收者邮件

  -f config file (/usr/local/sarg/sarg.conf)

  指定配置文件

  -g date format [e=europe -> dd/mm/yy, u=usa -> mm/dd/yy]

  指定输入的日期格式

  -h help (this...)

  列帮助信息

  -i reports by user and ip address

  指定客户端排序采用用户名或者ip地址

  -l input log

  指定squid日志文件绝对路径。

  -o output dir

  指定网页报告文件输出路径,推荐使用webmaster或其他非admin用户运行

  sarg。

  -p use ip address instead userid (reports)

  使用ip地址作为userid域

  -w temporary dir

  指定临时文件目录,请确认该目录所在的分区足够大先,1g以上。

  4、运行

  一般来说,我们希望系统可以自动生成日志分析以后的结果。在这里,我们利用cron来实现,把以下的相应脚本放到cron里面去执行即可

  日报告:

  -------------------------------------

  #!/bin/bash

  #Get current date

  TODAY=$(date +%d/%m/%Y)

  #Get one week ago today

  YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

  /usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /usr/local/apache/htdocs/reports/daily -z -d $YESTERDAY-$TODAY

  exit 0

  周报告:

  -------------------------------------

  #!/bin/bash

  #Get current date

  TODAY=$(date +%d/%m/%Y)

  #Get one week ago today

  YESTERDAY=$(date --date "1 week ago" +%d/%m/%Y)

  /usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /usr/local/apache/htdocs/reports/weekly -z -d $YESTERDAY-$TODAY

  exit 0

  月报告:

  -------------------------------------

  #!/bin/bash

  #Get current date

  TODAY=$(date +%d/%m/%Y)

  #Get one week ago today

  YESTERDAY=$(date --date "1 month ago" +%d/%m/%Y)

  /usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -o /usr/local/apache/htdocs/reports/monthly -z -d $YESTERDAY-$TODAY

  /usr/local/squid/bin/squid -k rotate

  exit 0

  通过邮件发送报告:

  #!/bin/bash

  #Get current date

  TODAY=$(date +%d/%m/%Y)

  #Get one week ago today

  YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)

  /usr/local/bin/sqmgrlog -l /usr/local/squid/logs/access.log -e user@site.com -z -d $YESTERDAY-$TODAY

  exit 0

责编:豆豆技术应用

正在加载评论...