当前位置:
首页 > 计算机 > 程序设计 > 自动化运维软件设计实战pdf/doc/txt格式电子书下载

自动化运维软件设计实战pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

自动化运维软件设计实战pdf/doc/txt格式电子书下载

书名:自动化运维软件设计实战pdf/doc/txt格式电子书下载

推荐语:

作者:吴文豪著

出版社:电子工业出版社

出版时间:2015-07-01

书籍编号:30613708

ISBN:9787121264689

正文语种:中文

字数:90651

版次:1

所属分类:计算机-程序设计

全书内容:

自动化运维软件设计实战pdf/doc/txt格式电子书下载

内容简介


本书主要讲解采用 OSGi技术来设计一款可插拔式的运维软件的方法与思想,为读者提供一种不一样的运维软件设计与自动化运维解决方案。


本书分三部分,第一部分讲解开源社区中比较流行的三款集中化运维软件,第二部分与读者一起分享为什么要采用 OSGi的技术来设计集中化运维软件,第三部分介绍设计这款运维软件所涉及的技术和一些设计思想。


本书适合从事系统运维及运维开发的人员阅读。


未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。


版权所有,侵权必究。


图书在版编目(CIP)数据


自动化运维软件设计实战/吴文豪著.—北京:电子工业出版社,2015.7


ISBN 978-7-121-26468-9


Ⅰ.①自… Ⅱ.①吴… Ⅲ.①JAVA语言-程序设计 Ⅳ.①TP312


中国版本图书馆CIP数据核字(2015)第142285号


责任编辑:陈晓猛


印刷:北京京师印务有限公司


装订:北京京师印务有限公司


出版发行:电子工业出版社


北京市海淀区万寿路173信箱 邮编:100036


开本:787×980 1/16 印张:18.25 字数:408.8千字


版次:2015年7月第1版


印次:2015年7月第1次印刷


印数:3000册 定价:69.00元


凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。


质量投诉请发邮件至zlts@phei.com.cn,盗版侵权举报请发邮件至dbqq@phei.com.cn。


服务热线:(010)88258888。

前言


不知不觉也与各种开发语言做了挺久的小伙伴,依稀记得当初很好奇用 C语言这种在黑框框里面跑的程序怎么才能写出一个界面,后来在兴趣的驱使下不断地接触各种各样的技术,让我感慨时间过得还是挺快的。


我曾经接触过一个与自动化运维相关的项目,整个项目对我来说挑战是非常大的,而且开发过程也非常坎坷。当做到运维部分的时候,出现了非常大的挑战,我们不得不面对技术水平参差不齐的维护团队,各种各样的操作系统,限制条件非常多的网络环境,当然,还有项目进度的步步紧逼。对于运维的功能,Ansible、Puppet、SaltStack 都是非常不错的选择,但是偏偏在我们所要面对的环境下用起来实在太困难。在和同事讨论之后,偶然发现 OSGi这种技术能够解决我们的问题,所以也就自己重新造了一个轮子来解决我们所面临的问题。


项目进行得差不多的时候,我觉得 Apache Karaf与 Apache ActiveMQ这两种技术整合起来所设计的运维框架也有它的一些优点,于是在 OSChina上写了一篇博客与大家分享。非常巧的是,电子工业出版社的编辑通过我的博客联系上了我,希望我可以写一本关于采用Apache Karaf与 Apache ActiveMQ整合所设计的运维软件的书籍,这让我感到非常荣幸。


我把当初设计这套软件的思路以及一些需要注意的要点写在了这本书中,希望我所分享的内容能够对运维的小伙伴们有所帮助。


本书面向的读者


本书面向的读者是从事系统运维的开发人员,希望能够给读者在设计运维软件的时候提供一种不同的思路。书中的内容以思路分享居多,因为笔者认为如今的互联网非常发达,某个功能如何实现,我们搜索一下就会找到很多方案,而思路的分享更能引起读者与笔者在思想上的碰撞,在碰撞中让读者发现一些其他的方法。


内容介绍


本书共12章。


第1章与读者一起探讨什么是自动化运维。


第2到第4章简单介绍目前比较热门的集中化运维软件 Ansible、Puppet和 SaltStack。


第5章介绍为什么在有这么多集中化运维软件的情况下我们还需要重复造一个轮子。


第6 章和第7 章介绍重复制作轮子所需要的一些技术——Apache Karaf 和 Apache ActiveMQ。


第8章到第10章介绍如何使用 Apache Karaf和 Apache ActiveMQ制作出一个可插拔式的集中化运维框架。


第11章介绍如何与 Zabbix进行整合。


第12章与读者分享了一个小故事,希望通过这个小故事让读者能够更加了解这款运维软件所要解决的问题。


致谢


● 感谢我的同事陈自欣,我非常佩服他在技术知识面上的广度,采用 OSGi的技术来开发运维软件的思路就是他提出来的。


● 感谢我的同事崔威,在我刚工作的时候教会了我许多软件开发的技术,让我在后续的技术发展道路上少走了许多弯路。


● 感谢我的家人,给了我这么多的时间让我可以专心地完成本书的写作。


吴文豪


2015年5月

目录


前言


第1章 什么是自动化运维


1.1 硬件运维和软件运维


1.1.1 小故事之一——电脑专家


1.1.2 小故事之二——你居然不会修电脑


1.1.3 硬件运维与软件运维


1.2 软件运维的主要问题


1.2.1 设备数量多


1.2.2 系统异构性大


1.2.3 虚拟化的成熟带来更大的困难


1.3 运维常用工具


1.3.1 Puppet


1.3.2 SaltStack


1.3.3 Ansible


1.4 自动化运维


1.5 小结


第2章 集中化运维利器——Ansible


2.1 环境准备


2.2 安装Ansible


2.2.1 使用CentOS的EPEL源进行安装


2.2.2 使用Easy_lnstall安装Ansible


2.3 Ansible基础


2.3.1 资产配置


2.3.2 执行命令


2.3.3 指定目标主机


2.3.4 常用命令示例


2.4 Ansible常用模块


2.4.1 文件管理模块


2.4.2 命令执行模块


2.4.3 网络相关模块


2.4.4 源码管理模块


2.4.5 包管理模块


2.4.6 系统管理模块


2.5 PlayBook


2.5.1 PlayBook简介


2.5.2 lnclude语法


2.5.3 变量


2.5.4 条件


2.5.5 循环


2.5.6 PlayBook使用实例——集中化日常巡检


2.6 使用Ansible的API


2.7 小结


2.7.1 Ansible的优点


2.7.2 Ansible的缺点


第3章 集中化运维利器——Puppet


3.1 Puppet与Ansible


3.2 Puppet基础


3.2.1 安装Puppet


3.2.2 Puppet主要配置文件


3.2.3 颁发证书


3.2.4 第一个Puppet示例


3.3 Puppet的常用资源


3.3.1 定时任务——cron


3.3.2 命令执行——exec


3.3.3 文件管理——file


3.3.4 包管理——packag


3.3.5 服务管理——service


3.4 Puppet语法基础


3.4.1 资源


3.4.2 类


3.4.3 变量


3.5 小结


3.5.1 Puppet的优点


3.5.2 Puppet的缺点


第4章 集中化运维利器——SaltStack


4.1 SaltStack、Puppet、Ansible


4.2 无Agent模式——SaltSSH


4.3 SaltStack的基本组成


4.4 Salt State概述


4.4.1 top.sls


4.4.2 state文件


4.4.3 配置主机


4.4.4 SaltState之Requires


4.4.5 Template、Extends、lncludes


4.5 无主服务器模式运行


4.6 使用SaltStack的定时作业


4.7 实时执行命令


4.7.1 target


4.7.2 function


4.7.3 arguments


4.8 Pillar


4.8.1 使用Pillar


4.8.2 Pillar的一些操作方法


4.9 小结


4.9.1 SaltStack的优点


4.9.2 SaltStack的缺点


第5章 重复造一个轮子


5.1 从一个自动化运维软件说起


5.2 困难重重


5.2.1 多样的设备类型


5.2.2 运维设备的总量大


5.2.3 艰难的环境


5.2.4 多变的客户需求


5.3 轮子需要的特性


5.4 ActiveMQ基础


5.4.1 配置ActiveMQ


5.4.2 部署ActiveMQ


5.4.3 第一个ActiveMQ例子


5.5 Apache Karaf


5.5.1 OSGi简介


5.5.2 为什么选择Karaf


5.5.3 基础架构设计


5.5.4 启动Apache Karaf


5.5.5 制作第一个OSGi包


第6章 ActiveMQ概览


6.1 消息发送


6.1.1 TextMessage


6.1.2 MapMessage


6.1.3 BytesMessage


6.1.4 StreamMessage


6.1.5 BlobMessage


6.2 断线重连机制FailOver


6.2.1 配置FailOver


6.2.2 FailOver的常用参数


6.3 消息生命周期


6.3.1 为什么消息需要生命周期


6.3.2 使用消息超时机制


6.4 清空不常用的队列


6.5 使用JMX获取队列信息


6.5.1 启用ActiveMQ的JMX功能


6.5.2 获取ActiveMQ的队列信息


6.6 ActiveMQ的HA方案


6.6.1 配置NFS服务器


6.6.2 配置NFS客户端


6.6.3 调整消息中间件的配置文件


6.6.4 将Failover作为连接串


6.6.5 原理


第7章 Apache Karaf概览


7.1 理解Import和Export


7.2 Service Wraper


7.2.1 支持的平台


7.2.2 使用Service Wrapper


7.2.3 Karaf Wrapper的配置文件


7.3 使用控制台


7.3.1 Shell模块


7.3.2 OSGi模块


7.3.3 LOG模块


7.3.4 SSHD模块


7.4 Karaf的日志


7.4.1 Karaf.Out


7.4.2 Karaf.log


7.4.3 Application log4j日志


7.5 Karaf子实例


7.5.1 使用Karaf子实例


7.5.2 为什么需要使用子实例


7.6 扩展Karaf控制台


7.6.1 使用Maven创建项目


7.6.2 编写控制台插件包


7.6.3 部署插件包


7.7 使用Web控制台


7.8 使用Feature——JDBC数据源


第8章 核心框架


8.1 核心层概述


8.2 核心框架


8.2.1 服务端消息处理


8.2.2 客户端消息处理


8.2.3 插件状态汇报


8.3 消息分发服务端


8.4 插件状态服务端


8.5 PlayBook服务端


8.5.1 PlayBook服务端设计目的


8.5.2 PlayBook设计示意图


8.6 结果处理服务端


8.6.1 结果处理服务端设计目的


8.6.2 结果处理服务端处理流程


第9章 通用插件包


9.1 插件包概览


9.2 作业调度模块——Cron4J


9.2.1 Cron4J基本使用方式


9.2.2 作业调度参数


9.2.3 重新调度作业


9.2.4 调度系统进程


9.3 数据访问模块——MidaoProject


9.3.1 为什么选择Midao


9.3.2 使用Midao


9.4 序列化模块——Gson


9.5 交互式命令执行模块——JavaExpect


9.6 小结


第10章 常用插件


10.1 文件下发插件


10.1.1 文件下发插件设计


10.1.2 使用Apache Common lO


10.2 文件抓取插件


10.2.1 文件抓取插件整体设计


10.2.2 文件抓取插件设计要点


10.3 命令执行插件


10.4 目录结构查询插件


第11章 整合Zabbix


11.1 编译安装Zabbix


11.1.1 部署MySQL


11.1.2 编译部署Apache+PHP


11.1.3 安装Zabbix


11.2 强大的触发规则


11.2.1 触发规则概览


11.2.2 特色的触发规则


11.3 Zabbix调用OSGi运维功能


第12章 案例

第1章 什么是自动化运维


1.1 硬件运维和软件运维


运维,指的是对一些已经搭建好的网络软/硬件进行维护。


在笔者实际从事运维开发这一工作之前,只要提到运维工程师,脑海里面就会出现这么一个场景:在一个有几百台设备发出“嗡嗡”声的机房里面,一个身穿白衬衫、带着眼镜的帅气小伙正在对一台电源出故障的设备进行故障排查(曾经简单地认为这就是运维的全部内容)。


从事运维开发工作之后,发现运维也是有细分领域的,有负责业务运维的、数据库运维的、主机运维的,等等。虽然运维的工作被细分成这么多种,但是粗略地看,运维主要分为硬件运维和软件运维两大块。无论是哪一种运维,它的最终目的都

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示