当前位置: > Linux服务器 > Linux软件 >

基于Python开发的IT(堡垒机)管理软件CrazyEye

时间:2015-12-13 17:40来源:linux.it.net.cn 作者:IT

堡垒机架构

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的模块

开始安装

  1. 安装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
  1. 安装Shellinabox
$ git clone https://github.com/anilgulecha/shellinabox.git
$ cd shellinabox
$ ./configure
$ make && makeinstall #安装出了错的话请到https://github.com/anilgulecha/shellinabox.git 页面上按照提示修复
  1. 安装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': ''  #为空代表没密码
    }
}
  1. 创建CrazyEye数据库
$ mysql -uroot -p

> create database CrazyEyes character set utf8; #一定要设置成utf8格式噢

> exit;
  1. 在主目录执行以下命令来初始化CrazyEye的数据库表结构:
$ python manage.py syncdb
$ python manage.py makemigrations
$ python manage.py migrate

$ python manage.py createsuperuser #创建管理员用户(如果在执行python manage.py syncdb的时候已经创建了用户了,这一步可以不执行)
  1. 创建一个审计用户 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:
  1. 启动WEB登录页面

    python manage.py runserver 0.0.0.0:8000 , 然后在浏览器输入此地址 http://localhost:8000/admin ,输入你刚才创建的管理员用户名和密码

    crazy_eye_admin_login

恭喜!你已成功安装了CrazyEye,现在可以开始配置使用了!

配置CrazyEye

  • 创建主机
  • 创建远程用户
  • 创建主机与远程用户绑定关系
  • 创建CrazyEye账户
  • 配置WebSSH
  • 设置批量任务最大并发数
  • 配置WebSSH

部署到生产环境

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

  • 查看软件相关功能截图

Live Demo

Demo 地址:

username:

password:

作者介绍

Alex,多年运维+自动化开发经验,曾任职公安部、飞信、Nokia中国、中金公司、Advent软件、汽车之家等公司,目前任老男孩教育Python教学总监,热爱技术、电影、音乐、旅游、妹子!

Note

他的Python教学视频 http://edu.51cto.com/lecturer/user_id-3050674.html



(责任编辑:IT)
------分隔线----------------------------