一个颜值低但脾气超好的自动化运维实战入门教程

时间:2024-03-10 18:07:01

image
:本教程由廖高祥发布于实验楼,版权归原作者所有。

什么是自动化运维?

自动化运维是指将IT运维中日常的、大量的重复性工作自动化,把过去的手工执行转为自动化操作。自动化运维不单纯是一个维护过程,更是一个管理的提升过程,是IT运维的最高层次,也是未来的发展趋势。

自动化运维常用开源工具

Jekins 。一个具有许多插件的自动化服务器。用于构建,测试和自动化部署应用程序。通常Jenkins用作软件开发的CI/CD工具。Jenkins 的作业(构建)可以由各种触发器启动。例如提交代码到版本控制系统,按计划事件,通过访问特定URL构建或者在完成其它构建之后进行触发。

Ansible。集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

image

SaltStack 。基于Python开发的一套C/S架构配置管理工具,简单易部署,同时支持服务器/客户端 和无代理模式。在后一种情况下,Salt 使用SSH连接到受管理的节点/虚拟机。Salt 使用以Python编写的执行模块,其中包含函数以定义配置任务。

Nagios 。网络监控工具,能有效监控Windows、Linux和Unix的主机状态,交换机、路由器等网络设备,并发送告警信息。

Zabbix。 是一个为应用服务,网络服务和硬件监控提供的解决方案。Zabbix 将收集的数据存储在关系数据库中,如MySQL,PostgreSQL等。Zabbix 允许你监控简单的服务,如HTTP服务。Zabbix agent端可以安装在Windows和 类Unix服务器上,用来检视系统参数,如CPU负载、内存和磁盘利用率等。另外,agent可用于监视标准服务和自定义应用程序。Zabbix也支持通过SNMP、SSH等方式,无需在要监视的服务器上安装代理。

Kubernets。 简称k8s,是来自 Google 云平台的开源容器集群管理系统,功能包括自动化容器的部署,调度和节点集群间扩展,支持Docker和Rocket。

image

OpenShift 。由RedHat推出的一款面向开源开发人员开放的平台即服务(PaaS)。 OpenShift通过为开发人员提供在语言、框架和云上的更多的选择,使开发人员可以构建、测试、运行和管理他们的应用。

ELK。 Elasticsearch,Logstash,Kibana软件的组合,它是用于记录,日志分析,日志搜索和可视化的完整工具。Elasticsearch是基于Apache Lucene的搜索工具。Logstash是用于收集,解析和存储日志的工具,可以通过Elasticsearch对其进行索引。

自动化运维系统的功能

具体应包括哪些功能没有统一的标准,视每个公司业务和开发需求而定。大体上,一个成熟的自动化运维系统功能应包含如下五大功能模块:

image

  1. (CMDB)配置管理 。 服务器、网络设备、应用管理、业务属性、监控属性、架构拓扑、环境管理、运营状态

  2. 集中监控报警 。网络监控、主机监控、HTTP探测监控、日志监控、中间件监控

  3. (ITSM)流程管理。 变更管理、需求管理、事件管理、工单系统、服务请求、问题管理

  4. 日志分析与处理 。日志的备份、审计、分析,报表展示

  5. 持续集成与发布 。自动化运维、Docker管理、流程编排、轻量ITSM、一致性管理

推荐几个Github上不错的自动化运维平台:

  1. OpsManage 。代码及应用部署CI/CD、资产管理CMDB、计划任务管理平台、SQL审核|回滚、任务调度、站内WIKI。

  2. adminset 。CMDB、CD、DevOps、资产管理、任务编排、持续交付、系统监控、运维管理、配置管理。

  3. jumpserver。 全球首款完全开源的堡垒机,是符合 4A 的专业运维审计系统,官网地址。

今天推荐的这个教程是一个完整的自动化运维实战教程,包含自动化运维的概念和基础知识,常用开源软件的使用场景,一个自动化运维系统需要具备哪些功能;通过Pexpect库实现自动监控服务器的负载、磁盘、内存、CPU、网络接口(流量)、端口等。

通过完整的教程,你将学到以下知识点:

  1. Python自动化运维的概念和知识体系

  2. 如何开发一个成熟的自动化运维管理系统

  3. 使用nmap构建高效的端口扫描器

  4. 使用ClamAV搭建集中式病毒扫描器,实现自动化管理

  5. 使用Django+Echarts+openpyxl开发自动化报表系统

  6. 通过paramiko上传/下载,fabirc+git代码发布,熟悉自动化实践中的批量主机管理方案

  7. Ansible自动化运维,从安装介绍,到架构原理,到实战演练

  8. Saltstack自动化运维入门到精通

实验环境

  • Python 3.6

  • Xfce终端

  • Pexpect模块

想了解自动化运维或具有Python基础的用户都可以去学习一下;如果你想使用Python开发自动化运维系统,却不知道应该从何入手,这个教程就是专门为你写的啦。

完整的教程可以:点我学习,在环境中动手实操学习

今日推荐

实验楼双十一活动提前开启啦!精品实战课9.9元抢,还有更多年度大优惠等着你哦!!

image