2022年sarg安装及配置(详细 .pdf
1、安装下载了 sarg 的最新安装包以后,进入下载的目录,执行以下的操作进行安装:解压缩安装软件包#tar zxvf sarg-2.2.5.tar.gz 进入解压后的目录,#cd sarg-2.2.5 #./configure #make #make install 这样,就完成了 sarg 的安装,如果安装过程中出现错误,可以看看有没有安装 gcc, 或者在安装系统是没有安装相应的开发库。如果使用默认的选项,可执行文件是 /usr/bin/sarg,配置文件是 /usr/local /sarg/sarg.conf,在/usr/local/sarg目录下还有一些其他的文件和目录。2、配置安装成功后,在 /usr/local/sarg/目录中,有一个配置文件为sarg.conf,我们通过修改配置文件的参数, 来达到对日志进行有规则的分析。也可以通过命令行参数实现。sarg 配置文件的方法和squid 配置文件的配置方法类似,只要修改带有关键字的行:language english 指定网页报告文件的语言类型,很可惜不支持中文网页。access_log /usr/local/squid/logs/access.log 指定 squid 日志文件绝对路径。title squid user access reports 指定网页标题,可以写中文网页,内核支持先。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - temporary_dir /var/tmp 指定临时文件目录,请确认该目录所在的分区足够大先,1g以上。output_dir /var/www/html/squid-reports 指定网页报告文件输出路径, 推荐使用 webmaster 或其他非 admin 用户运行sarg 。topuser_sort_field connect reverse bytes reverse 在 top 排序中, 指定连接次数 (connect) , 访问字节数 (bytes) 采用降序排列,升序请使用 normal 替代 reverse user_sort_field connect reverse 对于每个用户的访问纪录,连接次数按降序排列exclude_hosts /usr/local/sarg/norecords 指定不计入排序的站点列表文件名为,对于客户端访问的这些站点,将不会被 top 排序中, norecords 文件样本 : date_format e 启动 sarg 进程时如果使用日期参数 -d 时, 请使用和配置文件一致的日期格:e (europe=dd/mm/yy), u (usa=mm/dd/yy), w (weekly=yy.ww) topuser_fields num date_time userid connect bytes %bytes in-cache-out used_time milisec %time total average 指定 top 排序的域,可以取掉一些不关紧要的域:in-cache-out used_time等weekdays 1-5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 指定 top 排序星期周期为星期一到星期五,0 表示星期天hours 9-11,13-16 指定 top 排序的时间周期为9:00-11:59 ,13:00-16:59 ,哈哈,差不多为上班时间至此, sarg.conf文件的配置基本上over 了,还有些不是太重要的配置一看就明白,在此就不耽误大家的时间了。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 指定输入的日期格式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - -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以上。3、运行一般来说,我们希望系统可以自动生成日志分析以后的结果。在这里,我们利用 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) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - /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 通过邮件发送报告:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - #!/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 -z -d $YESTERDAY-$TODAY exit 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -