Apache日志管理和统计分析知识

对于所有公司或icp来说,在保证网站稳定正常运行外,还需要了解网站访问量和分析报表,这对于了解和监控网站的运行状态,对于提高网站的服务能力和服务水平似乎必不可少的。通过对web服务器的日志文件进行分析和统计,能够有效的掌握系统运行的情况及站点内容的被访问情况,加强对整个站及其内容的维护与管理;

Apache服务器具备强大的日志功能,管理员可以方便、准备、及时地了解服务器状况;可以更好地防范黑客的攻击。

Apache规定了4类日志,分别为:错误日志、访问日志、传输日志以及Cookie日志。其中Apache2.0默认设置的有错误日志和访问日志,如果需要分析其他日志,则需进行相关配置。

1.错误日志

错误日志是Apache服务器的标准日志文件,记录了服务器运行期间遇到的各种错误和一些服务器何时启动等的信息。

在这个文件中,管理员可以准确、清晰地看到各种错误提示:文件没找到、用户认证错误或者PHP、CGI的语法错误等。通过这些准确的错误描述,管理员就可以较为顺利地解决这些问题了。

2.配置访问日志

通过Apache的访问日志可以了解到访问服务器的相关信息,比如,有哪些人访问了服务器,都访问了哪些内容等相关信息。Apache服务器一旦启动就会自动生成访问日志(/var/log/httpd/access_log文件)

管理web网站需要监视其速度、web内容传送,服务器每天的吞吐量,和web网站的外来访问,了解网站各个页面
的访问情况,根据页面的点击率来改善网页的内容和质量,提高内容的可读性,跟踪包含有商业交易的步骤以及管理web网站幕后的数据;

1、日志的分类
apache的标准中规定了4类日志;
*错误日志
*访问日志
*传输日志
*cookie日志
 其中传输日志和cookie日志在apache2.0时已经取消了,只讨论错误日志和访问日志;
2、日志相关配置指令;
apache中有如下4条与日志相关的配置指令;

指令                 格式                                                                说明

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

ErrorLog        错误日志文件名;                                          指定错误日志存放路径

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

LogLevel         错误日志记录等级;                                    指定错误日志的记录等级

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

LogFormat      记录格式说明串,格式昵称;                     为一个日志记录格式命名

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

CustomLog    访问日志文件名      格式昵称                   指定访问日志存放路径和记录格式;

“|程序名 访问日志文件名”格式昵称       指定访问日志有指定程序生成并制定格式(管道日志)

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

前两条是配置错误日志,后两条是配置访问日志

3、配置错误日志;
1)、apache默认的错误日志配置
 ErrorLog "logs/error_log"
LogLevel warn
配置错误日志只需要说明日志文件的存放路径和日志记录登记即可;
2)、日志记录等级;

紧急程度   等级      说明
-----------------------------------------------------------------
1         Emerg          出现紧急情况时的系统不可用,如系统宕机等
------------------------------------------------------------------
2         A lert             需要立即引起注意的情况
------------------------------------------------------------------
3        Crit危险情况的警告
-----------------------------------------------------------------
4         Error               除了emerg、alert、crit的其他错误;
--------------------------------------------------------------
5         warn         警告信息
---------------------------------------------------------------
6         notice       需要引起注意的情况,但不如error warn重要
------------------------------------------------------------------
7        info         值得报告的一般信息
-------------------------------------------------------------------
8         debug        由运行与debug模式的程序所产生的消息
---------------------------------------------------------------
 
如果指定了登记warn,那么就记录紧急程度为1至5的所有信息;

[Fri May 07 10:32:00 2010] [error] [client 192.168.0.10] File does not exist: /usr/local/apache2/htdocs/favicon.ico
[Fri May 07 10:32:03 2010] [error] [client 192.168.0.10] File does not exist: /usr/local/apache2/htdocs/favicon.ico

每一行的错误日志都有
日期和时间         错误等级            错误消息

4、配置访问日志
1)、访问日志的分类;
为了便于分析apache的访问日志,apace的默认配置文件中,按记录的信息不同,将访问日志分为4类;并由LogFormat指令定义了昵称

格式分类               格式昵称           说明
--------------------------------------------------------------------
普通日志格式      common          大多数日志分析软件都支持这种格式
(common log format.CLF)
--------------------------------------------------------------------
参考日志格式       referer             记录客户访问站点的用户身份
(referer log format)
--------------------------------------------------------------------
代理日志格式      agent               记录请求的用户代理
(agent log format)
--------------------------------------------------------------------
综合日志格式       combined        综合以上三种日志信息
(combined log format)
--------------------------------------------------------------------
  由于综合日志格式简单地结合了3种日志信息,所以在配置访问日志时,要么使用3个文件分别记录,要么使用一个综合文件记录。

5、日志滚动

要使系统重新使用空的日志文件 ,可以执行如下命令

#cd /usr/loca/apache2/log

# mv error_log error_log.01
#mv access_log access_log.01

当重启apache时新的error_log和access_log

下面我们使用日志分析软件webalizer来统计

1)、安装webalizer

# yum install webalizer

# rpm -qa |grep webalizer
webalizer-2.01_10-30.1
# rpm -qa |grep webalizer
webalizer-2.01_10-30.1
[root@dns logs]# rpm -ql webalizer
/etc/cron.daily/00webalizer
/etc/httpd/conf.d/webalizer.conf
/etc/webalizer.conf
/usr/bin/webalizer
/usr/bin/webazolver
/usr/share/doc/webalizer-2.01_10
/usr/share/doc/webalizer-2.01_10/README
/usr/share/man/man1/webalizer.1.gz

/var/lib/webalizer

*生成的HTML文件存放在下面的路径

/var/www/usage
/var/www/usage/msfree.png
/var/www/usage/webalizer.png

2)、配置webalizer

#ln -s /var/www/usage /usr/local/www/usage

# webalizer /usr/local/apache2/logs/access_log

http://ip/usage

(0)

相关推荐

  • Apache日志管理和统计分析知识

    对于所有公司或icp来说,在保证网站稳定正常运行外,还需要了解网站访问量和分析报表,这对于了解和监控网站的运行状态,对于提高网站的服务能力和服务水平似乎必不可少的.通过对web服务器的日志文件进行分析和统计,能够有效的掌握系统运行的情况及站点内容的被访问情况,加强对整个站及其内容的维护与管理: Apache服务器具备强大的日志功能,管理员可以方便.准备.及时地了解服务器状况:可以更好地防范黑客的攻击. Apache规定了4类日志,分别为:错误日志.访问日志.传输日志以及Cookie日志.其中Ap

  • 详解ABP框架中的日志管理和设置管理的基本配置

    日志管理 Server side(服务器端) ASP.NET Boilerplate使用Castle Windsor's logging facility日志记录工具,并且可以使用不同的日志类库,比如:Log4Net, NLog, Serilog... 等等.对于所有的日志类库,Castle提供了一个通用的接口来实现,我们可以很方便的处理各种特殊的日志库,而且当业务需要的时候,很容易替换日志组件. 译者注释:Castle是什么:Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到

  • 老生常谈spring boot 1.5.4 日志管理(必看篇)

    spring boot日志默认采用logback进行输出,你可以对logback进行定制化,方法如下: 在resources文件夹下建立logback.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- base.xml in the spring-boot jar, --> <include resource="org/sprin

  • spring boot日志管理配置

    spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种Logger都可以通过配置使用控制台或者文件输出日志内容. 控制台输出 在Spring Boot中默认配置了ERROR.WARN和INFO级别的日志输出到控制台. 我们可以通过两种方式切换至DEBUG级别: a.在运行命令后加入--debug标志,如:$ Java -jar myapp.jar --d

  • Spring 5.0集成log4j2日志管理的示例代码

    在使用Spring框架的时候,我们可以很方便的配置log4j来进行日志管理. Spring 5.0发布一段时间了,最近将项目从Spring 4.3升级到Spring 5.0,Spring 4.3集成log4j所用的类org.springframework.web.util.Log4jConfigListener在Spring 5.0版本已经删除,而且log4j 1.x版已经不再更新.我们将log4j-1.x升级为log4j-2.x 先引入log4j 2的三个jar包 log4j-api-2.10

  • Mysql实现企业级日志管理、备份与恢复的实战教程

    背景 随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基.一旦公司的数据错乱或者丢失,对于互联网公司而言就等于说是灭顶之灾,为防止系统出现操作失误或系统故障导致数据丢失,公司要求加强用户数据的可靠性,要求全面加强数据层面备份,并能在故障发生时第一时间恢复. 数据备份形式 文件备份: 通过Linux的备份命令把文件统一打个包存起来,可存在本地和远程服务器,等到要恢复时,再用这些文件恢复到指定位置. 数据库数据备份: 在一些对数据可靠

  • SpringBoot利用AOP实现一个日志管理详解

    目录 1. 需求 2. 新建一张日志表 3. 写相应的Controller层 4.Service接口层 5.Service实现 6.Mapper接口 7.Mapper.xml(我用的是Mybatis) 8.CspLog 9.实体类SysOperCspLog 10. 定义日志管理的切面 11.AsyncFactoryCsp 12. 写一个Controller的Demo来执行一条日志试试 1. 需求 目前有这么个问题,有两个系统CSP和OMS,这俩系统共用的是同一套日志操作:Log;目前想区分下这俩

  • Shell脚本实现apache日志中的状态码分析

    一.首先将apache日志按天切割 复制代码 代码如下: vi /etc/httpd/conf/httpd.conf         ErrorLog "|rotatelogs /var/log/httpd/%Y%m%derror_log 86400 480"        CustomLog "|rotatelogs /var/log/httpd/%Y%m%daccess_log 86400 480" combined 二.重启apache服务 复制代码 代码如下

  • 使用CDN之后APACHE日志记录中IP地址不正确的解决方案

    最近在搞APACHE日志分析,装好了awstats之后,这两天进行了观察, 报表日期 月 1 月 2010 首次参观日期 2010年01月12日 11:04 最近参观日期 2010年01月13日 23:59     参观者 参观人次 网页数 文件数 字节 浏览器流量 * 77  226  (2.93 参观人次/参观者) 508979 (2252.11 网页数/参观) 509492 (2254.38 文件数/参观) 13.67 G字节 (63430.28 K字节/参观) 非浏览器流量 *  117

  • Linux下apache日志分析与状态查看方法

    假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] "GET /Public/Css/index.css HTTP/1.1″ 304 – "http://www.a.cn/common/index.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6.3)" 问题1:在apachelog中找出访问次数最多的1

随机推荐