本书主要讲解采用OSGi技术来设计一款可插拔式的运维软件的方法与思想,为读者提供一种不一样的运维软件设计与自动化运维解决方案。本书分三部分,第一部分讲解开源社区中比较流行的三款集中化运维软件,第二部分与读者一起分享为什么要采用OSGi的技术来设计集中化运维软件,第三部分介绍设计这款运维软件所涉及的技术和一些设计思想。
内容简介
前言
第1章 什么是自动化运维
1.1 硬件运维和软件运维
1.2 软件运维的主要问题
1.3 运维常用工具
1.4 自动化运维
1.5 小结
第2章 集中化运维利器——Ansible
2.1 环境准备
2.2 安装Ansible
2.3 Ansible基础
2.4 Ansible常用模块
2.5 PlayBook
2.6 使用Ansible的API
2.7 小结
第3章 集中化运维利器——Puppet
3.1 Puppet与Ansible
3.2 Puppet基础
3.3 Puppet的常用资源
3.4 Puppet语法基础
3.5 小结
第4章 集中化运维利器——SaltStack
4.1 SaltStack、Puppet、Ansible
4.2 无Agent模式——SaltSSH
4.3 SaltStack的基本组成
4.4 SaltState概述
4.5 无主服务器模式运行
4.6 使用SaltStack的定时作业
4.7 实时执行命令
4.8 Pillar
4.9 小结
第5章 重复造一个轮子
5.1 从一个自动化运维软件说起
5.2 困难重重
5.3 轮子需要的特性
5.4 ActiveMQ基础
5.5 ApacheKaraf
第6章 ActiveMQ概览
6.1 消息发送
6.2 断线重连机制FailOver
6.3 消息生命周期
6.4 清空不常用的队列
6.5 使用JMX获取队列信息
6.6 ActiveMQ的HA方案
第7章 Apache Karaf概览
7.1 理解Import和Export
7.2 ServiceWraper
7.3 使用控制台
7.4 Karaf的日志
7.5 Karaf子实例
7.6 扩展Karaf控制台
7.7 使用Web控制台
7.8 使用Feature——JDBC数据源
第8章 核心框架
8.1 核心层概述
8.2 核心框架
8.3 消息分发服务端
8.4 插件状态服务端
8.5 PlayBook服务端
8.6 结果处理服务端
第9章 通用插件包
9.1 插件包概览
9.2 作业调度模块——Cron4J
9.3 数据访问模块——MidaoProject
9.4 序列化模块——Gson
9.5 交互式命令执行模块——JavaExpect
9.6 小结
第10章 常用插件
10.1 文件下发插件
10.2 文件抓取插件
10.3 命令执行插件
10.4 目录结构查询插件
第11章 整合Zabbix
11.1 编译安装Zabbix
11.2 强大的触发规则
11.3 Zabbix调用OSGi运维功能
第12章 案例

