您的位置:首页 > 运维架构 > Linux

CentOS6.2安装Sarg

2012-07-19 11:19 211 查看
之前为客户架设了Squid,但客户提出查看Squid日志每回还要ssh上去看log太麻烦,通过webmin看又不太直观,想要能有日志分析一类的功能,想想决定给他们用sarg,不是多好的问题,而是用的次数较多,而且sarg用的也比较方便,它采用html格式,可以详细列出了每一位用户访问internet的站点信息,时间占用信息,排名,连接次数,访问量,访问量等。

网络环境:域环境局域网络,多网络权限有部分终端用户只能发邮件,有的部门只能在工作时间上网,其它的服务器都不能与外网联连,但是所有的终端保括服务器都能update病毒库,不过update时间不同,终端用户不能使用任何即时通信工具。

硬件环境: DELL PowerEdge 1950 E5410

CPU:Quad-Core Xeon Pro E5410

MEM:1GB (2x512MB), 667MHz, ERROR

DISK:73GB, 2.5'', 10Krpm, SAS Hard Drive, Hotplug

系统环境:CentOS6.2_x64(minimal)+Squid

第一步:安装相应的支持

注意安装sarg前一定要确认当前系统是否安装有gcc,不然sarg安装时会报错。

yum install gcc* gd gd-devel kdevelop gcc-c++ -y

第二步:下载并安装sarg

wget http://nchc.dl.sourceforge.net/project/sarg/sarg/sarg-2.3/sarg-2.3.tar.gz

tar zxvf sarg-2.3.1-1.el6.rft.x86_64.ok.log.gz

cd sarg-2.3

./configure

make

make install

第三步:编辑sarg.conf

cp /usr/local/etc/sarg.conf /usr/local/etc/sarg.conf.bak

vim /usr/local/etc/sarg.conf

我的sarg.conf

access_log /var/log/squid/access.log #指定squid的access.log的路径

title "Squid user Access reports" #网页报告标题头

output_dir /var/www/html/sarg/ #指定网页报告文件输出路径

overwrite_report no #是否覆盖报告,当那个日期的报告已经存在时是否覆盖掉

mail_utility mail

topsites_num 100 #显示多少条报告

exclude_codes /usr/local/etc/exclude_codes

max_elapsed 28800000

charset UTF-8 #使用字符集

topuser_sort_field connect reverse bytes reverse #在top排序中,指定连接次数(connect),访问字节数(bytes)采用降序排列,(升序用normal)

user_sort_field connect reverse BYTES reverse #对于每个用户的访问纪录,连接次数按降序排列,(升序用normal)

exclude_users /usr/local/etc/nousers #指定不计入排序的人文件名

exclude_hosts /usr/local/etc/norecords #指定不计入排序的站点列表文件名

usertab /usr/local/etc/user_ip #IP和用户的映射表(报表中可以显示用户名)

resolve_ip no

user_ip no #使用用户名显示

weekdays 0-6 #指定top排序星期周期为星期一到星期五,0表示星期天

hours 9-12,13-23 #指定top排序的时间周期为9:00-12:59,13:00-23:59

添加不计排序站点

vim /usr/local/etc/norecords

microsoft.com

执行/usr/local/bin/sarg生成报表

系统提示:

SARG: 纪录在文件: 5028, reading: 100.00%

SARG: 成功的生成报告在 /var/www/html/sarg//2012Jul16-2012Jul17

第五步:配置httpd.conf

cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

vim /etc/httpd/conf/httpd.conf

第292行

DocumentRoot "/var/www/html"

改为

DocumentRoot "/var/www/html/sarg/

启动httpd

service httpd start

在浏览器里输入http://ipaddress/这时就可以看到





非常详细吧,当然这还没有完,这只是一次图表生成,下面要说定时生成图表和简单的用户验证

第六步:定时生成图表

# crontab -e

*/10 * * * * /usr/local/bin/sarg

注意:每个星号之间要有空格。

第七步:访问控制

除了安全原因,相信做为管理员也不会愿意这个页面让任何人随便查看,那么就设置一个用户认证

1、建立.htaccess

touch /var/www/html/sarg/.htaccess

vim /var/www/html/sarg/.htaccess

输入:

AuthUserFile /etc/setureuser #这个setureuser是我在后面建立的存放认证用户用户名及密码的文件

AuthName UserLogin #这个随便起名,这只是弹出对话框的题目

AuthType Basic #用户认证的方式,用户验证方式AuthType 目前提供了Basic 和Digest 两种

require valid-user #valid-user参数意味着user文件中的所有用户都是可用的,require valid-user 或者 require user frank 限制是所有合法用户还是指定用户

<Files .htaccess>

order allow,deny

deny from all

</Files>

2、建立用户

htpasswd –c /etc/safeuser itadmin #初次建立用户就用-c这个参数,以后再建立新用户就不用了,更改用户密码用-m参数

New password:

Re-type new password:

Adding password for user itadmin

3、修改httpd.conf

vim /etc/httpd/conf/httpd.conf

第338行

AllowOverride None

改为

AllowOverride All

将httpd加入启动项

chkconfig --level 35 httpd on

重启httpd

service httpd restart

这时再打开浏览器查看时就会弹出用户登录提示框。
本文出自 “青瞳” 博客,请务必保留此出处http://icedot.blog.51cto.com/61369/935100
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: