CrazyEye介绍¶
CrazyEye是基于Python开发的一款简单易用的IT管理软件,目前主要具体以下功能:
- 运维审计
- 支持主机分组管理
- 可为运维人员分配指定服务器、指定账号的操作权限
- 运维人员的所有操作均可被记录下来以供日后审计
- 主机批量操作
- 可对指定数量的机器进行批量命令、文件分发操作,可实时查看操作进度和结果
Warning
目前暂时不支持对Windows系统的操作审计和批量任务
下载¶
$ git clone https://github.com/triaquae/CrazyEye.git
安装¶
在安装CrazyEye前请确保你的Linux系统的Python版本是2.7+,Python3.0+还未做过测试,请谨慎使用
CrazyEye安装所需要的组件:
- Django 1.8+
- Paramiko 最新版本
- Django suite
- django-session-security
- Shellinabox
- Mysql
- Python 连接Mysql的模块
开始安装
- 安装Django,Paramiko,Django-suite,MySQL-python
$ pip install Django==1.8.5
$ pip install django-suit==0.2.15
$ pip install django-session-security
$ pip install paramiko
#安装python连接mysql的模块
$ yum install MySQL-python #for CentOS
$ sudo apt-get install python-mysqldb #for Ubuntu
- 安装Shellinabox
$ git clone https://github.com/anilgulecha/shellinabox.git
$ cd shellinabox
$ ./configure
$ make && makeinstall #安装出了错的话请到https://github.com/anilgulecha/shellinabox.git 页面上按照提示修复
安装CrazyEye
下载最新版CrazyEye源码并解压后,编辑主配置文件
CrazyEye/settings.py
, 在此配置文件中配置好与Mysql数据库的连接
# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'CrazyEyes', #需要你自己在你的mysql数据库中先创建好该数据库
'HOST': '', #如果数据库在远程的机器上,此处填写远程数据库服务器的IP
'PORT':3306,
'USER':'root',
'PASSWORD': '' #为空代表没密码
}
}
- 创建CrazyEye数据库
$ mysql -uroot -p
> create database CrazyEyes character set utf8; #一定要设置成utf8格式噢
> exit;
- 在主目录执行以下命令来初始化CrazyEye的数据库表结构:
$ python manage.py syncdb
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py createsuperuser #创建管理员用户(如果在执行python manage.py syncdb的时候已经创建了用户了,这一步可以不执行)
- 创建一个审计用户
crazy_audit
,并在此用户的.bashrc
用户环境变量文件的最底部,加上以下两条代码:
$ useradd crazy_audit #(ubuntu上执行adduser crazy_audit )
$ su - crazy_audit
$ vi .bashrc
#在尾部添加以下2行代码:
python /YourCrazyEyeInstallPath/CrazyEye/crazy_eyes_mgr.py run
logout
#此时crazy_audit用户的环境变量配置文件 看上去如下
$ more /home/crazy_audit/.bashrc
...
...
python /YourCrazyEyeInstallPath/CrazyEye/crazy_eyes_mgr.py run #把YourCrazyEyeInstallPath替换成你自己的软件安装目录
logout
#用ssh登录到此用户,在输入用户名密码后,如果显示以下提示,则代表配置成功 (执行此步之前,先执行第7步,登录后台http://localhost:8000/admin,找到CrazyEye账户,创建一个用户,再来这里登录!!)
press ENTER if you don't have token, [input your token]: #此处敲回车
Username:
Password:
启动WEB登录页面
python manage.py runserver 0.0.0.0:8000
, 然后在浏览器输入此地址http://localhost:8000/admin
,输入你刚才创建的管理员用户名和密码
恭喜!你已成功安装了CrazyEye,现在可以开始配置使用了!
配置CrazyEye¶
部署到生产环境¶
CrazyEye默认是以测试环境运行的,在测试环境下,所有的功能虽然和生产环境模式都是一样的,但是却是不能支持多并发的,因为CrazyEye所依赖的Django WEB服务器是单线程的,So如果想让CrazeEye支持高并发,需要借助Apachel或Nginx Web服务器,我们建议你使用Nginx来做CrazyEye的高并发。
若想让nginx支持Django web服务,需要借助一个第三方Python模块叫uwsgi,具体安装和配置nginx支持Django的方法请参考uwsgi官方文档!
Uwsgi文档: http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
ScreenShots¶
作者介绍¶
Alex,多年运维+自动化开发经验,曾任职公安部、飞信、Nokia中国、中金公司、Advent软件、汽车之家等公司,目前任老男孩教育Python教学总监,热爱技术、电影、音乐、旅游、妹子!
Note
他的Python教学视频 http://edu.51cto.com/lecturer/user_id-3050674.html
技术支持¶
目前CrazyEye发布是的1.0测试版,由于时间有限,在使用过程中难免会出现一些小bug,你可以加入 CrazyEye官方支持QQ群(29215534)
提交bug,我会尽快回复!