日志分析-AWStats和Splunk

日志分析

分析对象:
web的访问日志。

记录客户端的IP,了解其所在地;
记录哪些资源访问次数较多,比较受欢迎;
记录访问时间,了解网站访问的波峰和波谷;
记录客户端使用的浏览器。

信息的汇总:
可视化图表。

关注点:

  1. 独立IP:
    特定的IP地址访问网站的次数。
  2. 独立访客:
    访问网站的自然人。
  3. 页面浏览量 pv(page view)
    网站的某个内容或消息,比较受欢迎。

日志轮滚:

清空日志:
方法:
> 文件名
cat /dev/null > 文件名


AWstats

在centos7部署,
分析apache或nginx的日志。
分析tomcat的日志,需要修改配置。
准备:
[root@awstats ~]# yum install -y httpd
日志文件:
将一个有数据的日志文件拷贝到apache的日志文件目录下

1. 安装awstats
[root@awstats ~]# lftp 172.16.0.99
lftp 172.16.0.99:/tar> get awstats-7.2.tar.gz 

[root@awstats ~]# tar zxf awstats-7.2.tar.gz -C /usr/local/
[root@awstats ~]# cd /usr/local/
[root@awstats /usr/local]# ls
[root@awstats /usr/local]# mv awstats-7.2/ awstats    # 改名

2. 配置awstats
[root@awstats /usr/local]# chown -R apache:apache awstats/    给awstats设置权限

[root@awstats /usr/local/awstats/tools]# chmod +x *.pl    # 给tools目录下所有perl文件添加执行权限
[root@awstats /usr/local/awstats/wwwroot/cgi-bin]# chmod +x *.pl	 # 给cgi-bin目录下所有perl文件添加执行权限

运行向导文件,生成awstats的配置文件:
[root@awstats /usr/local/awstats/tools]# ./awstats_configure.pl 
> /etc/httpd/conf/httpd.conf
file (required if first install) [y/N] ? y
> awstats			# ----> 这个名字设置好,重要.

[root@awstats /etc/awstats]# ls
awstats.awstats.conf

[root@awstats /etc/awstats]# vim awstats.awstats.conf
51 LogFile="/var/log/httpd/access_log"
	被分析的日志的路径
204 DirData="/usr/local/awstats/data"
	数据库文件的路径	

[root@awstats ~]# mkdir /usr/local/awstats/data		# 存放数据的位置
[root@awstats ~]# chown apache:apache /usr/local/awstats/data   # 设置权限

3. 配置apache
[root@awstats ~]# vim /etc/httpd/conf/httpd.conf 
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    order allow,deny
    allow from all
    Require all granted		----> 添加这行 全部批准
</Directory>

[root@awstats ~]# systemctl start httpd
[root@awstats ~]# systemctl enable httpd

 4. 生成数据库文件
[root@awstats ~]# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=awstats -update

[root@awstats /usr/local/awstats/data]# ls
awstats112019.awstats.txt

浏览器访问:
http://172.16.0.30/awstats/awstats.pl?config=awstats


分析nginx的访问日志

nginx的访问日志格式跟apache一样,不需要其它设置

[root@awstats /etc/awstats]# vim awstats.awstats.conf 
LogFile="/log/nginx/access.log"

[root@awstats ~]# mkdir -p /log/nginx
	为了增加IO,可以使用raid0(多块硬盘)挂载到/log

分析tomcat的访问日志

tomcat的日志格式比较特殊,为了准备识别需要修改配置文件格式


[root@awstats /etc/awstats]# vim awstats.awstats.conf 
  51 LogFile="/log/tomcat/access_log"
 123 LogFormat=1
 124 LogFormat = "%host %other %logname %time1 %methodurl %code"

[root@awstats /log]# mkdir tomcat

[root@zagent-tomcat /opt/apache-tomcat-8.0.50/logs]# scp localhost_access_log.2019-12-03.txt 172.16.0.30:/log/tomcat/access_log

[root@awstats /log]# cd tomcat/
[root@awstats /log/tomcat]# ls
access_log

# 删除旧的日志文件,保留需要分析的日志.然后再次加载
[root@awstats /usr/local/awstats/data]# rm -f awstats122019.awstats.txt   
[root@awstats /usr/local/awstats/data]# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=awstats -update


Splunk

服务端

[root@splunk ~]# lftp 172.16.0.99
lftp 172.16.0.99:~> cd splunk/
lftp 172.16.0.99:/splunk> get splunk-5.0.2-149561-linux-2.6-x86_64.rpm 

[root@splunk ~]# rpm -ivh splunk-5.0.2-149561-linux-2.6-x86_64.rpm 

-------------------------------------------------------------------------
Splunk has been installed in:
        /opt/splunk
	安装路径
To start Splunk, run the command:
        /opt/splunk/bin/splunk start
	启动方式
To use the Splunk Web interface, point your browser to:
    http://splunk:8000
	访问方式
Complete documentation is at http://docs.splunk.com/Documentation/Splunk
	帮助
	
-------------------------------------------------------------------------
[root@splunk ~]# /opt/splunk/bin/splunk start

访问测试:
http://splunk-ip:8000

客户端

接收远程节点的日志:
splunk 172.16.0.30
tomcat 172.16.0.121


安装splunkforwarder
[root@zagent-tomcat ~]# lftp 172.16.0.99
lftp 172.16.0.99:~> cd splunk/      
lftp 172.16.0.99:/splunk> get splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

[root@zagent-tomcat ~]# rpm -ivh splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

-------------------------------------------------------------------------
Splunk has been installed in:
        /opt/splunkforwarder

To start Splunk, run the command:
        /opt/splunkforwarder/bin/splunk start

# 启动
[root@zagent-tomcat /opt/splunkforwarder]# ./bin/splunk start
#添加splunk服务端ip (客户端指向服务端)
[root@zagent-tomcat /opt/splunkforwarder]# ./bin/splunk add forward-server 172.16.0.30:9997
Splunk username: admin			---> 用户名
Password: changeme				---> 密码
Added forwarding to: 172.16.0.30:9997.   ---> 服务端地址
	配置接收日志的IP和端口

[root@zagent-tomcat /opt/splunkforwarder/etc/system/local]# ls
inputs.conf  outputs.conf  README  server.conf

[root@zagent-tomcat /opt/splunkforwarder/etc/system/local]# vim outputs.conf 
	这个文件不需要改
[root@zagent-tomcat /opt/splunkforwarder/etc/system/local]# vim inputs.conf
[default]
host = zagent-tomcat
[monitor:///var/log/httpd]
	##日志的路径
sourcetype = access_common
	##日志的格式类型

配置apache:
[root@zagent-tomcat ~]# yum install -y httpd
[root@zagent-tomcat ~]# echo 172.16.0.121 > /var/www/html/index.html
[root@zagent-tomcat ~]# systemctl start httpd

访问,刷出访问日志。

重启:
[root@zagent-tomcat ~]# /opt/splunkforwarder/bin/splunk restart

参考

日志合并脚本★
#!/bin/bash
# 合并上一周的日志文件

logdir="/log/nginx"
filename=“access.log-”

logfile="${logdir}/all_access.log"

$logfile

for i in seq 7 -1 1
do
cat l o g d i r / {logdir}/ logdir/{filename}date -d "$i day ago" "+%Y%m%d" >> $logfile
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值