`
canofy
  • 浏览: 833379 次
  • 性别: Icon_minigender_1
  • 来自: 北京、四川
社区版块
存档分类
最新评论

统计系统八---说明

阅读更多
统计系统---说明

这里的日志是使用log4j生成的,按指定的格式生成日志,既一条记录的各个字段使用一个tab建隔开,主要是为了解析的时候方便

这里的统计使用shell来下载解压缩日志和报警,使用awk来进行解析日志,使用存储过程来进行数据的处理
(下一个统计使用java来实现,使用的是access日志)
1.4亿的pv日志在据说是10分钟用awk就能解析完毕,还没有验证,因为相当于做了处理,因此入库也会很快。


统计分为三大部分:
1.下载,解压缩
2.解析日志入库
3.报警
这是基本的三大部分,具体可能还涉及到存储过程等。

配置文件:
1.下载配置文件---/config/down.config
   里面是url地址,相当于指向日志的目录,不包括日志名
   在下载的时候会根据url的域名或者是ip地址建立文件夹,保存该服务器的日志文件,然后直接解压缩该文件到该目录下
2.报警的配置文件-----/config/mail.config
   里面是一些mail地址,一行一个,第一个是发送的地址,后面的都属于抄送。
   接收报警邮件的邮箱需要注意不要把此邮件当成垃圾邮件,这和邮箱有关系,网易的不知道为什么就是收不到,google的邮箱就不用设置都能收到,而263的企业邮箱需要在网页中把root加为好友才能用foxmail收到邮件
3.一般的配置文件----/config/comm.config
   log_suffix是为了看使用的是什么压缩的,因为测试的时候是在windows下生成的日志,压缩也在Windows下,因此为了支持zip的方式,就设置了此key,另外支持tar解压缩的压缩文件,这个是为了正式在linux下使用的
   mysql_head 是连接数据库的一段东西
   sql_procedure 是当日志入库之后需要执行的存储过程,把临时表中的数据转到正式表中去
  
   log_name_pv 是下载日志名,日期用XXXX-XX-XX-XX,使用的小时的格式,但在脚本中几乎和此无关,不管是天,还是小时都可以下载日志,入库也没有问题,有问题的是存储过程。
   down_config_file_pv是下载文件的配置文件,既前面提到的/config/down.config文件的所在地,因此down.config其实不管放在哪都行,文件名也可以随意的修改
   log_save_path_pv 是日志保存的路径,可以随便填写,可以是任意的目录,主要是备份下载的文件,以及解压缩文件给解析的时候用,日志入库完毕后会删除解压缩的文件
   log_name_ex_pv 是解压缩后的pv日志名,不同的机器名称需要统一
   sql_table_pv 是sql的表名+字段,是用于脚本解析日志之后生成的临时文件然后入库使用的,数据库的字段需要和临时文件的列数相对应
  
   log_name_click 同log_name_pv
   log_name_ex_click 同log_name_ex_pv
   down_config_file_click 同down_config_file_pv
   log_save_path_click 同log_save_path_click
   sql_table_click 同sql_table_pv
  
报警这个脚本里面没有写,传到博客上来的时候还没有加入报警的东东,呵呵,具体的报警其实应该设在下载失败的时候,以及数据解析入库失败的时候
第一个下载失败的时候好做,只需要在下载失败那里发送邮件即可
第二个涉及到数据库就不那么好做了,比较简单的方法是用其他的程序写一个监控的东东,然后用监控软件定时查看数据库中的数据是否已经入库。公司里是采用的java写了一个jsp页面,然后按条件查询数据库,若有则返回ok,若没有则返回error,用的是hostmonitor监控ok字段。

解析属于最重要的一部分,解析出错会导致整个统计系统的统计数据不准确。
这里使用了awk来进行解析,具体的awk教程可以上网看一下,很简单的,一旦稳定的话一般就不会出问题,初期可能会比较累一点。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics