大数据实践项目 - 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:root@127.0.0.1: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