服务器维护需要log日志,IBM HTTP server for i的日志维护

本文介绍了IBM HTTP Server for i的日志系统,包括Errorlog、Customlog和Forensiclog的用途及默认路径。针对日志文件可能带来的管理问题,提出了三种维护策略:限制单个日志文件大小、按周期生成新日志和智能自动删除日志。通过这些设置,可以有效地控制日志文件的大小,提高服务器的管理和维护效率。
摘要由CSDN通过智能技术生成

Body

在IBM HTTP server for i上有一整套功能完备的日志系统。按照各自用途的分类主要有以下几类:

(1) Error log

默认生成路径为/www/instance_name/logs/error_log。主要用于记录HTTP服务器运行过程中产生的错误信息,是排查问题时最重要的日志。

(2)Custom log

此类日志用于记录服务器接收到的每条HTTP请求的信息。可由用户自定义日志格式。对于使用IBM Web Administration for i的默认选项创建的HTTP实例,会自动为其配置一个名为access log的此类日志,其默认路径为/www/instance_name/logs/access_log。下文均以access log表示此类日志。

(3) Forensic log

用于法律分析的日志,同样是记录HTTP的请求。每条HTTP请求都会被分配一个唯一的ID,并且拥有严格和固定的格式。

通常HTTP服务器都需要长时间不间断的运行。如果缺乏有效的维护手段,那么各类日志文件的体积将会与日俱增(特别是access log与forensic log两类日志),最终将占用大量的空间而难以管理。因此本文将介绍对这些日志进行维护的一些技巧。

(一)限制单个日志文件的大小

在IBM Web Administration for i中选择一个HTTP实例,在左侧列表中点击"Logging"按钮。然后在右侧的"General Settings "选项卡中的Maximum log file size后指定单个日志文件的最大大小。该选项可以接受从0(无限制)到2GB的数值。当日志文件增大到该数值设定的大小后,将不会继续往其中写入数据。该选项对error log、access log和forensic log都具有效果。可以有效防止日志文件的无序增大。

weihu1.png%0A

(二)按周期生成日志

虽然方案(一)可以有效控制日志文件的增大,但仍然不是一个易于维护的方案。在实际应用中,我们通常会按一定的时间间隔生成新日志。从而可以在一定时期后删除旧的日志,而不影响新日志的工作。

同样是在"General Settings "选项卡中,在Log cycle后我们可以选择产生新日志文件的周期。对于日志产生频繁的服务器,可以选择Hourly方式每个小时产生一个新文件。如果请求数量不是太多的服务器,可以按“天”或者更长的周期生成。

weihu2.png%0A

启用日志生成周期后,原来设定的日志文件名也会相应发生改变。例如在Daily方式下,如果原日志名设置为access_log的话,那么实际产生的日志成将会类似于access_log.Q112051200的形式。如下图所示:

weihu3.png

通过周期日志的设置,管理员可以定期删除过期的日志,以控制日志文件的总大小。但是最智能的日志管理方式还需要配合第(三)点的技术来实现。* 无论是否启用日志周期,第(一)点中的文件大小限制依然对单个日志文件有效。

(三)智能自动删除日志

在IBM HTTP server for i上的每个HTTP实例都有一个每天按时启动一次的计时器。在启用该计时器后,可以在每天的某个整点的时间对日志进行定期的处理。我们可以在"General Settings "选项卡中的Specify hour of the day log maintenance occurs中指定每天几点钟触发日志整理操作。如下图所示:

weihu4.png%0A

而在该计时器被触发时所执行的具体操作,则由LogMaint指令指定。我们以error log为例说明。同样是在Logging页面中,选择Error logs标签。可以看到两个输入项,分别是Expiration和Maximum cumulative size。

weihu5.png%0A

Expiration表示生成日期超过设定天数的日志将被全部删除。而Maximum cumulative size则表示当当前日志的大小之和*超过设定数值后,将从最旧的日志开始依次删除,直到大小之和小于所设定的数值。显然,该功能必须配合第(二)点介绍的周期日志使用。

* 即errorlog.Q112051300、errorlog.Q112051400……等所有同类日志都会被放在一起计算总大小

通过设定这两个参数,再配合前面设定的计时器时间设定,我们便可以智能地自动删除过期日志。而且该功能支持所有可以按周期生成的日志类型。如果在标签页上找不到相应的日志类型,我们可以直接在配置文件中设置,例如对于logs/forensic_log,我们可以在配置文件中添加如下指令:

LogMaintHour 3

LogMaint logs/forensic_log 7 2000000

这样在每天3点的时候,HTTP服务器将对logs目录下的所有forensic_log.QCYYMMDDHH文件进行统计,删除所有7天前的日志,并对剩下的日志大小进行统计,删除最旧的日志直到大小总和小于2000000个字节。

* 对于Forensic log的支持需要相应的PTF SI45531(IBM i 6.1)/SI45532(IBM i 7.1)的支持。Group PTF SF99368-level14(i 7.1)以及SF99115-level26(i 6.1)中已经包含上述PTF。请确保机器满足这些要求。

我们建议对于频繁生成的日志文件(如access log与forensic log)启用智能日志管理,通过结合第二点介绍的“按周期生成日志”以及第三点介绍的“自动智能删除旧日志”,可以将日志文件的总体大小控制在一个设定的范围内,同时减少人工维护的成本。

作者: Xu Meng

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值