基于Django Restframework和Spark的异常检测系统,数据库为MySQL、Redis,
消息队列为Celery,分析服务为Spark SQL和Spark Mllib;
每天0点1分自动运行定时job从全量数据中导入正常的cat数据,该数据用于kmeans做模型训练
把项目fork到用户目录。
$ sudo apt-get install redis-server
$ sudo apt-get install python3 python3-pip
$ sudo pip3 install virtualenv
$ sudo apt-get install python3-dev libmysqlclient-dev
$ git clone git_url
$ virtualenv -p python3 env_py3_spark
# 激活环境后安装依赖库
$ pip install -r requirements.txt
$ pre-commit install
进入web目录,创建新的配置文件settings_local.py。然后根据自己的环境进行配置。 例如:
"""
本地开发的配置文件
"""
from web.settings import *
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"HOST": "127.0.0.1",
"USER": "root",
"NAME": "test_cpass",
"PASSWORD": "password",
"PORT": "",
},
}
$ celery -A web worker -l info 启动celery
$ celery flower -A web --address=0.0.0.0 --port=6666 启动celery flower
nt_user 用户管理模块
social_core social_django 第三方登录
raven senty
遵从asgi协议,灵活支持同步和异步
支持自动从django orm映射index signal自动更新index;
缺陷是只支持ES 2.x及以下 比较鸡肋,建议还是用DSL或Elasticsearch
缓存get请求返回的结果1个小时
@method_decorator(cache_page(60 * 60), name='get')
nginx+tornado+daphne+supervisor