archer
自动化数据库SQL操作平台
基於inception的自動化SQL操作平台,支持工單、審核、定時任務、郵件、OSC等功能,還可配置MySQL查詢、慢查詢管理、會話管理等
python3.4及以上
django1.8.17
mysql : 5.6及以上
linux : 64位linux操作系统均可
git clone https://github.com/jly8866/archer.git pip3 install virtualenv
virtualenv venv4archer --python=python3.4
source venv4archer/bin/activate
pip3 install -r requirements.txt
python3 manage.py makemigrations sql
python3 manage.py migrate
python3 manage.py createsuperuserbash debug.shpip3 install gunicorn==19.7.1 server{
listen 9123; #监听的端口
server_name archer;
proxy_read_timeout 600s; #超时时间与gunicorn超时时间设置一致,主要用于在线查询
location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host:9123; #解决重定向404的问题
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /static {
alias /archer/static; #此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
bash startup.shhttp://XXXX:port/login/ yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
yum -y install percona-toolkit.x86_64
hostname="${mysql_host}:${mysql_port}"與archer主庫配置信息一致,否則將無法篩選到相關記錄 pip3 install aliyun-python-sdk-core==2.3.5
pip3 install aliyun-python-sdk-core-v3==2.5.3
pip3 install aliyun-python-sdk-rds==2.1.1
patch python/site-packages/django/contrib/auth/views.py django_1.8.17_admin_secure_archer.patch
yum install openldap-devel
pip install django-auth-ldap==1.3.0
點擊體驗
| 角色 | 賬號 | 密碼 |
|---|---|---|
| 管理員 | archer | archer |
| 工程師 | engineer | archer |
| 審核人 | auditor | archer |
| DBA | dba | archer |
/tmp/default.log & /tmp/archer.err
location /static {
alias /archer/static; #此处指向settings.py配置项STATIC_ROOT目录的绝对路径,用于nginx收集静态资源,一般默认为archer按照目录下的static目录
}
集群不顯示數據庫
archer會默認過濾一些系統數據庫,過濾列表為'information_schema', 'performance_schema', 'mysql', 'test', 'sys'
審核人不顯示沒有為審核人/DBA角色的有效用戶
審核通過後沒有執行按鈕
archer的SQL上線流程為:工程師提交SQL->審核人審核->DBA執行,審核人只能審核歸屬自己審核的數據,DBA執行全部數據
— inception备份用户
GRANT SELECT, INSERT, CREATE ON *.* TO 'inception_bak'
— inception审核用户(主库配置用户,如果要使用会话管理需要赋予SUPER权限,如果需要使用OSC,请额外配置权限)
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'inception'
— archer在线查询用户(从库配置用户)
GRANT SELECT ON *.* TO 'archer_read'
| 規則類型 | 規則脫敏所用的正則表達式,表達式必須分組,隱藏的組會使用****代替 | 需要隱藏的組 | 規則描述 |
|---|---|---|---|
| 手機號 | (.{3})(.*)(.{4}) | 2 | 保留前三後四 |
| 證件號碼 | (.*)(.{4})$ | 2 | 隱藏後四位 |
| 金融卡 | (.*)(.{4})$ | 2 | 隱藏後四位 |
| 郵箱 | (.*)@(.*) | 2 | 去除後綴 |
查詢權限申請待辦列表被隱藏至右上角的消息圖標中,當有待審核信息時會顯示圖標,可以進入查看待辦數據
python3 manage.py migrate創建