Python+Django+ansible playbook自动化运维项目实战☝☝☝

 一、入门引导

  • DevOPS
    DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
  • Django
  • python
  • 基础

自动化资产扫描发现

  1. paramkio登录扫描
  2. pexpect登录扫描
  3. telnetlib端口扫描
  4. nmap存活扫描
  5. 资产扫描作用
  • 进阶
  1. SDK调用扫描ESXI
  2. snmp网路设备
  3. KVM虚拟机扫描
  4. docker容器扫描
  5. ansible安装
  6. python ansible
  7. ansible adhoc
  8. ansible playbook
  9. 核心类调用

ansible 自动化任务

  • 进阶
  1. api接口封装
  2. 方法改写
  3. Redis消息存储
  4. Mongo事件日志

二、工程初识和环境搭建

1、自动化工程总体设计

  • 资产的自动化扫描发现
  • 用python程序扫描发现企业内部的所有资产,当资产出现变动能自动及时发现并完成资产变更.
  • 如:ip,硬件型号,SN,MAC,系统版本
  • ansible的自动化任务执行
  • 使用ansible的ad-hoc和playbook实现批量主机的自动化任务

2、python等基础环境安装

1)python安装

2)setuptools安装

3)pip工具安装

3、Mysql 、 Mongo 、 Redis 安装

1)MySQL安装:

apt-get install mysql-server

2)Mongo安装:

apt-get install mongodb

 启动/重启mongodb :/etc/init.d/mongodb start  / restart

 查看mongodb监听的端口 :netstat -luntp | grep mongo

 使用客户端模拟登陆mongodb:直接输入 mongo

 mongodb配置文件修改:

  vi /etc/mongodb.conf

# 将mongodb.conf 代码里面的bind_ip地址改成0.0.0.0

bind_ip =0.0.0.0

# 修改完保存后,记得重启mongodb

3)Redis安装:

apt-get install redis-server

修改配置文件:

 vim /etc/redis/redis.conf

# 将redis.conf中的bind 127.0.0.1 改成0.0.0.0

bind 0.0.0.0

# 修改保存后重启

/etc/init.d/redis-server start

# 模拟客户端连接redis服务端 ,直接输入:

redis-cli

4、让项目在Ubuntu中run起来

1)本项目是已经完工的,我们从GitHub上将项目拉取下来

git命令使用: git clone

1

git clone https://github.com/iopsgroup/imoocc

2)从工程中找到:requirements.tex 文件 ,我们在虚拟环境下运行

首先,创建虚拟环境:

mkvirtualenv imoocc  # 创建虚拟环境

workon imoocc  # 进入虚拟环境

然后,在imoocc虚拟环境中,install项目所依赖的环境:

pip install -r ./requirements.txt

3)在mysql中创建数据库,需要与项目中用到的数据保持一致

4)将项目中用到的数据表结构,迁移到本地数据库中:

# 执行下面两行代码

python manege.py makemigrations

python manage.py migrate

5)运行项目:

python manage.py runserver 0.0.0.0:8000

 三、DevOPS工程快速入门引导

1、Ipython 

 一个基于python的交互解释器。自动补全、历史记录、获得对象信息

安装:python/Script

1

pip install ipython

2、Ubuntu下创建django DevOPS工程项目

1)新建虚拟环境

1

mkvirtualenv devops_pro  # Ubuntu默认使用python2版本

2)home目录下新建目录:project

1

mkdir project

3)在虚拟环境下,进入project目录,安装django

1

pip install django==1.8.2

4)新建项目:mydevops

1

django-admin startproject mydevops

 此时,项目创建好了,进入mydevops目录,可以看到里面有:一个manage.py文件,一个mydevops目录

 

5)新建app

1

python manage.py startapp appname

Python+Django+ansible playbook自动化运维项目实战☝☝☝的更多相关文章

  1. Python+Django+ansible playbook自动化运维项目实战✍✍✍

    Python+Django+ansible playbook自动化运维项目实战  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受 ...

  2. Python+Django+Ansible Playbook自动化运维项目实战

    Python+Django+AnsiblePlaybook自动化运维项目实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单 ...

  3. Python Linux系统管理与自动化运维

    Python Linux系统管理与自动化运维 前言 第1章Python语言与Linux系统管理1 1.1Python语言有多流行1 1.2Python语言为什么流行3 1.3Python语言有什么缺点 ...

  4. Linux运维项目实战系列

    Linux运维项目实战系列 项目实战1-LNMP的搭建.nginx的ssl加密.权限控制的实现 项目实战2-项目实战2-实现基于LVS负载均衡集群的电商网站架构 2.1项目实战2.1-nginx 反向 ...

  5. Python自动化运维开发实战 一、初识Python

    导语 都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. ...

  6. sshpass做秘钥分发,ansible做自动化运维工具

    最近公司机器的增多,顺便还要上报表系统,考虑到服务器越来越多,手工的管理显得越来的越吃力,所以打算推进公司自动化运维工具的使用. 推进的过程中,一步一个坑踩过来的.由于公司之前未运用过自动化运维工具, ...

  7. python+Django实现Nagios自动化添加监控项目

    最近机房刚上了一批机器(有100台左右),需要使用Nagios对这一批机器进行监控.领导要求两天时间完成所有主机的监控.从原来的经验来看,两天时间肯定完成不了.那怎么办?按照之前的想法,肯定是在nag ...

  8. python 自动化运维项目_目录

    微信小程序监控界面 CMDB 跳板机 代码上线系统 网站用户访问质量监测 分布式监控 Docker自动化管理平台 Openstack二次开发

  9. Ansible自动化运维应用实战

    实验环境 centos7.4 主机名称 IP 配置 用途 controlnode 172.16.1.120 1核/1G/60G ansible slavenode1 172.16.1.121 1核/1 ...

随机推荐

  1. 使用dubbo引用和发布服务时出现的异常:HTTP状态500 - 请求处理失败; 嵌套异常是com.alibaba.dubbo.rpc.RpcException:无法在服务cn.e3mall.service.ItemService中调用方法getTbItemById。使用dubbo版本2.5.3在消费者...

    异常情况如下: 从异常看,主要是因为TbItem没有序列化: 分析问题: 表现层调用服务端时返回了一个TbItem对象即Java对象,此时这个对象远程调用拿过来必须进行序列化,要进行网络传输必须先要把 ...

  2. mysql数据库事务隔离原理

    今天在学习JDBC的时候看到了关于MySQL的事务的隔离级别的问题,感觉内容挺高级的,所以记录一篇文章,以备后面使用. 数据库隔离级别有四种,应用<高性能mysql>一书中的说明: 然后说 ...

  3. php异或计算绕过preg_match()

    原理以制作免杀马为例:     在制作免杀马的过程,根据php的语言特性对字符进行!运算会将字符类型转为bool类型,而bool类型遇到运算符号时,true会自动转为数字1,false会自动转为数字0 ...

  4. springboot Transactional事务的使用

    直接上代码: import javax.transaction.Transactional; @Transactional(rollbackOn = { Exception.class }) publ ...

  5. Mysql数据处理/行转列/列转行/分割/拼接/数据复制汇总

    mysql数据处理记录(使用的 Workbench) 生成随机数 逗号或分号拼接的字符串分割成多行 多行数据转化成用逗号拼接的字符串 将A表的数据添加到B表 一.生成随机数 生成18位:(19位就加颗 ...

  6. Stanford公开课《编译原理》学习笔记(1~4课)

    目录 一. 编译的基本流程 二. Lexical Analysis(词法分析阶段) 2.1 Lexical Specification(分词原则) 2.2 Finite Automata (典型分词算 ...

  7. 夯实Java基础系列1:Java面向对象三大特性(基础篇)

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 [https://github.com/h2pl/Java-Tutorial](https: ...

  8. Widget 基础

    一切皆Widget Widget 渲染过程 Flutter把视图数据的组织和渲染抽象为三部分,即 Widget.Element 和 RenderObject. Widget Widget 是空间实现的 ...

  9. [Leetcode] 第289题 生命游戏

    一.题目描述 根据百度百科,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在1970年发明的细胞自动机. 给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个细胞.每个细胞具有一个初 ...

  10. 首次GitHub千星项目提交维护成功 留念

    现在有点激动,可能有混乱的地方.请大家见谅. 一直觉得千星项目,对我来说是一个遥不可及的地方.没想到第一次在GitHub上 提交Pull Request 就成功了,并且是一个千星项目. 虽然 只是提出 ...