CheungSSH web2.0 发布文档

  • CheungSSH 简介

    CheungSSH是一款国人自主研发的Linux运维自动化管理服务器软件,秉着为企业降低运营成本,解放管理员双手和自动化生产的理念,创造的一套开源运维自动化系统。

  • ChuengSSH 特点

  • 操作简单,全程Web界面,不需要特定的语法,不需要学习运作原理,即使不懂得Linux的人也能操作,界面全中文,点击鼠标就能指挥上千台服务器有序运作

  • 功能完备,支持网络设备,Linux服务器,Windows服务器,命令执行、文件传输、批量部署程序、服务器资产信息收集、计划任务、开放的API等主要功能

  • 易于二次开发,python语言,开源代码,使用完全免费

  • 简易,无需安装任何插件,管理方便,无后患

  • 安全无忧,通过Linux自带的SSH协议管理服务器,通信安全,无需开启额外的端口和启动额外的程序,所有的操作都在CheungSSH控制机上保留,不修改被管理服务器的任何配置数据

  • 安全存储数据,采用Mysql Oracle数据库

  • 管理简单,无需额外创建任何管理账号,只需要CheungSSH业务账号即可,即平时登陆服务器的账户。做到无痕操作,不给服务器增加额外负担

  • 效率更高,采用Redis缓存技术,所有的数据都缓存在Redis中,读取更快速

  • 权限控制,只有授权的操作,才能对现网生产服务器做改动

  • 权限审核,所有的操作, 均有操作记录

  • 堡垒机,所有的行动,都由CheungSSH替您执行,安全无忧、更省心、省时

  • 无人值守,基本解放运维人员的上手,解绑运维的生活时间

  • 非法操拦截,如  rm 命令,在没有被授权情况下,会被拦截

CheungSSH功能(持续开发中)

  • 命令批量执行

  • 脚本批量执行

  • 文件自动上传

  • 文件自动下载

  • 入计划任务

  • 自动部署软件

  • 程序自动同步

  • 被管理服务器资产收集

  • 服务器状态检查

  • 技术介绍

  • 代替Vi编辑器的文件编辑

  • 前端:Angulars javascript jQuery   ngfileupload  scrollbar uigrid typeahead cors Bootstrap

后端 : Django  Redis  Mysql Oracle SSH paramiko websocket crontab SFTP Cache

  • CheungSSH架构

  • 模块架构:

  • 运行架构:

  • CheungSSH作为堡垒机角色,替代管理人员对众多服务器进行管理,解放运维管理员的双手,并且有相应的审计、权限管理功能

我先自问一句:“什么是自动化运维?” ,估计有人会说,一个强大的自动化运维工具。
       为什么需要自动化?       
      相信在IT运维的朋友都知道,运维自动化是这两年才大批的提起自动化?因为云计算时代来了,公司的服务器规模空前庞大,以前一两百个机器的时候, 在管理上还没有觉得有什么,如今, 上千台服务器,上万台服务器,出来了,如何有效的管理这些服务器?成为了每个老板必须面对的问题! 
       因为服务器多了,公司人手不够,那么老板就不得不请更多的人,但是这样下来, 老板有一天发现了,这么请下去,不是办法啊,银子跟水一样哗哗流。所以目前,很多公司都在寻找第三方开发的自动化运维工具,比如puppet,ansible, saltstack等等。因为他们真的是想用这些工具的强大,来代替自己公司人力成本的支出。或者是自己公司请几个专业的运维开发自行开发一个运维系统。但是终究避不开一个问题---成本!

什么又是自动化呢? 
        我发现,有不少人还在认为,找一个功能很发达的工具,来管理公司的上千台服务器,而且还能很灵活的管理,这样就实现了自动化。在此,我要泼一瓢冷水!
那不叫自动化,因为即便选择某些功能很发的工具,但是也避不开一个问题----成本!因为学习某些工具,需要大量的时间,而且学习的人,还必须有一定的Linux基础,甚至是较好的Linux基础,所以他还是没能把成本降低到最低,所以,这样的情况, 依然不叫自动化!
        因为我觉得请一个精通Linux的人,或者是一个比较熟悉Linux的人,成本都太高了,因为它不比请一个刚大学毕业的人成本更高!难道不是吗?但是,请一个大学刚刚毕业的人,有干不了这个事情啊,怎么办?
       所以,我认为,在实现强大的功能管理的同事,还能最大限度的降低企业的营运成本,那才是我心目中的运维圣地------运维自动化!!!

CheungSSH为什么要存在?
      就像当年为什么Docs不受欢迎?微软推出了图形操作界面后,比尔盖茨瞬间成为首富!这是为什么?因为用户需要的是简单,再次简单!不需要学习的系统,才能真正的受欢迎,所以,只需要通过点击鼠标就能完成操作,这就是         CheungSSH追求的自动化与为工具!解放企业的生产力!让CheungSSH成为您的业务供应链的可靠后勤保障系统。


      使用CheungSSH目的和带来的价值
     实现运维全自动化,降低企业运营成本!是降到最低!使用CheungSSH,不需要再次学习shell操作,功能却是完备的。

     CheungSSH后续发展

     做一个功能强大的系统,能结合监控,CMDB,自动化运维一体的系统,并且使用学习成本更低,真正做到运维自动化!

联系我们

官方QQ群:445342415

官方微信群

捐助支付宝

  • 下载地址

https://www.github.com/zhangqichuan/CheungSSH

安装

  1. [root@cheungssh tmp]# unzip CheungSSH-Master.zip

  2. [root@cheungssh tmp]# cd CheungSSH-Master/bin/

  3. [root@cheungssh bin]# sh install-CheungSSH.sh  install    #这是一键自动化安装,无需人工解决依赖等头疼问题,这是真正的运维自动化体现之一

  4. 温馨提示:建议您使用Yum联网安装依赖模块,本地安装需要手动安装依赖

更新

  1. [root@cheungssh bin]# sh install-CheungSSH.sh update

登录CheungSSH Web

  • 温馨提示:

  • 如果登录次数联系超过5次,那么系统会锁定登录IP一天时间

  • 首次登陆后修改密码 http://您的IP地址:端口/cheungssh/admin/

  • 添加被管理主机配置信息

    • 点击 “增加服务器”

    • 添加好以后,如下:

  • 普通配置

这里,我们考虑的是,不需要被管理服务器做任何的配置, 哪怕是像某些工具需要SSH-key绑定一样, 在CheungSSH中, 完全不需要,因为我要做的是简单,再简单!所以,在添加被管理服务器的时候,你只需要填写被管理服务器的登录密码, 或者是SSH-key,就是你平时登录服务器的方式,简单易懂!
所以, 我根本不需要多做介绍, 当你看到界面的时候,你一下就能明白!应该填写什么信息。请相信CheungSSH,我们要做的,就是让用户感觉简单!

  • 高级配置

    • sudo登录

您可以选择sudo为 ”是“ 表示执行命令的时候,是启用了sudo,并且在执行命令的时候不用输入sudo开头, 直接是命令, 比如原本是sudo ifconfig ,现在只需要 ifconfig,CheungSSH为您自动切换

  • su - root

您可以选择su为是; 表示执行命令的时候,是启用了su - root,并且在执行命令的时候不用输入su - root开头, 直接是命令, 比如原本是su - root后,执行 ifconfig ,现在只需要 ifconfig,CheungSSH为您自动切换

    • 执行命令

      应用场景:执行一个whoami的命令,请记得,这个命令是在被管理的远程服务器上执行的

命令回显,功能区域介绍:

关于websocket:
class WebSocketServer(object):
def __init__(self):
self.socket = None
def begin(self):
print( 'WebSocketServer Start!')
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
self.socket.bind(("0.0.0.0",1337))
self.socket.listen(50) global connectionlist while True:
i=str(random.randint(90000000000000000000,99999999999999999999))
connection, address = self.socket.accept()
print '客户端ip',address
username=address[0]
ie_key='connection'+i
path="/"
newSocket = WebSocket(connection,i,username,address,path,ie_key)
newSocket.start() #开始线程,执行run函数
connectionlist[ie_key]=connection

选择服务器

    • 应用场景:假如您现网有一万台服务器,那么本次您只想对其中的一千台服务器进行操作,那么您可以挑选出要执行任务的主机

      添加计划任务

      应用场景:

      加入今晚需要对一部分的主机在24:00的时候执行一些命令,用来收集服务器的信息,此时,您使用该功能就不用值夜了,交给CheungSSH的计划任务模块,那么您就可以安心睡大觉了

选择计划任务的时间 ,这里与Linux系统的  分 时  日 月 星期 一一对应:

确认计划任务的时间,可以看到这个时间格式跟Linux系统的一模一样,没错,我们就是把它做成了操作系统的crontab功能:

查看计划任务

CheungSSH计划任务查看

操作系统计划任务查看

    1. [root@cheungssh bin]# crontab -l

    2. */1 */1 */1 */1 */1 /home/cheungssh/mysite/mysite/cheungssh/daemon_FileTransfer.py '{"status": "\u672a\u542f\u52a8", "lasttime": "2015-10-25 18:45:20", "cmd": "", "createtime": "2015-10-25 18:45:20", "sfile": "/var/log", "user": "bo", "fid": "92262569677243366214", "runtype": "download", "runtime": "*/1 */1 */1 */1 */1", "id": "99556469106"}' #92262569677243366214

    3. */1 */1 */1 */1 */1 /home/cheungssh/bin/cheungssh_web.py 94246137977316460425

    4. */1 */1 */1 */1 */1 /home/cheungssh/bin/cheungssh_web.py 91254503983769069002

    5. [root@cheungssh bin]#

       提示
             CheungSSH还是为了用户考虑,通过以上的计划任务, 您可能知道怎么用, 但是对于计划任务的结果, 运行流程,是感觉不清晰的,在这里,我想我有必要向您解释一下,还是那句话, CheungSSH要做到的是,让用户感觉简单,并且要真正让用户使用起来简单,所以这个计划任务的原理上是:在CheungSSH控制机器上做的计划任务,并没有在被管理的服务器上做计划任务,这样,就能为您降低更多运营成本,重要的是,还不变动您的被管理机器,再一次做到稳定!降低复杂度!

文件下载

文件传输记录

应用场景:对于所有的上传 下载文件的记录 我们都做了记录,下面是传输的记录:

文件下载

应用场景:在远程被管理的服务器上有一个文件,此时如果您需要获取文件内容,那么您可以使用我们的下载功能,把远程服务器上的文件下载到CheungSSH服务器上,然后从CheungSSH服务器再下载到您的本地电脑PC机器上,然后神奇的是,这一切过程,都是自动的!

  • 友情提示:不仅支持文件下载,还支持目录下载哦!

从远程服务器下载文件到CheungSSH上以后,自动弹出下载成功的文件,并且显示没有下载成功的文件:

从CheungSSH上下载刚才从远程服务器上下载的文件到您的本地电脑上:

  • 文件上传

    应用场景:假如您需要更新或者上传一些文件到被管理服务器上,那么这里您可以使用上传功能:

文件上传和下载 都有进度显示的哦!

其实我们利用的就是paramiko的SFTP函数实现的:
def UpdateFile(ip,port,username,password,UseKey,sfile,dfile):
try:
t=paramiko.Transport((ip,port))
if UseKey=="Y":
KeyPath=os.path.expanduser('~/.ssh/id_rsa')
key=paramiko.RSAKey.from_private_key_file(KeyPath)
t.connect(username = username,pkey=key)
else:
t.connect(username = username,password = password)
sftp = paramiko.SFTPClient.from_transport(t)
ret=sftp.put(sfile,dfile)
温馨提示:您依然可以上传一个文件夹的哦!
  • 脚本管理

  • 执行脚本

  • 开放API

  • 主机信息API

  • 服务器运行日志API

  • 服务器状态检查API

  • 文件传输API

  • 命令执行API

  • 资产信息API

  • 计划任务API

  • 更多API .....

  • 更多功能

    脚本执行

计划任务

       权限审计

       权限授权

       安全设置

       更多功能...

还有堡垒机角色...

这里不做一一介绍,当您看见了CheungSSH Web界面的时候,不需要我多做介绍了,您一眼就能看明白,这个东西应该怎么用!因为我们坚持做到简约!更简约!目前有800个单位和用户,他们很少问我这个功能如何使用,都是一看就明白!

												

CheungSSH国产自动化运维工具开源Web界面的更多相关文章

  1. 自动化运维工具 SaltStack 搭建

    原文地址:https://www.ibm.com/developerworks/cn/opensource/os-devops-saltstack-in-cloud/index.html#N10072 ...

  2. Linux实战教学笔记25:自动化运维工具之ansible (一)

    第二十五节 ansible之文件的批量分发 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转 ...

  3. 自动化运维工具——ansible详解(一)

    ansible 简介 ansible 是什么? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统 ...

  4. 企业级自动化运维工具应用实战-ansible

    背景 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运 ...

  5. 项目实战10.1—企业级自动化运维工具应用实战-ansible

    实战环境: 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备.公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测 ...

  6. Ansible自动化运维工具-上

    [Ansible特点] 1)Ansible与saltstack均是基于Python语言开发的 2)安装使用简单,基于不同插件和模块实现各种软件,平台,版本的管理以及支持虚拟容器多层级的部署 3)不需要 ...

  7. 【实战小项目】python开发自动化运维工具--批量操作主机

    有很多开源自动化运维工具都很好用如ansible/salt stack等,完全不用重复造轮子.只不过,很多运维同学学习Python之后,苦于没小项目训练.本篇就演示用Python写一个批量操作主机的工 ...

  8. CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机

    使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...

  9. 自动化运维工具——ansile详解

    自动化运维工具——ansible详解(一) 目录 ansible 简介 ansible 是什么? ansible 特点 ansible 架构图 ansible 任务执行 ansible 任务执行模式 ...

随机推荐

  1. 你真的会玩SQL吗?三范式、数据完整性

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. Hive索引功能测试

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 从Hive的官方wiki来看,Hive0.7以后增加了一个对表建立index的功能,想试下性能是 ...

  3. “NOSQL” 杂谈

    引言: nosql 的兴起和革命,在我看来已经开始逐渐影响到了传统的sql的地位,但是仅仅是影响而已,取代是不太可能的. 正文: 两年前,一个偶然的机会开始接触到 nosql ( mongodb ). ...

  4. 偷天换日:网络劫持,网页js被伪装替换。

    偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...

  5. PALIN - The Next Palindrome 对称的数

    A positive integer is called a palindrome if its representation in the decimal system is the same wh ...

  6. java接口调用——webservice就是一个RPC而已

    很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

  7. 微信小程序注册

    小程序是一种新的开放能力,可以在微信内被便捷地获取和传播,同时具有出色的使用体验.开发者可以根据平台提供的能力,快速地开发一个小程序. 开放内容包括: 1.开放注册范围:企业.政府.媒体.其他组织: ...

  8. android 自定义控件——(五)按钮点击变色

    ----------------------------------按钮点击变色(源代码下有属性解释)------------------------------------------------- ...

  9. UI-初识君面之理论篇

    一个好的app不光要用好的功能,还要有好的界面,这样内外兼修才算得上是一个好的App.其实跟人一样,不能只刷帅,要有内涵(看清楚哦,内涵不是指闷骚).不知不觉在园子里已经晃了八年,来深也八年了,.NE ...

  10. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...