bigdata_practice
bigdata_practice copied to clipboard
大数据分析可视化实践
bigdata_practice
大数据实践项目 - nginx 日志分析可视化
功能说明
通过流、批两种方式,分析 nginx 日志,将分析结果通过 flask + echarts 进行可视化展示
数据收集分析过程

方式一:离线批处理 hive + datax + mysql
方式二:实时流处理 flume + kafka + python + mysql
配置
- 安装依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- 修改 ironman/data_db.py 的数据库配置
ENGINE_CONFIG = 'mysql+pymysql://root:[email protected]:3306/test?charset=utf8'
- mysql 建表
-- nginx_log 日志表
create table fact_nginx_log(
`id` int(11) NOT NULL AUTO_INCREMENT,
`remote_addr` VARCHAR(20),
`time_local` TIMESTAMP(0),
`province` VARCHAR(20),
`request` varchar(300),
`device` varchar(50),
`os` varchar(50),
`browser` varchar(100),
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8 ;
-- ip 地区映射表
create table dim_ip(
`id` int(11) NOT NULL AUTO_INCREMENT,
`ip` VARCHAR(20),
`province` VARCHAR(20),
`addtime` TIMESTAMP(0) default now(),
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8 ;
运行
运行 cd ironman; python app.py
打开 http://127.0.0.1:5000/
效果图
24 小时访问趋势

每日访问情况

客户端设备占比

用户分布

爬虫词云
