已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
在 linux 环境下 开源工具 Awstats 是一个非常受欢迎的网站日志处理工具 在 linux 环境安装和配置 awstats 比较容易成功 但要同时处理多个 apache 日 志 比如 web 集群的环境 还是有许多工作需要做的 平台环境平台环境 1 服务器 3 个 2 个运行 apache 的 web 服务器 一个专门处理日志的 Awstats 服务器 2 运行平台 全部为 redhat AS 4 设计思路设计思路 日志处理服务器每天定期从 2 个 apache 服务器获取日志文件 对取得的压 缩文件解压 接着把 2 个单独的日志文件合并成一个 再用 awstats 处理生成 报告 下面我们就按照这个思路来进行具体的部署 一 一 ApacheApache 日志的生成和处理日志的生成和处理 1 apache 日志生成 通过修改 apache 的配置文件 httpd conf 来达到这个目的 下面是某个 apache 服务器的配置文件关于日志记录的修改部分 SetEnvIf Request URI gif image request SetEnvIf Request URI jpg image request SetEnvIf Request URI png image request SetEnvIf Request URI js image request SetEnvIf Request URI css image request SetEnvIf Request URI swf image request ErrorLog var log web error log CustomLog opt apache2 bin rotatelogs var log web access Y m d log H 28800 480 combined env image request 在这里简单说明一下上面各个项目的意义 SetEnvIf Request URI 设置判 断环境变量 image request CustomLog opt apache2 bin rotatelogs var log web access Y m d log H 28800 480 combined env image request 表示不记图片请求所产生的日志 并且使用 apache 的日志轮转工具 rotatelogs 对日志进行分割 以年月日及小时方式命名文件 这样用脚本处理 日志时就非常方便了 这个 CustomLog 有点特别 不要把命令前面的 等符 号写丢了 通过运行 apache 服务 将在目录 var log web 生成日志文件 access20071120 log 00 由于使用了日志轮转功能 从上图可以看见 2 个日志文件 2 日志备份和压缩 进入日志所在的目录 把同一天不同时间段的日志合并成一个文件 压缩 后移动到另外的一个位置 var log weblog backup 为什么要把它放在另外的 位置并且压缩呢 主要的原因是为了在传输时节省时间 当然我们不可能每天 手动来执行这个操作 自然而言 用 shell 脚本来干这个事情了 下面给出脚 本的内容 bin sh lastlogdate date Y m d d yesterday touch var log web access lastlogdate log for i in var log web access lastlogdate log do cat i var log web access lastlogdate log rm f i done touch var log web access lastlogdate log gzip var log web access lastlogdate log if f var log web access lastlogdate log gz then mv var log web access lastlogdate log gz var log weblog backup fi rm rf find var log weblog backup atime 7 把这个脚本命名为 merge log sh 放在目录 usr local bin 下面 并赋予执 行权限 然后在自动任务里加入这个任务 让它每天自动执行一次 运行 crontab e 把下面的行加入其中 5 0 usr local bin merge log sh 为检查脚本的正确性 至少手动执行一遍脚本 merge log sh 看是否在目 录 var log weblog backup 生成压缩文件 如果如愿生成类似 access20071119 log gz 这样的文件 表明脚本正确地按照我们的意图工作了 3 允许 awstats 取得 apache 的日志文件 部署 ftp 服务 创建一个 ftp 用户 然后把这个 ftp 的用户目录定位到 var log weblog backup 即第 2 步生成压缩文件的目录 使用下列的命 令产生 ftp 用户和指定目录 root www1 useradd d var log weblog backup s sbin nologin sery root www1 passwd sery root www1 chmod 755 R var log weblog backup 由于 vsftpd 配置非常容易 这里就不再多说 启用 ftp 服务 用刚才创建 的用户测试一下 看是否可以看见 var log weblog back 里的文件 到这一步 我们需要在 apache 服务器上进行的操作就结束了 多个 apache 服务器 只需要重复上面的操作即可 当然 为了适应你自己的环境 请自行修改相关的目录和文件 二 二 获取日志文件获取日志文件 是 awstats 服务器从 apache 服务器取得日志文件 在本案中 我将从 2 个 apache 服务器取得日志文件 取日志也是每天自动进行一次 有一点必须注 意 那就是必须要等 第二步 操作正常结束后再进行取日志 回过头去看 第二步 的 usr local bin merge log sh 执行时间在 00 05 分 考虑 执行程序的开销 估计 1 小时左右可以完成这个操作 所以在凌晨 2 点去取文 件是合时的 下面给出取日志的脚本 bin bash wget active ftp m directory prefix root logs web1 tries 3 output file root script weblog get log ftp sery heufgewUQc wget active ftp m directory prefix root logs web2 tries 3 output file root script weblog get log ftp sery heufgewUQc 脚本成功运行后 将把第一个 apache 服务器的日志文件放在 root logs web1 目录 第 2 个 apache 服务器的日志文件放在 root logs web2 目录 并且把操作日志记录到文件 root script weblog get log 以方便检查脚本执行的状况 把这个脚本放在目录 usr local bin 下 命名为 weblog get sh 赋予执行权限 然后手动运行脚本 usr local bin weblog get sh 看是否取得了远程 apache 服务器的 2 个压缩 日志文件 正确无误后 把它加在 crontab 里 crontab e 00 02 usr local bin weblog get sh 每天凌晨 2 点 awstats 所在的服务器就会主动从 2 个远程的 apache 服务器取来日志文件 三 三 日志合并日志合并 在在 awstatsawstats 服务器上进行服务器上进行 由于用 ftp 取得的日志文件有多个 本案是 2 个 不便于处理 因此很 有必要对日志进行解压和合并 处理使用下面的脚本来完成 bin bash define variables AwsLogDir root logs awstats log Web1Log root logs web1 Web1OrigLog Web1Log access date Y m d date 1 days ago log gz Web2Log root logs web2 Web2OrigLog Web1Log access date Y m d date 1 days ago log gz OldFile root logs awstats logs access date Y m d date 4 days ago log get logfiles cd Web1Log if f Web1OrigLog then gunzip d Web1OrigLog fi FileLog1 access date Y m d date 1 days ago log if f FileLog1 then mv access date Y m d date 1 days ago log AwsLogDir access date Y m d date 1 days ago log 1 fi cd Web2Log if f Web2OrigLog then gunzip d Web2OrigLog fi FileLog2 access date Y m d date 1 days ago log if f FileLog2 then mv access date Y m d date 1 days ago log AwsLogDir access date Y m d date 1 days ago log 2 fi conbine two web logs to one cd AwsLogDir File1Log access date Y m d date 1 days ago log 1 File2Log access date Y m d date 1 days ago log 2 if f File
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年家庭医疗器械生产可行性研究报告及总结分析
- 2025年可持续旅游产业发展计划可行性研究报告及总结分析
- 没签合同离职签协议
- 棉花土地流转合同范本
- 轮胎胶块购销合同范本
- 工作场所资源合理使用自查报告
- 法律事务服务合同范本
- 适用合同法调整的协议
- 智慧城市构建:跨界消费场景创新
- 流动餐厅租借合同范本
- 医院地震知识培训课件
- 旋流风口RA-N3选型计算表格
- 《纳米催化剂》课件
- 精神科常见的意外事件及预防措施
- 伺服控制器说明书-图文
- 高教社马工程伦理学(第二版)教学课件08
- DBJ33T 1275-2022 钢结构工程施工质量验收检查用表标准
- 业财融合视角下企业财务管理工作的创新策略
- 《陕西省城镇燃气安全检查导则》
- 质量安全与环境管理制度
- 2025年交投集团招聘笔试参考题库含答案解析
评论
0/150
提交评论