自动化运维

自动化运维专题之zabbix课程内容大纲

早过忘川 提交于 2019-11-29 17:16:42
一、监控系统概述 1.1 网络监控概述 1.2 SNMP协议概述 1.2.1 SNMP协议框架 1.2.2 SNMP协议基本工作原理 1.3 监控系统实现目标 1.3.1 数据收集 1.3.2 数据存储 1.3.3 数据分析及展示 1.3.4 报警 1.4 监控系统的实现 1.4.1 基于网络探测机制实现,如ping等(即无agent的监控) 1.4.2 基于SNMP监控 1.4.3 基于专用agent监控 1.5 常见的监控系统 1.5.1 cacti的实现及其基本工作原理 1.5.2 nagios的实现及其基本工作原理 二、zabbix监控系统概述 2.1 zabbix的版本演进历史 2.2 zabbix特性及优势 2.2.1 为什么要选择zabbix 2.2.2 zabbix支持的平台 2.3 zabbix的监控功能 2.3.1 zabbix支持的监控途径 2.3.2 zabbix agent支持的监控功能 2.3.3 zabbix可实现的web监控指标 2.4 zabbix通知功能概述 2.4.1 zabbix支持的通知方法 2.4.2 zabbix的报警升级 三、zabbix系统架构 3.1 zabbix的基本组件 3.1.1 zabbix server 3.1.2 zabbix agent 3.1.3 zabbix proxy 3.1.4 zabbix database

Robot Framework+SSHLibrary实现自动化运维质量检测

孤街浪徒 提交于 2019-11-29 06:23:09
Robot Framework+SSHLibrary介绍 首先,介绍一下robotframework,oschina这么介绍: Robot Framework 是一个关键词驱动的自动测试框架。测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序。因为 Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,webservice,编程接口等。 Robot Framework 和 Cumcumber http://www.oschina.net/p/cucumber 具有相似的能力,都属于BDD自动化测试工具。 但是Cumcumber只能顺序验证测试步骤,比如: Given 我在登录页 When 我输入帐号"zhangsan" And 我输入密码"123456" And 我点击登录按钮 Then 我能看到我的昵称"张三" 上述的 "我在登录页" 等步骤的定义,都在Cumcumber的step_definitions.rb中,用ruby语言定义。 如果对Cumcumber测试安卓手机APP感兴趣,可以参阅 使用calabash测试开源中国Android客户端 Robot Framework 在语义级别就提供了FOR循环和IF判断,自定义Keyword直接在.robot文件中

自动化运维-Ansible-playbook

守給你的承諾、 提交于 2019-11-28 22:20:41
Ansible Playbook https://ansible-tran.readthedocs.io/en/latest/docs/playbooks_intro.html Ansible中文网址 什么是Ansible Playbook Playbook使用入门 Playbook实战 什么是Ansible Playbook 是一门编程语言 命令集合 YAML格式 功能列表 声明配置 编排复杂任务 控制任务执行 与Adhoc关系 Playbook是对Adhoc的编排 Adhoc适合简单快速的任务 Playbook适合复杂异步的任务 支持的特性 变量定义 顺序结构 选择结构 循环结构 Playbook起步 选定Host 指定登录用户 使用Shell模块输出Hello World hosts行的内容是一个或多个组或主机patterns remote_user就是帐号名: --- - hosts: test remote_user: root tasks: - name: hello world shell: ls /root Playbook基本结构 host: 被操作的机器的正则 remote_user: 登录机器的用户 tasks: 需要在机器上执行的任务 变量定义: 以字母、数字以及下划线组成 始终应该以字母开头 变量位置 Inventory Playbook 每一个 task

自动化运维-ansible入门篇

╄→гoц情女王★ 提交于 2019-11-28 20:18:30
1.ansible配置 什么是Ansible IT自动化工具 依赖于现有的操作系统凭证来访问控制远程机器 简单易用、安全可靠 Ansible可以完成哪些任务 配置系统 开发软件 编排高级的IT任务 Ansible特点 轻量级 易学习 操作灵活 Ansible执行流程 Ansible安装配置 Ansible安装方式 python pip 软件源 Ansible源码 python pip安装 sudo pip install ansible 优点 简单、快速、跨平台 软件源安装 sudo yum install peel-release && sudo yum install ansible 优点 简单、快捷、跨平台 软件源安装(ubuntu) $ sudo apt-get install software-properties-common $ sudo apt-add-repository spa:ansible/ansible $ sudo apt-get update $ sudo apt-get install ansible 优点 不会出现编译或者依赖问题 Ansible配置 host配置 host文件: /etc/ansible/hosts 配置内容: [test] 192.168.1.1 配置远程登录 添加公钥: ssh-copy-id -i ~/.ssh/id_rsa

运维自动化工具-zabbix用法

喜夏-厌秋 提交于 2019-11-28 09:53:01
1.安装 Zabbix 的 yum 仓库 在所有机器上安装zabbix的yum仓库文件: rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-3.el7.centos.noarch.rpm 2.安装配置MariaDB数据库并启动 数据库可以装在和 Zabbix Server 同一台机器上(zabbix.yulongjun.com),也可以装在不同的机器上,这里直接装在同一台机器上了: yum install -y mariadb-server systemctl start mariadb systemctl enable mariadb 在 Zabbix Server 上创建数据库zabbix、用户zabbix、运行建库脚本 schema.sql 、 schema.sql 、 images.sql 、 data.sql (如果是Zabbix Proxy,就不用运行后两个) # shell下运行: shell> mysql -uroot # mysql命令行里运行: mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to

使用python来自动化运维

岁酱吖の 提交于 2019-11-28 08:49:18
  今天看到linux服务器上自己之前的生成的文件没有删除,现在想删除。文件的特征:uuid作为文件夹名,很多30+。于是想写脚本删除,shell脚本不熟悉,并且linux自带python2.7。所以决定是用python来写一个批量删除文件的脚本。   但是在本地编写时,出现了\\的转义问题,体现了你对于python语法的不熟悉。然后在本地测试时,os.remove函数报错,no premission。我以为是真的没有权限,很不幸,os.remove方法只能用于删除文件,而不是文件夹,这里我曾怀疑自己的遍历过程是不是对的。其实python已经广泛用于运维领域,其中shutil包就是来代替shell,这应该是开发人员的基本python知识,shutil.rmtree()该方法直接删除文件夹,而不用自己写函数递归删除,非常符合python的风格,就看你平时能不能积累这些东西。然后在linux运行python脚本,还不是很熟练,所以自己目前自己的工作还是相当的低效。急需要学习来拓宽自己的技能。 来源: https://www.cnblogs.com/Robin008/p/11403113.html

CMDB和运维自动化

亡梦爱人 提交于 2019-11-28 06:12:11
CMDB和运维自动化 2018-05-05 IT运维的分类 传统运维痛点 自动化运维平台的特性 资产管理系统(CMDB) CMDB包含的功能 CMDB实现的四种方式 IT运维的分类 IT运维,指的是对已经搭建好的网络,软件,硬件进行维护。运维领域也是细分的,有硬件运维和软件运维 硬件运维主要包括对基础设施的运维,比如机房的设备,主机的硬盘,内存这些物理设备的维护 软件运维主要包括系统运维和应用运维,系统运维主要包括对OS,数据库,中间件的监控和维护,这些系统介于设备和应用之间,应用运维主要是对线上业务系统的运维 这里讨论的主要是软件运维的自动化,包括系统运维和应用运维的自动化 传统运维痛点 日常工作繁琐 日常运维工作是比较繁琐的,研发同学会经常需要到服务器上查日志,重启应用,或者是说今天上线某个产品,需要部署下环境。这些琐事是传统运维的大部分工作 应用运行环境不统一 在部署某应用后,应用不能访问,就会听到开发人员说,在我的环境运行很好的,怎么部署到测试环境后,就不能用了,因为各类环境的类库不统一 还有一种极端情况,运维人员习惯不同,可能凭自己的习惯来安装部署软件,每种服务器上运行软件的目录不统一 运维及部署效率低下 想想运维人员需要登陆到服务器上执行命令,部署程序,不仅效率很低,并且非常容易出现人为的错误,一旦手工出错,追溯问题将会非常不容易 无用报警信息过多

CMDB的消费场景

天大地大妈咪最大 提交于 2019-11-28 03:33:19
监控系统: 提供故障节点的配置信息和关联信息 故障的影响范围和根源分析 流程系统: 事件管理中事件相关对象的配置信息 问题管理中问题相关对象的配置信息 变更管理中对象的配置信息 可用性(双机热备等)和连续性(灾备等)中对象的配置信息 运维自动化: 自动化操作涉及对象的配置信息 业务可视化展现: 展现中涉及对象的配置信息和关联信息 资产管理系统: 一套数据,两个纬度 来源: https://blog.51cto.com/031028/2431413

Linux下自动化运维工具Ansible的部署

帅比萌擦擦* 提交于 2019-11-27 15:49:22
ansible的官方文档: https://www.ansible.com/ ansible的配置文件手册: http://www.ansible.com.cn/docs/intro_configuration.html 一、初识ansible 当下有许多的运维自动化工具(配置管理 ),例如:Chef、Ansible、SaltStack、Puppet、Fabric 等。 Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。 Ansible 基于 Python 语言实现,由 Paramiko 和 PyYAML 两个关键模块构建。 Ansible 特点: 部署简单,只需在主控端部署 Ansible 环境,被控端无需做任何操作。 默认使用 SSH(Secure Shell)协议对设备进行管理。 主从集中化管理。 配置简单、功能强大、扩展性强。 支持 API 及自定义模块,可通过 Python 轻松扩展。 通过 Playbooks 来定制强大的配置、状态管理。 对云计算平台、大数据都有很好的支持。 提供一个功能强大、操作性强的 Web 管理界面和 REST API 接口 —- AWX 平台。 Ansible 与 SaltStack的区别:

python自动化运维学习------使用模块psutil获取系统cpu、内存、磁盘、网络、进程等信息

不想你离开。 提交于 2019-11-27 10:59:28
系统基础信息采集模块作为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同事也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的服务质量及用户体验,另外获取设备的流量信息,也可以让运维人员更好地评估宽带、设备资源是否应该扩容。Python中存在第三方系统基础模块,可以帮助自动化运维的成员获取服务运营指标数据,包括Linux基本性能、块设备、网卡接口、系统信息、网络地址库等信息。在采集到这些数据后,我们就可以全方位了解系统服务的状态,再结合告警机制,可以在第一时间响应,将异常出现在苗头时就得以处理。 系统性能信息模块psutil psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统,支持从2.4到3.4的Python版本。 采集系统的基本性能信息包括CPU、内存、磁盘、网络等,可以完整描述当前系统运行状态及质量