目的: 减少人工干预 降低人员成本
运维开发:为运维人员提供工具
资产管理 操作管理
功能
——配管: 初始化 安装系统 软件环境
——私有云: openstack 服务器 虚拟机配置
——监控: 实时获取所有机器的数据
——堡垒机: 远程执行命令 先通过本系统 再去连接执行命令 过滤危险命令 和记录
——任务: 任务管理 定时任务
——DNS: 公司内部
——资源池: 公司有哪些资源
——流程: 流程管理
执行命令:
import subprocess
v = subprocess.getoutput( 'ipconfig' ) # 变量v存放着运行后结果
用户与服务器交互的几种模式
一,Ajent方法
每台服务器必须安装Ajent
本地执行命令:
import subprocess
v = subprocess.getoutput( 'ipconfig' ) # 变量v存放着运行后结果
获取关键信息,API储存到数据库,将数据提交到某个人的 URL,GET POST
好处:快
不好:必须安装Ajent
二,ssh类的方式
ssh采集资产,利用模块 paramiko : 主机名,密码,命令 ssh连接服务器获取执行后结果
优点:无agent
缺点:慢
三,依赖第三方插件(首选)
中间服务器安装 saltstack-master 连接服务器安装 saltstack-slave
(创建了队列zero,所有服务器等待队列中命令,然后执行)
优点:快,开发成本低
缺点:依赖saltstack
四,
中间服务器安装 puppet-master 连接服务器安装 puppet -slave
puppet:报表
优点:自动汇报
缺点:ruby