网站日志解析后并生成可读文件

public class ObjectOutTest {
///* 将对象写入文件方法 */
//public void write(Object o, String path) {
// try {
// /* 创建存取文件 */
// FileOutputStream fileStream = new FileOutputStream(path);
// /* 将存取文件写入对象 */
// ObjectOutputStream os = new ObjectOutputStream(fileStream);
// /* 写入对象 */
// os.writeObject(o);
// System.out.println("写入数据成功");
// /* 关闭ObjectOutputStream */
// os.close();
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
//}
///* 将对象从文件中读出来 */
//public void read(String path) {
// try {
// /* 连接到要读取的文件 */
// FileInputStream fileStream = new FileInputStream(path);
// /* 怎样读取连接到的文件 */
// ObjectInputStream os = new ObjectInputStream(fileStream);
// /* 读取对象 */
// LogObject dog = (LogObject) os.readObject();
// System.out.println("输出结果:" + dog.getFrom() + " is a "
// + dog.getIp() + ",高:" + dog.getUrl() + ",长:");
// /* 关闭对象 */
// os.close();
// } catch (FileNotFoundException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// }
//}
/* 往文件写入字符串 */
public void wirteString(String path, String context) {
try {
/* 创建写入对象 */
FileWriter fileWriter = new FileWriter(path,true);
/* 创建缓冲区 */
BufferedWriter writer = new BufferedWriter(fileWriter);
/* 写入字符串 */
writer.write("\n"+context);
/* 关掉对象 */
writer.close();
System.out.println("写入字符串成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
/* 读取文件中的字符串 */
public void readString(String path) {
try {
/* 创建读取对象 */
FileReader fileReader = new FileReader(path);
/* 创建缓存区 */
BufferedReader reader = new BufferedReader(fileReader);
/* 读取文件 */
String line = null;
while ((line = reader.readLine()) != null) {
String s[]=line.split(" ");
String str1="";
for(int i=0;i<s.length;i++){
if(i==0||i==3||i==6||i==10){
if(i==0){
str1+="ip:"+"--"+s[i]+" ";
}
if(i==3){
str1+="访问时间:"+"--"+s[i]+" ";
}
if(i==6){
str1+="url:"+"--"+s[i]+" ";
}
if(i==10){
if(s[10].contains("baidu.com")){
str1+="站外(百度竞价):"+"--"+s[i]+" ";
}else{
str1+="内部:"+"--"+s[i]+" ";
}

}
//内部 百度竞价 直接访问 站外

}

//System.out.println(str1);
}
if(s[6].contains(".jpg")||s[6].contains(".png")||s[6].contains(".ico")||s[6].contains("/app/api")||s[6].contains(".gif")||s[6].contains(".css")||s[6].contains(".js")){
}else{
ObjectOutTest qqt = new ObjectOutTest();
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String s1=sdf.format(date);
qqt.wirteString("/home/data/htdocs/web/log/"+s1+".csv", str1);
}

}

/* 关闭对象 */
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/* 出函数入口 */
public static void main(String args[]) {
ObjectOutTest qqt = new ObjectOutTest();
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String s=sdf.format(date);
qqt.readString("/home/logsplit/"+s);

}
}

写完方法生成 jar包,再将jar包放到线上,同时写一个运行jar包的脚本。

cd /home/timer/
export JAVA_HOME=/opt/jdk7
export CLASSPATH=.:$CLASSPATH:/home/timer/rizhijiexi.jar:
export PATH=$JAVA_HOME/bin:$PATH

java -Xms256m -Xmx512m com.ObjectOutTest >>/home/logsplit/ObjectOut.log &
将 运行脚本文件放在 /opt/shell 下

然后

运行 crontab -e 再输入 O  即可插入定时启动脚本的命令

时间: 2024-11-19 05:38:22

网站日志解析后并生成可读文件的相关文章

QuickTest Professional对web网站进行测试后没有生成脚本信息解决办法

QTP是Quick Test Professional的简称,是一种自动测试工具.使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本.因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能.操作步骤.输入数据和期望的输出数据等. 下面根据自己的经验介绍解决办法: 首先在测试的时候,尽量只有qtp 和 webIE在运行 这个时候只需要关闭IE的保护模式即可 1. 原文地址:https://www.cnblogs.com/xuzhaoyang/p/10

Awk使用及网站日志分析

Awk使用及网站日志分析 Awk简介 概述 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk. awk程序的报告生成能力通常用来从大文本文件中提取数据元素并将它们格式化成可读的报告.最完美的例子是格式化日志文件.awk程序允许从日志文件中只过滤出你想要看

网站日志分析项目案例(二)数据清洗(MiniMapreduce)

网站日志分析项目案例(二)数据清洗 一.数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29.这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式. (2)自2013-05-30起,每天生成一个数据文件,约150MB左右.这也说明,从2013-05-30之后,日志文件不再是在一个文件里边. 图1展示了该日志数据的记录格式,其中每行记录有5部分组成:访问者IP.访问时间.访问资源.访问状态(HTTP状态码).

常用网站日志分析软件使用总结

如果你是一个站长,可能你也大概知道网站日志文件,也清楚网站原始访问日志文件中每一行记录到底记录了一些什么东西,但是如果叫你直接看这些杂乱的日志,相信你会很抓狂的,所以我们需要找一款专业又好上手的网站日志分析工具来辅助我们日常的原始日志分析工作. 笔者试用过很多网站日志分析工具,常用的比较好用,功能又比较全面的大概有三款:光年SEO日志分析系统.逆火网站日志分析器.Web Log Explorer.下面就给大家分享这三款网站日志分析软件的具体评价总结. 1. 光年SEO日志分析系统 这款软件是针对

Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 一.数据情况分析 1.1 数据情况回顾 该论坛数据有两部分: (1)历史数据约56GB,统计到2012-05-29.这也说明,在2012-05-29之前,日志文件都在一个文件里边,采用了追加写入的方式. (2)自2013-05-30

使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程

使用Nginx和Logstash以及kafka来实现网站日志采集的详细步骤和过程 环境介绍: linux虚拟机3台,主机名分别为hadoop01.hadoop02和hadoop03; 在这3台虚拟机上分别部署了3个Zookeeper,这里Zookeeper的具体安装步骤不做介绍; 在这3台虚拟机上分别部署了3个kafka,这里kafka的具体安装步骤也不做介绍; 我们在hadoop02这台机器上安装一个Logstash,其安装过程非常简单,解压既可使用; ====================

Hadoop学习笔记—20.网站日志分析项目案例(一)项目介绍

一.项目背景与数据情况 1.1 项目来源 本次要实践的数据日志来源于国内某知名的技术学习论坛,该论坛由某培训学校主办,汇聚了众多技术学习者,每天都有人发帖.回帖,如图1所示. 图1 项目来源网站-技术学习论坛 本次实践的目的就在于通过对该技术论坛的apache common日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考. PS:开发该系统的目的是分了获取一些业务相关的指标,这些指标在第三方工具中无法获得的: 1.2 数据情况 该论坛数据有两部分: (1)历史数据约56GB,统计到

盲并遗忘着-利用应用交付透析大型网站日志

回忆 像一直开着的机器趁我不注意慢慢地清晰反覆播映 -- <三万英尺>迪克牛仔 当航班在三万英尺的高空爬升下坠,穿越乱流,沉入海底,无人知道它在云中究竟经历了什么波折苦难,甚至无人知道它最终沉睡于何处,随着时间的变迁,也许被人渐渐遗忘.要理清一切,重拾记忆,唯一的希望便是找到那台发着微弱电波,记忆着一切的黑匣子. 服务器网站的日志记录便是如此,它就是网站服务器的黑匣子,日常运维中我们遭遇故障往往非常依赖分析统计的日志来找到问题.像是悬疑电影中的主角,每几分钟就会忘记自己的身份自己的姓名,需要在

Hadoop学习笔记—20.网站日志分析项目案例(三)统计分析

网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:http://www.cnblogs.com/edisonchou/p/4458219.html 网站日志分析项目案例(三)统计分析:当前页面 一.借助Hive进行统计 1.1 准备工作:建立分区表 为了能够借助Hive进行统计分析,首先我们需要将清洗后的数据存入Hive中,那么我们需要先建立一张表.这里我们选择分区表,以日期作