自己做个一个apache日志监控
来源:互联网 发布:野口笑子 知乎 编辑:程序博客网 时间:2024/05/12 01:39
蛋疼自己整一个access_log监控,从中遇到蛮多问题,基本解决了,记录下流程吧^_^
1.首先是access_log输出内容的调整:
我的想法是插入数据库做记录的,因为shell不是很好所以着手调整accesslog内容方便插入数据库;
原输出内容:
127.0.0.1 - - [14/Sep/2013:15:09:13 +0800] "GET / HTTP/1.1" 200 4148
想调整为:(日期格式)
127.0.0.1 - - '2014-01-01 22:40:35' GET / HTTP/1.1 200 3059
方法:
修改:apache配置文件
LogFormat "%h %l %u %t \"%r\" %>s %b" common
改为(由于不想修改原有的格式所有添加了一个规则)
LogFormat "%h %l %u '%{%Y-%m-%d %T}t' %r %>s %b" ayoah
2.日志分割:(按每日按)
由于后面做一个cronjob定时每天插入数据库,加之服务器跑时间长accesslog目测巨大,so这一步在我看来还蛮有用。分割后日志格式:log_年_月_日
方法:
1).安装cronlog:
http://cronolog.org/download/index.html《=下载地址
安装过程3步走:./confiure ;make;make install.(各种编译已吐)
安装path(我的是mac,目测linux的也不会出其左右):/usr/bin/local/sbin/cronlog
2).修改vhost(如果你有)
在你的对应vhost 下添加CustomLog "|/usr/local/sbin/cronolog /private/var/log/apache2/site_ayoah_log/log_%Y_%m_%d" ayoah
3).重启apache(可能log目录有点权限问题777全部解决,男人就应该粗糙点么。。,再有什么问题看你的errollog把)
3.建个数据库吧
create database mymoniter;
CREATE TABLE `accesslog` (`id` int(4) NOT NULL AUTO_INCREMENT,
`link` varchar(8000) DEFAULT NULL,
`riqi` varchar(100) DEFAULT NULL,
`status` int(4) DEFAULT NULL,
`ip` varchar(20) DEFAULT NULL,
`requesttime` int(4) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
4.定时任务:
1).bash:
本人shell简直就是菜,血淋淋的菜鸟。。。看完莫喷(笑喷是可以的。。)
#bashlogfile="/var/log/apache2/site_ayoah_log/log_$(date -v-1d '+%Y_%m_%d')"#mac 日期处理是date -vXXXX ,我这个crontab是跑的昨天的日志
cat $logfile |awk '{if($9>0 && $10>0) print "insert into mymoniter.accesslog (`ip`,`riqi`,`link`,`status`,`requesttime`) values('\'\"'$1'\"\'',"$4" "$5",'\'\"'$7'\"\'',"$9","$10");"}' >test.sql#拼sql,拼出一个未来,拼出一个全世界。。。
mysql <"test.sql"#insert
优化来日方长。。。但今天,恩今天就到这儿吧。。。
2).cronjob
sh-3.2# crontab -e
30 0 * * * /Users/ayoah/mytest/test
已完,多一个字我都不写,打死我不写。。。。
- 自己做个一个apache日志监控
- 自己做的一个WIFI模块+app,监控蓄电池电量
- 做一个生意之前,请自问自己6个问题!!!
- C中自己做个“回调函数”,抛一个
- 做个压力日志
- 自己做个记录
- 自己做一个SymbolSelector
- Apache/Nginx 日志实时监控可视化工具
- 终于自己学会做一个简单的人事管理系统软件了,做个纪念
- spring aop+zabbix做日志监控
- 做个自己站内搜索引擎
- 做个自己站内搜索引擎
- 做个自己站内搜索引擎
- 给自己做个广告
- 给自己做个广告
- 做个自己站内搜索引擎
- 做个自己站内搜索引擎
- 自己做了个密钥
- zabbix的入门到精通之zabbix的触发器Trigger
- rm 重定向
- C# WinForm下一步一步实现文件的拖入和拖出
- Android数据存储之ContentProvider
- linux下备份文件时间属性少8小时
- 自己做个一个apache日志监控
- 20140101
- Linux用户空间与内核空间
- 黑马程序员《java基础总结(八)》(集合--Collection接口)
- VS2005 没有找到MFC80D.DLL的解决方法
- opencv的cvCaptureFromAVI读文件的问题
- [转载]VS2005中ifstream不能读中文路径文件的bug
- 发现国外视频教程网站
- 【转载】Computer vision research groups