服务器环境:Centos7
ELK流量分析流程
1.通过hive对昨日的流量日志数据,进行离线批处理,按维度将一些指标预先聚合出来,将结果写入mysql,默认有一些预先处理好的数据已经存在mysql
2.手动准备一些样例数据,然后写入mysql中,装一个mysql,模拟成是hive导入mysql的一份数据
3.通过logstash,将mysql中的数据导入es中
4.通过kibana+各种es聚合语法,生成各种各样的报表出来
安装Logstash
创建目录
[root@elasticsearch01 ~]# mkdir -p /data/server
[root@elasticsearch01 ~]# chown -R elasticsearch:elasticsearch /data/server/
解压压缩文件
tar -zxvf logstash-5.6.3.tar.gz -C /data/server/
mv logstash-5.6.3/ logstash
cd logstash
logstash pipeline
两个组成部分:input和output,也可以包含一个可选的filter
input plugin负责从数据源中获取数据
filter plugin负责对数据进行定制化的处理和修改
output plugin负责将数据写入目的地中
运行最基础的logstash pipeline
./bin/logstash -e 'input { stdin { } } output { stdout {} }'
-e:直接在命令行对logstash进行配置,从命令行接受输入,将输出写入命令行
输入:hello world,可以看到输出,logstash会补充timestamp和ip地址
用ctrl-d可以结束这个piepline
安装Mysql
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-community-server
重启mysql服务
service mysqld restart
设置mysql密码
mysql -u root
mysql> set password for 'root'@'localhost' =password('123456');
mysql> quit
登录mysql
mysql -u root -p123456
创建数据库
mysql> create database patpat_demo;
使用数据库
use patpat_demo;
datekey cookie section userid province city pv is_return_visit is_bounce_visit visit_time visit_page_cnt
日期 cookie 版块 用户id 省份 城市 pv 是否老用户回访 是否跳出 访问时间 访问页面数量
创建表
create table user_access_log_aggr (
datekey varchar(255),
cookie varchar(255),
section varchar(255),
userid int,
province varchar(255),
city varchar(255),
pv int,
is_return_visit int,
is_bounce_visit int,
visit_time int,
visit_page_cnt int
);
插入数据
insert into user_access_log_aggr values('20171001', 'dasjfkaksdfj33', 'game', 1, 'beijing', 'beijing', 10, 0, 1, 600000, 3);
insert into user_access_log_aggr values('20171001', 'dasjadfssdfj33', 'game', 2, 'jiangsu', 'nanjing', 5, 0, 0, 700000, 5);
insert into user_access_log_aggr values('20171001', 'dasjffffksfj33', 'sport', 1, 'beijing', 'beijing', 8, 1, 0, 800000, 6);
insert into user_access_log_aggr values('20171001', 'dasjdddksdfj33', 'sport', 2, 'jiangsu',