服务器维护需要log日志,IBM HTTP server for i的日志维护
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都具有效果。可以有效防止日志文件的无序增大。
(二)按周期生成日志
虽然方案(一)可以有效控制日志文件的增大,但仍然不是一个易于维护的方案。在实际应用中,我们通常会按一定的时间间隔生成新日志。从而可以在一定时期后删除旧的日志,而不影响新日志的工作。
同样是在"General Settings "选项卡中,在Log cycle后我们可以选择产生新日志文件的周期。对于日志产生频繁的服务器,可以选择Hourly方式每个小时产生一个新文件。如果请求数量不是太多的服务器,可以按“天”或者更长的周期生成。
启用日志生成周期后,原来设定的日志文件名也会相应发生改变。例如在Daily方式下,如果原日志名设置为access_log的话,那么实际产生的日志成将会类似于access_log.Q112051200的形式。如下图所示:
通过周期日志的设置,管理员可以定期删除过期的日志,以控制日志文件的总大小。但是最智能的日志管理方式还需要配合第(三)点的技术来实现。* 无论是否启用日志周期,第(一)点中的文件大小限制依然对单个日志文件有效。
(三)智能自动删除日志
在IBM HTTP server for i上的每个HTTP实例都有一个每天按时启动一次的计时器。在启用该计时器后,可以在每天的某个整点的时间对日志进行定期的处理。我们可以在"General Settings "选项卡中的Specify hour of the day log maintenance occurs中指定每天几点钟触发日志整理操作。如下图所示:
而在该计时器被触发时所执行的具体操作,则由LogMaint指令指定。我们以error log为例说明。同样是在Logging页面中,选择Error logs标签。可以看到两个输入项,分别是Expiration和Maximum cumulative size。
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
服务器维护需要log日志,IBM HTTP server for i的日志维护相关推荐
- 查看mysql日志大小,SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小.如果你管理数据库的有很多的 ...
- SQL日志文件查看工具(Log Explorer for SQL Server v4.2)
下载地址:http://download.csdn.net/source/2284248 1.Log Explorer for SQL Server v4.2.1 该软件我比较推荐的 安装完毕后,注册 ...
- 实验一:SQL server 2005高可用性之----日志传送
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/10/31/4751070.aspx SQL server 2005高可用性之日志传 ...
- mysql 事务日志备份_SQL Server恢复模式与事务日志备份
在SQL Server中,数据库不能像Oracle数据库一样设置归档模式,但是可以进行事务日志备份,其作用等同于Oracle数据库的日志文件归档. SQL Server 备份和还原操作发生在数据库的恢 ...
- SQL Server中的尾日志备份和还原
A tail-log backup is a special type of transaction log backup. In this type of backup, the log recor ...
- IBM Http Server 配置问题
楼主happynight(泪) 2003-07-24 16:24:43 在 WebSphere / 非技术区 提问 最近安装了IBM Http Server 1.3.19,可是打不开IBM ...
- 各类web服务器 http access log获取用户和代理ip
IIS.apache.nginx日志中获取访客真实IP的解决方案 http://bbs.jiasule.com/thread-3957-1-1.html 一. IIS Web服务器解决方 ...
- linux主机服务器日志采集,Linux通过Rsyslog搭建集中日志服务器
(一)Rsyslog简介 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地. rsys ...
- mysql事务日志备份_事务日志备份 (SQL Server)
事务日志备份 (SQL Server)Transaction Log Backups (SQL Server) 01/05/2018 本文内容 适用于:Applies to: SQL ServerSQ ...
- Stairway to Transaction Log Management in SQL Server, Level 5: Managing the Log in Full Recovery
译者:薛朝鹏,张鹏辉 当事情进展顺利时,没有必要特别注意事务日志的功能或工作方式. 您只需要确信每个数据库都有正确的备份机制. 当出现问题时,了解事务日志对于采取纠正措施非常重要,尤其是在需要对数据库 ...
最新文章
- Java基础23-集合类2(Set接口,Iterator迭代器)
- 07-XML 文件注解开发
- 鸟哥的Linux私房菜(服务器)- 簡易 APT/YUM 伺服器設定
- C++中如何去掉std::string对象的首尾空格
- LeetCode 面试题 链表中倒数第K个点
- 删除出现次数最少字符串JAVA_牛客网——华为机试(题23:删除字符串中出现次数最少的字符)(Java)...
- 利用Seaborn库进行简单的画图
- python为mysql设置id自增长_python mysql自增字段AUTO_INCREMENT值的修改方式
- WordPress 安装主题时 提示 “无法创建目录”
- ftl有三种映射地址_FTL地址映射的方法及装置与流程
- 当BIM遇上GIS-无人机倾斜摄影三维建模(ContextCapture) 建设智慧城市方法详解
- 微信小程序入门--注册账号
- FLASH学习(一)
- iOS 中input隐藏输入光标
- android 编程app_2020年用于Android App开发的顶级编程语言
- 《缠中说禅108课》69:月线分段与上海大走势分析、预判
- mariadb无法update修改root密码ERROR 1348 (HY000): Column 'Password' is not updatable
- Vscode c与c++编译环境配置(.vscode),看这一篇就够了
- 探秘Google苏黎世办公室:放肆的享乐主义
- 【ceph】ceph osd blacklist cep黑名单|MDS问题分析
热门文章
- CMake实践(2)
- 思维导图软件列表(mind mapping software list)
- android edittext不可复制_【EditText】Android设置EditText不可编辑 | 学步园
- SpringCloud整合Feign的调用源码流程解析
- SpringSecurity OAuth2搭建微服务安全认证网关
- 【Amaple教程】4. 组件
- 跟我学习dubbo-简介(1)
- 调整数组使奇数全部都位于偶数前面
- Visual Studio使用技巧---(1-10)
- [Android] 开发一款软件我学到了些什么?