自动化运维

CMDB和运维自动化

百般思念 提交于 2020-02-20 23:09:54
IT运维,指的是对已经搭建好的网络,软件,硬件进行维护.运维领域也是有细分的,有硬件运维和软件运维 硬件运维主要包括对基础设施的运维,比如机房的设备,主机的硬盘,内存这些物理设备的维护 软件运维主要包括系统运维和应用运维,系统运维主要包括对OS,数据库,中间件的监控和维护,这些系统介于设备和应用之间,应用运维主要是对线上业务系统的运维 我们现在讨论的主要是软件运维的自动化,包括系统运维和应用运维的自动化 自动化运维平台的特性 运维自动化最重要的就是标准化一切 1 os的选择统一化,同一个项目使用同样的OS系统部署器所需要的各类软件 2 软件安装标准化,例如JAVA虚拟机,php,nginx,mysql等各类应用需要的软件版本,安装目录,数据存放目录,日志存放目录等 3 应用包目录同意标准化,即应用命名标准化 4 启动脚本统一目录和名字,需要变化的部分通过参数传递 5 配置文件标准化,需要变化的部分通过参数传递 6 日志输出,日志目录,日志名字标准化 7 应用生成的数据实现统一的目录存放 8 主机/虚拟机命名标准化.虚拟机管理使用标准化模板 9 使用docker比较容易实现软件运行环境的标准化 资产管理系统(CMDB) CMDB是所有运维工具的数据基础 CMDB包含的功能 1 用户管理,记录测试,开发,运维人员的用户表 2 业务线管理,需要记录业务的详情 3 项目管理

运维自动化和CMDB实现方法

久未见 提交于 2020-02-20 05:43:44
CMDB和运维自动化 一、运维 运维,指的是对已经搭建好的网络,软件,硬件进行维护。运维领域也是细分的,有硬件运维和软件运维 硬件运维 主要包括对基础设施的运维,比如机房的设备,主机的硬盘,内存这些物理设备的维护 软件运维 主要包括系统运维和应用运维,系统运维主要包括对OS,数据库,中间件的监控和维护,这些系统介于设备和应用之间,应用运维主要是对线上业务系统的运维 讨论的主要是软件运维的自动化,包括系统运维和应用运维的自动化 二、软件运维 传统运维 日常工作繁琐 日常运维工作是比较繁琐的,研发同学会经常需要到服务器上查日志,重启应用,或者是说今天上线某个产品,需要部署下环境。这些琐事是传统运维的大部分工作 应用运行环境不统一 在部署某应用后,应用不能访问,就会听到开发人员说,在我的环境运行很好的,怎么部署到测试环境后,就不能用了,因为各类环境的类库不统一 还有一种极端情况,运维人员习惯不同,可能凭自己的习惯来安装部署软件,每种服务器上运行软件的目录不统一 运维及部署效率低下 想想运维人员需要登陆到服务器上执行命令,部署程序,不仅效率很低,并且非常容易出现人为的错误,一旦手工出错,追溯问题将会非常不容易 无用报警信息过多 经常会收到很多报警信息,多数是无用的报警信息,造成运维人员经常屏蔽报警信 另外如果应用的访问速度出了问题,总是需要从系统、网络、应用、数据库等一步步的查找原因

python自动化运维之路04

南楼画角 提交于 2020-02-12 10:44:48
装饰器 装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。 在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果。 相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广泛的应用。 装饰器的应用场景:饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装 饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。 概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能。 装饰器的规则: 1 def derector(function): 2 def wrapper(*args,**kwargs): 3 function(*args,**kwargs) 4 return wrapper 装饰器可以用def的形式定义,如上面代码中的decorator。装饰器接收一个可调用对象作为输入参数,并返回一个新的可调用对象。 装饰器新建了一个可调用对象,也就是上面的wrapper。 1.装饰器中如何传递参数? def outter1(Func): def wrapper(args): print("Before") Func(args) print(

自动化运维系统部署

百般思念 提交于 2020-02-11 12:29:33
运维自动化之系统部署 常见的内核参数: 安装光盘的启动菜单配置文件:isolinux/isolinux.cfg中设置相关的内核加载参数,实现不同的安装过程 isolinux.cfg文件中每个安装对应菜单选项: 加载内核:isolinuz/vmlinuz 向内核传递参数:append initrd=initrd.img 参数设置 指定内核参数方法 在启动菜单界面,选中一项安装方法,按tab键,在后面增加参数 在启动菜单界面,任意选中一项安装方法,按ESC键:boot: linux 参数设置 常见的内核参数 text:默认启动GUI安装接口,可以指定文本方式的安装界面 rescue:进入救援模式 inst.repo=path:指定安装源文件的路径,可以是以下格式 Centos 6 DVD drive repo=cdrom :device Hard Drive repo=hd:device/path HTTP Server repo=http://host/path HTTPS Server repo=https://host/path FTP Server repo=ftp://username:password@host/path NFS Server repo=nfs:server:/path ISO images on an NFS Server repo=nfsiso

自动化运维架构 --devops

天大地大妈咪最大 提交于 2020-01-28 21:37:32
devops 是什么? devops 是企业中开发和运营团队对之间的协作,他是一个思想,实现了自动化,从而实现持续集成、持续部署、持续交付。高重复性的将代码上传到生产环境。 devops 是由 development 和 operations 组合而成。代表着:“开发” 和 “运维” or “运营”。 思想:最好这么理解,因为每个公司之间的 devops 都大大不同 devops 持续交付环 我们可以把开发划分为 8 个部份: 分别是: 计划 – 编码 – 构建 – 测试 – 版本 – 部署 – 运维 – 监控 。值得注意的是这是一个闭环。他会不停重复的执行,进而达到了自动化的目的。 DevOps的目标是通过建立并不断完善持续交付的流水线。 devops 四大模块 这个一定要牢记. 多次提起了交付,那么交付是什么呢? 交付即代表着、上面所说过的交付环的每一个环节,将项目(代码)(产品)交给下一方,而且他还是持续的交付。 持续集成(Continuous Integration,CI): 代码合并、构建、部署、测试都在一起,不断地执行这个过程,并对结果反馈(主要产出是一个镜像) 持续部署(Continuous Deployment,CD):加将产品部署到 测试环境、预生产环境、生产环境 持续交付(Continuous Delivery,CD): 将最终产品发布到生产环境,给用户使用

Ansible自动化运维(四)playbooke之roles应用(部署apache和zabbix)

别说谁变了你拦得住时间么 提交于 2020-01-26 03:01:41
一、前言 关于roles的介绍   roles能够根据层次型结构自动装在变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用 include指令即可。简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷地include它们的一种 机制。角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中。   在某些复杂的场景中建议使用roles,代码复用度高:     1. 变更指定主机或主机组     2. 如 命名不规范维护和传承成本大     3. 某些功能需多个Playbook,通过includes即可实现 上一篇博客是关于playbooks的使用以及练习,相信可以体会到playbooks中,将所有的操作于模块全放到一个文件中,显得很乱,此时就有了roles。 其实roles的作用 就相当于将playbook拆分成一个个分开的文件,显示的更有结构化 roles目录结构及其作用   每个角色,以特定的层级目录结构进行组织 roles/project/ # 项目名称,有以下子目录 tasks / # 定义task,role的基本元素,至少应该包含一个名为main.yml的文件;其它的文件需要在此文件中通过include进行包含 files/ # 存放由copy或script模块等调用的文件

自动化运维工具 ANSIBLE(一)

会有一股神秘感。 提交于 2020-01-21 20:59:57
本章内容 自动化运维介绍 Ansible主要组成部分 安装 相关文件 主机清单inventory ansible 配置文件 自动化运维介绍 公司计划在年底做一次大型市场促销活动,全面冲刺下交易额,为明年的上市做准备。公司要求各业务组对年底大促做准备,运维部要求所有业务容量进行三倍的扩容,并搭建出多套环境可以共开发和测试人员做测试,运维老大为了在年底有所表现,要求运维部门同学尽快实现,当你接到这个任务时,有没有更快的解决方案? ansible架构 Ansible工作原理 Ansible主要组成部分 ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常JSON格式的YML文件 INVENTORY:Ansible管理主机的清单/etc/anaible/hosts MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义 PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用 API:供第三方程序调用的应用程序编程接口 ANSIBLE:组合INVENTORY、API、MODULES、PLUGINS的绿框,可以理解为是ansible命令工具,其为核心执行工具 Ansible命令执行来源: USER,普通用户,即SYSTEM ADMINISTRATOR

saltstack自动化运维系列①之saltstack服务安装及简单使用

痞子三分冷 提交于 2020-01-15 09:57:19
Saltstack介绍 Salt三种运行方式 1.local本地运行 2.Master/Minion 3.Salt ssh Salt的三大功能 a.远程执行 b.配置管理(状态管理) c.云管理:阿里云,aws,openstack都提供了封装好的接口,可以使用salt-cloud进行云主机的管理 Saltstack环境准备 第一台:mini1,既作为salt-master,又作为salt-minion 第二台:node2.chinasoft.com,只作为salt-minion 1.安装salt客户端和服务端 环境: 主机master 192.168.3.12: yum install -y salt-master salt-minion 启动服务端 /etc/init.d/salt-master start 被控制端192.168.3.19: yum install -y salt-minion cat /etc/hosts 192.168.3.12 mini1 192.168.3.16 node2.chinasoft.com 2.修改客户端配置 vim /etc/salt/minion 将master改为master主机地址 master: 192.168.3.12 启动客户端 /etc/init.d/salt-minion start 3.Saltstack的认证

自动化运维-Saltstack

梦想的初衷 提交于 2020-01-14 09:19:14
Saltstack 3中运行模式: 1、本地 Local 2、Master/Minion 传统模式 3、Salt SSH 3大功能: 远程执行 配置管理 云管理 先把环境装上(我们用两台机器来搞,一台有两个角色,一个服务器端,一个客户端,另外一台直接客户端): yum -y install salt-master salt-minion -y [root@base-server yum.repos.d]# yum -y install salt-master salt-minion -y Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile * base: mirrors.cqu.edu.cn * extras: mirrors.cqu.edu.cn * updates: mirrors.cqu.edu.cn Setting up Install Process No package salt-master available. No package salt-minion available. 解决方法: cd /usr/local/src/ wget http://mirrors.sohu.com/fedora-epel/6

运维自动化概述

孤街浪徒 提交于 2020-01-13 02:03:18
运维自动化概述 运维与自动化概述 一:运维工作内容分类: 1).机房运维(负责服务器上下架、IP配置与划分、服务器打标签、机房定期巡检、服务器故障报修、服务器硬件监控) 2).基础设施运维(系统安装及初始化、网络维护) 3).监控运维(7×24运维值班、简单故障处理、通知相关业务负责人) 4).基础服务运维(包含运维开发)(内部DNS管理、负载均衡配置、系统监控报警、硬件资产管理平台、监控平台搭建、代码发布平台) 5).应用运维(精通公司业务、各种服务系统部署、业务系统部署、版本管理、灰度发布、应用监控) 6).系统运维(架构层面的分布式缓存、分布式文件系统、日志收集与分析、业务环境规划(测试、开发、生产)、业务架构设计与规划实施、服务器系统性能调优) 7).安全运维(整体的安全方案、规范、漏洞监测、DDOS防护、病毒防护及处理、关键程序包更新、漏洞扫描与修补等) 二:运维的发展线路: 1).搭建服务–可以安装服务并运行,由于是参加工作没有相关服务安装和部署经验,所以此阶段的主要目的是可以把服务安装并可以运行起来。 2).用好服务–适当对服务优化,工作一两年后可以根据业务的实际需求对服务做适当的优化,比如可以对nginx做调优和监控。 3).自动化–自动化服务的部署或监控,工作三到五年后可以结合自动化部署工具或编写脚本实现业务的自动化部署。 4).产品设计(如何设计一个监控系统)