电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
微信扫描二维码,访问我们的微信店铺

智能运维:从0搭建大规模分布式AIOps系统

62.41
运费: ¥ 8.00
库存: 500 件
智能运维:从0搭建大规模分布式AIOps系统 商品图0
智能运维:从0搭建大规模分布式AIOps系统 商品缩略图0

商品详情

产品特色

编辑推荐

适读人群 :运维、开发、架构及DevOps工程师,广大互联网技术爱好者

√ 直接来自新浪微博智能运维团队多年前瞻探索与生产实践,技术思路可落地,解决方案有说服力。

√ 面向运维热点方向,详细分析底层原理,全面梳理技术体系,完整呈现从方法创新到工具化实践。

√ 以微博监控为例,从运维平台大数据处理到架构设计原理,从运维工程师到自动化智能监控专家。

√ 有 AIOps 模型|算法,有异常检测|根因分析|时序预测等运维实践,完美结合工程架构与算法实践。


内容简介

《智能运维:从0搭建大规模分布式AIOps系统》结合大企业的智能运维实践,全面完整地介绍智能运维的技术体系,让读者更加了解运维技术的现状和发展。同时,帮助运维工程师在一定程度上了解机器学习的常见算法模型,以及如何将它们应用到运维工作中。

《智能运维:从0搭建大规模分布式AIOps系统》共分4篇。第1篇运维发展史,重点阐述当前运维的发展现状及面临的技术挑战;第2篇智能运维基础设施,重点讲述大数据场景下的数据存储、大数据处理和分析的方法与经验,以及海量数据多维度多指标的处理分析技术;第3篇智能运维技术详解,重点关注在新时期大数据时代下智能化的运维技术,包括数据聚合与关联、数据异常点检测、故障诊断和分析、趋势预测算法;第4篇技术案例详解,为大家梳理了通过开源框架ELK快速构建智能监控系统的整体方案,还将分享微博平台和微博广告两个不同业务场景下智能监控系统的技术实践。

《智能运维:从0搭建大规模分布式AIOps系统》适合运维、开发、架构、DevOps工程师及广大互联网技术爱好者研读和借鉴。


作者简介

彭冬:微博广告基础架构团队负责人、技术专家,商业大数据平台及智能监控平台发起人,目前负责广告核心引擎基础架构、Hubble智能监控系统、商业基础数据平台(D+)等基础设施建设。关注计算广告、大数据、人工智能、高可用系统架构设计、区块链等方向。在加入微博之前,曾就职于百度负责大数据平台建设,曾担任趣点科技联合创始人兼CTO等职位。毕业于西北工业大学,曾在国内外知名期刊发表多篇学术论文,拥有9项发明专利。


朱伟@kimi:微博广告SRE团队技术负责人,高级运维工程师,2016年4月加入微博,目前主要负责微博广告智能监控报警平台和服务治理等项目的建设与研究。


刘俊:微博平台部监控技术负责人,负责微博平台、PC微博大规模监控系统的建设,主要关注实时大数据、运维自动化、智能化方向。2014年加入微博,之前曾在新浪、搜狐等公司从事运维监控方面的工作。


王莉:University of Georgia硕士研究生,主要研究用机器学习方法,识别植物被水淹没的季节性规律,研究成果已发表在SCI高影响因子期刊。2017年加入微博广告团队,致力于用数据分析和机器学习模型,优化广告业务策略,洞悉商业价值。


陆松林:微博广告数据仓库负责人,高级研发工程师,先后就职于搜狐、爱奇艺,主要研究数据仓库、数据治理相关技术。


车亚强:微博广告大数据开发工程师,曾在百度外卖负责实时流、微服务相关研发工作,目前主要研究方向为实时流、微服务架构设计。

精彩书评

本书是对AIOps的深度细化和技术补充,相关实践可落地,很有说服力。

—— 萧田国 高效运维社区发起人 AIOps标准及白皮书发起人


AIOps是运维领域的极大热点,本书对底层技术进行详细分析,并结合微博场景提供大量实战案例,非常有参考价值。

—— 裴丹 清华大学计算机系长聘副教授 青年千人 美国AT&T研究院前主任研究员 智能运维算法专家


本书作者对智能运维技术体系进行全面梳理,完整呈现从思路到工具再到实践的全过程。

—— 王鹏云 多盟联合创始人 蓝色光标技术创新孵化中心总经理


本书从大数据技术讲到AI运维,详细介绍实施智能运维依赖的基础设施和架构技术,兼具参考性与实操性。

—— 梁定安 腾讯运维技术总监 专家工程师


本书可作为运维工程师提升运维水平的重要参考,也可作为通过运维+AI向自动化智能运维发展的依据。

—— 钟华 美团打车技术研发部负责人


本书介绍异常检测、根因分析、时序预测等智能运维实践经验,并梳理了其两大基石:大数据和机器学习。

—— 饶琛琳 日志易产品总监 前新浪微博系统架构师


从运维平台大数据处理到架构设计原理,再到AIOps相关模型和算法,将智能运维工程架构与算法实践完美结合。

—— 陈晓峰 火币集团副总裁


本书系统介绍大数据采集、存储、处理、计算及策略应用各环节,并以微博监控为案例展示了监控平台建设实践。

—— 陆沛 滴滴打车SRE团队负责人 技术专家

目录

目录

第1篇 开门见山:运维发展史

第1章 运维现状 2
1.1 运维工程 2
1.1.1 认识运维 2
1.1.2 主要职责 4
1.1.3 运维技术 5
1.2 运维发展历程 6
1.2.1 人工阶段 6
1.2.2 工具和自动化阶段 7
1.2.3 平台化阶段 7
1.2.4 智能运维阶段 8
1.3 运维现状 9
1.3.1 故障频发 9
1.3.2 系统复杂性 10
1.3.3 大数据环境 12
1.4 本章小结 14
1.5 参考文献 14

第2章 智能运维 15
2.1 海量数据的存储、分析和处理 16
2.2 多维度、多数据源 18
2.3 信息过载 19
2.4 复杂业务模型下的故障定位 21
2.5 本章小结 22
2.6 参考文献 22

第2篇 站在巨人肩上:智能运维基础设施

第3章 开源数据采集技术 25
3.1 数据采集工具对比 25
3.2 轻量级采集工具Filebeat 26
3.2.1 Filebeat工作原理 26
3.2.2 Filebeat的安装与配置 28
3.2.3 启动和运行Filebeat 38
3.3 日志采集解析工具 38
3.3.1 Logstash工作原理 39
3.3.2 安装Logstash 40
3.3.3 配置Logstash 41
3.3.4 启动Logstash 49
3.4 本章小结 49
3.5 参考文献 50

第4章 分布式消息队列 51
4.1 开源消息队列对比与分析 51

4.1.1 概述 51
4.1.2 ZeroMQ 51
4.1.3 ActiveMQ 52
4.1.4 RocketMQ 52
4.1.5 Kafka 53
4.2 Kafka安装与使用 53
4.2.1 组件概念 53
4.2.2 基本特性 53
4.2.3 安装与使用 54
4.2.4 Java API使用 55
4.3 案例分析 57
4.3.1 日志采集 58
4.3.2 实时结算 58
4.3.3 实时计算 58
4.4 本章小结 58
4.5 参考文献 59

第5章 大数据存储技术 60
5.1 传统数据存储 60
5.1.1 传统应用的架构 60
5.1.2 传统存储的运行机制 61
5.1.3 传统存储带来的问题 62
5.2 基于HDFS的分布式存储 63
5.2.1 分布式存储的定义 63
5.2.2 HDFS的基本原理 64
5.2.3 HDFS架构解析 65
5.2.4 HDFS优势 66
5.2.5 HDFS不适合的场景 67
5.3 分层存储 68
5.3.1 数据仓库 68
5.3.2 数据仓库分层架构 70
5.3.3 分层存储的好处 73
5.4 案例分析 73
5.4.1 数据存储架构 73
5.4.2 数据仓库建模 74
5.4.3 常见的存储问题及解决方案 80
5.5 本章小结 80
5.6 参考文献 80

第6章 大规模数据离线计算分析 82
6.1 经典的离线计算 82
6.1.1 Linux神级工具sed和awk 82
6.1.2 Python数据处理Pandas基础 84
6.1.3 Python的优势和不足 88
6.2 分布式离线计算 89
6.2.1 MapReduce离线计算 89
6.2.2 离线计算的数据倾斜问题 97
6.2.3 分布式离线计算的技术栈 100
6.3 案例分析 101
6.3.1 离线计算管理 102
6.3.2 离线计算原子控制 103
6.3.3 离线计算的数据质量 103
6.4 本章小结 104
6.5 参考文献 105

第7章 实时计算框架 106
7.1 关于实时流计算 106
7.1.1 如何提高实时流计算的实时性 106
7.1.2 如何提高实时流计算结果的准确性 107
7.1.3 如何提高实时流计算结果的响应速度 107
7.2 Spark Streaming计算框架介绍 107
7.2.1 概述 107
7.2.2 基本概念 108
7.2.3 运行原理 108
7.2.4 编程模型 109
7.2.5 Spark Streaming的使用 110
7.2.6 优化运行时间 114
7.3 Flink计算框架 115
7.3.1 基本概念 116
7.3.2 Flink特点 116
7.3.3 运行原理 118
7.3.4 Java API的使用 121
7.4 案例分析 124
7.4.1 背景介绍 125
7.4.2 架构设计 126
7.4.3 效果分析 126
7.5 本章小结 126
7.6 参考文献 126

第8章 时序数据分析框架 127
8.1 时序数据库简介 127
8.1.1 什么是时序数据库 127
8.1.2 时序数据库的特点 128
8.1.3 时序数据库对比 130
8.2 时序数据库Graphite 131
8.2.1 Graphite简介 131
8.2.2 Graphite在微博广告监控系统中的应用 137
8.3 多维分析利器Druid 139
8.3.1 什么是Druid 139
8.3.2 Druid架构 140
8.3.3 Druid在微博广告监控平台中的应用 144
8.4 性能神器ClickHouse 147
8.4.1 什么是ClickHouse 147
8.4.2 ClickHouse的特性 148
8.4.3 ClickHouse的不足 149
8.4.4 安装配置ClickHouse 149
8.4.5 表引擎 153
8.4.6 函数支持 157
8.5 本章小结 160
8.6 参考文献 160

第9章 机器学习框架 161
9.1 简介 161
9.2 TensorFlow介绍 162
9.2.1 什么是TensorFlow 162
9.2.2 下载安装 162
9.2.3 “Hello TensorFlow”示例 166
9.3 TensorFlow进阶 166
9.3.1 基础理论 167
9.3.2 模型准备 169
9.3.3 训练数据 169
9.3.4 模型训练 171
9.3.5 生成seq2seq句子 174
9.3.6 运行演示 175
9.4 本章小结 178
9.5 参考文献 179

第3篇 运维新时代:智能运维技术详解

第10章 数据聚合与关联技术 182
10.1 数据聚合 182
10.1.1 聚合运算 183
10.1.2 多维度聚合 186
10.2 降低维度 188
10.2.1 将告警聚合成关联“事件” 189
10.2.2 减少误报:告警分类 190
10.3 数据关联 192
10.4 实时数据关联案例 193
10.4.1 设计方案 193
10.4.2 效果 195
10.5 本章小结 195
10.6 参考文献 195

第11章 数据异常点检测技术 196
11.1 概述 196
11.2 异常检测方法 198
11.2.1 基于统计模型的异常点检测 199
11.2.2 基于邻近度的异常点检测 202
11.2.3 基于密度的异常点检测 203
11.3 独立森林 204
11.4 本章小结 207
11.5 参考文献 207

第12章 故障诊断和分析策略 208
12.1 日志标准化 209
12.2 全链路追踪 210
12.3 SLA的统一 210
12.4 传统的故障定位方法 211
12.4.1 监控告警型 211
12.4.2 日志分析型 212
12.5 人工智能在故障定位领域的应用 213
12.5.1 基于关联规则的相关性分析 213
12.5.2 基于决策树的故障诊断 217
12.6 本章小结 222
12.7 参考文献 222

第13章 趋势预测算法 223
13.1 移动平均法 223
13.2 指数平滑法 224
13.3 ARIMA模型 226
13.3.1 简介 226
13.3.2 重要概念 226
13.3.3 参数解释 228
13.3.4 建模步骤 230
13.3.5 ARIMA模型案例 232
13.4 神经网络模型 236
13.4.1 卷积神经网络 236
13.4.2 循环神经网络 238
13.4.3 长短期记忆网络 239
13.4.4 应用说明 241
13.5 本章小结 241
13.6 参考文献 242

第4篇 智能运维架构实践:技术案例详解

第14章 快速构建日志监控系统 244
14.1 Elasticsearch分布式搜索引擎 244
14.1.1 基本概念 244
14.1.2 分布式文档存储与读取 248
14.1.3 分布式文档检索 250
14.1.4 分片管理 252
14.1.5 路由策略 254
14.1.6 映射 255
14.2 可视化工具Kibana 258
14.2.1 Management 260
14.2.2 Discover 260
14.2.3 Visualize 262
14.2.4 Dashboard 263
14.2.5 Timelion 263
14.2.6 Dev Tools 264
14.3 ELK搭建实践 264
14.3.1 Logstash安装配置 264
14.3.2 Elasticsearch集群安装配置 266
14.3.3 Kibana安装配置 272
14.4 本章小结 274
14.5 参考文献 274

第15章 微博广告智能监控系统 275
15.1 背景介绍 275
15.1.1 监控指标体系 275
15.1.2 功能设计原则 276
15.2 整体架构 277
15.3 核心功能分析 278
15.3.1 全景监控 278
15.3.2 趋势预测 281
15.3.3 动态阈值 285
15.3.4 服务治理 285
15.4 本章小结 288

第16章 微博平台通用监控系统 289
16.1 背景 290
16.2 整体架构 291
16.3 核心模块 292
16.3.1 数据采集(Logtailer) 292
16.3.2 数据路由(Statsd-proxy) 295
16.3.3 聚合运算(Statsd) 295
16.3.4 数据分发(C-Relay)和数据存储 295
16.3.5 告警模块 297
16.3.6 API设计 300
16.3.7 数据可视化 301
16.4 第三方应用 302
16.4.1 决策支持系统 302
16.4.2 运维自动化 303
16.4.3 成本分析和容量日报 303
16.4.4 机器学习 303
16.5 本章小节 303
附录A 中国大数据技术大会2017(BDTC 2017)CSDN专访实录 305

精彩书摘

推荐序1:运维的时代化变迁

互联网刚兴起的时候,运维还只是一个简单的服务安装管理及监控工作,没人会想到人类在互联网上建立了如此庞大的业务生态。从衣食住行到教育金融,服务器的规模在急剧膨胀,从简单的人力可管控,逐渐进化到依赖自动化体系来管理,但是另一方面,仅依赖工具已经不能很好地解决运维场景的需求。

根据正式的定义,智能运维通常用AIOps(Algorithmic IT Operations)这个专有名词来表达,是指利用大数据分析、机器学习等人工智能技术来自动化管理运维事务。早期的大规模运维以服务管理及监控为目标,自动化运维工具可以满足绝大部分需求,大数据采集及分析主要应用在服务监控及分析方面。但随着服务规模的膨胀,通过人工来管理大规模服务已经力不从心,也很难达到服务可用性的要求。2017年,Gartner也发布了AIOps的市场定义,并预测到2019年,全球25%的企业将用AIOps系统替代传统运维管理系统。在2017年这个比例低于5%,而到2022年将超过40%。

微博作为国内典型的互联网服务之一,在智能运维的实践方面获得了很多经验。比如每年的春晚,有大量用户在微博上进行祝福与互动,微博的Feed项目、广告系统、搜索等服务的自动化扩缩容,通过数据标准化算法分析出QPS和慢速比,并根据实时压测反馈的数据生成水位线,结合两个指标和水位线的波动情况进行自动扩容和缩容。

在日常的运维工作中,智能运维也在多方面发挥重要作用,比如告警收敛,利用智能算法过滤,收敛大量无效、重复的告警信息,通过聚类算法将大量、多维度的告警聚合为少量事件,通过告警分类算法提高准确率和减少误报。另外,智能运维还被大量应用于故障定位及服务自动修复方面,基于服务运行的日志及告警数据,实现非人工干预的自动化处理,比如自动摘除、重启等操作。

AIOps已经成为运维领域的发展趋势,但是目前可供参考的书籍较少,且大多偏理论及小规模服务,而针对真正大规模线上实操的书籍非常匮乏。微博技术团队的彭冬、刘俊、朱伟等同事,长期从事微博运维数据相关技术研发,对于如何将AI理论和技术应用于大规模服务管理VI 智能运维:从 0 搭建大规模分布式 AIOps 系统

方面颇有心得。在本书中,系统地介绍了大数据运维基础理论知识,如数据采集、分布式消息队列、实时计算框架、时序数据库等,并结合大数据人工智能技术如TensorFlow机器学习框架、趋势预测算法等,介绍了微博平台、微博广告在AIOps上的具体实操。相信用心阅读的读者,可以从中深入了解到他们在这一领域的领悟。

目前AIOps在业界也刚刚开始,微博技术团队也乐于和广大开发人员分享微博在AIOps实践中的心得,欢迎大家关注@微博平台架构和@微博技术学院,了解后续相关的公开技术活动。

杨卫华(Tim Yang)

微博研发副总经理


推荐序2:运维的新视角

最近20年,互联网特别是移动互联网的普及让用户的获取突破了地理的限制,各个领域都出现了亿级乃至十亿级海量用户规模的高科技公司,如搜索领域的Google、百度,社交领域的Facebook、腾讯,出行领域的Uber、滴滴,电商领域的Amazon、阿里巴巴,以及中国最大的自媒体社交平台微博等。

服务海量用户需要超大规模的在线分布式系统和大数据处理系统。同时,在竞争日益激烈的市场环境下,高科技公司产品和技术的快速迭代能力也至关重要。

在国外,运维团队是infrastructure很重要的组成部分,比如Google的SRE(Site Reliability Engineer)团队,就是从运维的角度为整个公司产品可用性服务的。在国内,近几年创业氛围非常好,2014年出现了大量的O2O创业公司,2015年直播和短视频企业大量崛起,2016年共享单车等共享经济方向的创业公司非常红火,2017年区块链几乎占领了大部分创业板块。对于这些创业企业而言,产品的快速迭代、极致的用户体验都是至关重要的,而在这个过程中运维团队就非常重要。

对于微博这样的成熟型企业,运维体系的完备性和先进性是必不可少的。从运维平台化到智能化,能让产品迭代更加高效,同时保障系统的稳定。微博作为拥有全球超过4亿月活跃用户的平台,其自身具有非常显著的特点:媒体属性和社交特性。微博传承了新浪的媒体属性,在媒体和新闻传播上有着非常重要的价值,而社交特性让这种信息的传播产生爆炸式的效应,可以看到,热门事件和重要的新闻资讯几乎第一时间都是在微博上进行传播的。同时,社交属性也体现在明星和大V效应上,一些行业的意见领袖拥有百万甚至千万级别的粉丝量,每天在微博上进行转发、评论等互动的行为非常频繁。正由于微博的这些特点,微博广告作为寄生于微博平台上的商业产品,也继承了相同的属性,同样也拥有相当复杂的业务形态。正是在这种复杂的业务场景下,大规模的传播效应、海量的数据、极其复杂的社交关系、多变的热门事件对整个广告系统的稳定性是一个极大的考验。那么如何在保证产品技术快速迭代能力的同时,保证系统的高可靠性和高可用性呢?彭冬领导的微博广告平台运维团队给出的答案是AIOps。VIII 智能运维:从 0 搭建大规模分布式 AIOps 系统

通过Big Data、AI/ML等技术,AIOps能更快更好地收集和分析超大规模系统的运行状态,并能大幅提升运维系统的自动化和智能化水平,从而提升运维工作的整体效率。

彭冬领导的团队搭建了一套这样的AIOps系统,并取得了明显的效果。这套智能运维系统在微博广告平台产品技术快速迭代的同时,提升了系统的可靠性和可用性,有力地支撑了微博广告收入的快速增长,智能运维技术在微博复杂的场景下得到了很好的实践。

很高兴彭冬及其团队成员能抽出时间编写这本书,将他们在智能运维上的架构设计思路和实践经验分享给更多的互联网界朋友。这本书是他们多年积累的工作经验的总结,书中有大量案例和前瞻性研究,无论是工程架构还是模型算法,对读者都具有借鉴价值,也希望这本书能成为一座桥梁,促进更多的技术交流,从而让大家共同成长。

张志强

微博广告业务部总经理


推荐序3:大数据时代的运维

在互联网时代,尤其是社交网络、电子商务与移动通信把人类社会带入一个PB级别以上单位的结构与非结构信息的大数据时代。数据量的爆发性增长,使企业IT架构不断扩展,服务器、存储设备的数量越来越多,网络也变得更加复杂。而大数据的4V特征,数据量大(Volume)、类型繁多(Variety)、价值密度低(Value)、时效高(Velocity)也使得传统的技术架构和路线,已经难以高效地处理如此海量的数据。可以说,大数据时代对企业的数据驾驭能力提出了新的挑战。尤其是大数据平台往往支撑着公司的搜索、推荐、广告等核心业务,为了保障良好的用户体验和业务效果,运维工作显得十分艰巨。相比于传统的运维方式,大数据时代的运维面临着集群规模更大、业务组件更多、监控可视化与智能化更为复杂等诸多难题。

我们知道,在互联网初期,大部分应用程序跑在少量的服务器上,网络带宽很小,存储量也很小,这个时候的运维更多的是解决类似于组网、操作系统等机房建设问题,应用的上线部署可以由开发工程师来完成,运维的工作职责没有那么明显。随后互联网进入高速发展期,数据规模从GB到TB再到PB级别,在存储量上超过千倍增长,在计算规模上可能也远远超过千倍增长,传统的通过单节点来存储和计算超过PB级别的数据已经比较困难,分布式集群的方式已经成为标准的解决方案。分布式系统在存储上解决了大规模数据单机无法承载的问题,同时在计算上解决了单机CPU或者内存等资源无法完全满足的问题,但是同时也带来了很多运维难题,诸如统一上线部署、大规模机器管理、降级、容灾、数据同步等。从数据规模到机器规模的扩大,传统的运维方式和方法已经不能满足产品快速迭代的要求,智能运维在这样的场景下应运而生。

智能运维是建立在运维基础上,通过一定策略和算法来进行智能化诊断决策,以更快、更准确、更高效地完成运维工作的技术体系。要实现智能运维的目标,需要有平台支撑,这也是DevOps很火的原因,很多运维工程师都掌握了开发工具和平台的本领,因此建立了高效的自动化运维平台。所以说智能运维是运维发展的高级阶段,也是互联网时代发展到一定阶段的产物。

智能运维的基础是建立在大规模数据分析和计算之上,当数据量很小时,我们甚至可以人X 智能运维:从 0 搭建大规模分布式 AIOps 系统

工判断和决策,一旦数据达到一定规模,大数据涉及的所有技术就都会成为智能运维所依赖的技术。一方面,可以说智能运维是一种新型技术,因为它从另一个视角去看待运维,对传统运维进行了创新和升华;另一方面,也可以说智能运维是一种经典技术,它是一系列成熟技术的结合体,它融入了运维技术、大数据、传统机器学习技术、机器学习、深度学习等方方面面的技术。

那么在大数据时代应该如何做好运维?我觉得有三个方面。

一是基础设施平台化,大数据的4V特性,相比于传统的系统运维 ,数据的处理框架变得更为多样化和复杂化,这要求我们必须夯实基础设施才能事半功倍。比如多源异构海量数据的分布式存储、离线批处理、高性能索引、大规模流数据处理,以及可视化监控与报警平台等。

二是集群管理自动化,降低运维复杂度。自动化能够提升稳定性,固化的操作交给机器去做,可以降低人为操作失误,提高线上的稳定性;自动化还能极大地提高效率,将运维人员从日常烦琐的操作中解放出来,把更多的时间投入到运维平台迭代优化上,从而更好地为业务运营服务。

三是运维决策智能化,充分利用大数据分析技术提升预测、发现和自动检测的能力,预测分配资源,动态伸缩集群,实现智能预警,自动修复,最大化利用资源,减少开销。

本书作者是微博广告平台资深架构师,从0到1架构了微博广告大数据运维体系,历经纯人工操作、平台化、自动化、智能化多个发展阶段,可以说踩过许多坑,也总结出一套行之有效的方法论。微博广告五年来一直高速发展而系统始终保持高效稳定,这跟大数据运维体系的成功是分不开的。本书对于即将投入大数据运维行业的工程人员来说是一个非常好的参考,同时对于互联网企业的中高级从业人员也很有借鉴意义。

李东升

微博广告业务部总监


前言/序言

为什么要写这本书

中国互联网发展非常迅速,一方面得益于互联网基础设施的不断完善;另一方面得益于中国巨大的用户人群和消费市场。网络从PC到移动互联网时代过渡非常快,2017年微博用户中移动端占比已经达到92%,移动互联网的兴起带来了前所未有的新格局,围绕手机移动端的应用生态逐渐形成,大量PC时代的公司已经将产品的主战场转移到移动端。

据中国互联网络信息中心(CNNIC)发布的第41次《中国互联网络发展状况统计报告》,截至2017年12月,中国网民规模达到7.72亿,手机网民占比97.5%,手机支付用户规模增长迅速,达到5.27亿,网络直播用户规模达到4.22亿,中国拥有人工智能企业592家,占全球总数的23.3%。

互联网尤其是移动互联网的发展,也给企业带来了极大的技术挑战,如何保障线上产品各个服务和系统的稳定性、如何快速高效地诊断问题和定位问题等成为企业所面临的核心问题,而这些问题通过传统的运维方式已经无法有效得到解决。尤其是在大数据复杂场景下,对运维有了新的期待,也对运维有了更高的要求。

首先,系统产生的数据在很大程度上反映了系统状态和产品逻辑,监控系统需要具备快速搜集和处理数据的能力,能经过复杂的数据清洗并从大规模数据中抽取监控需要的指标,尤其是能对时序数据进行ETL及存储分析,将异构数据转化成监控系统能够理解的结构化数据。在这个阶段,如何保证数据的一致性和准确性、如何降低时延提高数据吞吐、如何降低监控系统对业务资源的影响等,都是在大数据环境下要解决的问题。

其次,监控系统要与报警系统融合,报警系统承载的是系统风险提示,对准确率要求很高,然而在现实环境下,大部分报警系统都存在报警项繁多、报警次数频繁、报警不准确等问题。

再次,智能化故障诊断、异常点检测、根因分析等是智能运维要解决的核心问题,然而智XII 智能运维:从 0 搭建大规模分布式 AIOps 系统

能化系统要建立在高效的平台化基础上,目前极大一部分公司还没有真正进入平台化阶段,这就为智能运维带来了极大的阻力。

最后,智能运维需要运维工程师具备一定的人工智能、机器学习及深度学习等算法和建模能力,然而就目前来讲,运维工程师在这方面的技能是比较欠缺的。

国内在智能运维技术上,百度、阿里巴巴、腾讯和微博都有相当程度的经验积累,也得益于这些企业的运维平台化的体系逐渐成熟,在跟这些团队交流的时候,大家都有一个共识,就是希望能将智能运维技术应用到运维的各个维度,也相信智能运维将彻底改变运维的现有体系,并将极大丰富和完善传统运维,提高运维效率。

目前市面上与运维相关的书籍更多的是介绍某个单一技术的运维方法,少有对智能运维进行全面介绍的书籍,因此,我们觉得非常有必要梳理编写一本大数据场景下的智能运维技术的书籍,全面完整地为读者介绍智能运维的技术体系,以及在大企业的运维实践经验,让读者更加了解运维的技术方向,在实践中能够有所借鉴。同时,也能帮助运维工程师在一定程度上了解机器学习的常见算法模型,以及如何将它们应用到运维工作中。

读者对象

本书面向的读者主要包括:

√ 运维工程师

√ 运维开发工程师

√ 运维架构师

√ 大数据工程师

√ 对运维和大数据,以及AIOps感兴趣的工程师


如何阅读这本书

本书主要分4篇:第1篇运维发展史,重点阐述当前运维的发展现状及面临的技术挑战。第2篇智能运维基础设施,重点讲述大数据场景下的数据存储、大数据处理和分析的方法与经验,以及海量数据多维度多指标的处理分析技术。第3篇智能运维技术详解,重点关注在新时前言 XIII

期大数据时代下智能化的运维技术,包括数据聚合与关联、数据异常点检测、故障诊断和分析、趋势预测算法;第4篇技术案例详解,为大家梳理了通过开源框架ELK快速构建智能监控系统的整体方案,还将分享微博平台和微博广告两个不同业务场景下智能监控系统的技术实践。

具体而言,每篇和章节的主要内容如下:

第1篇 开门见山:运维发展史

√ 第1章运维现状,主要介绍运维职责、传统运维、运维分类等,我们将从运维发展的四个阶段:人工、工具和自动化、平台化、智能化来介绍运维的发展现状。

√ 第2章智能运维,主要介绍运维面临的挑战,传统运维在海量数据存储、分析、处理,多维度多指标及复杂业务等方面都有一定的局限性,随着运维新时代的到来,智能运维(AIOps)将为运维带来新的机会。


第2篇 站在巨人肩上:智能运维基础设施

√ 第3章开源数据采集技术,重点介绍Filebeat、Logstash等开源数据采集工具。

√ 第4章分布式消息队列,重点介绍以Kafka为代表的分布式消息队列及相关技术。

√ 第5章大数据存储技术,重点介绍大数据的存储相关技术,这也是大数据场景下的智能运维基础。

√ 第6章大规模数据离线计算分析,通过大数据ETL技术、Hadoop技术生态讨论在大数据场景下如何进行离线计算和分析。

√ 第7章实时计算框架,重点介绍在实时流计算方面的相关技术和框架,将探讨如何在监控系统中选择和使用实时计算框架。

√ 第8章时序数据分析框架,实时监控系统处理的是时序数据,本章介绍常见的时序数据分析框架及使用方法。

√ 第9章机器学习框架,智能化是运维、大数据和AI的结合,本章简单介绍机器学习框架,并以TensorFlow为例介绍如何进行模型训练和实践。


第3篇 运维新时代:智能运维技术详解

√ 第10章数据聚合与关联技术,在数据聚合方面讨论聚合方法、多维度数据聚合技巧,以及如何降低维度;在数据关联方面介绍如何在实时流场景下进行时序数据的关联。

√ 第11章数据异常点检测技术,本章结合运维面临的如异常点检测、动态阈值等常见问题,共同讨论解决这些问题的一些相关模型和算法。

√ 第12章故障诊断和分析策略,故障诊断是智能运维的一个很重要的研究方向,本章讨论智能运维在故障诊断、决策树模型、关联分析等方面的策略和模型。

√ 第13章趋势预测算法,主要介绍走势/趋势预测方面的常见模型和方法,包括ARIMA及基于机器学习的LSTM预测技术。


第4篇 智能运维架构实践:技术案例详解

√ 第14章快速构建日志监控系统,以ELK为例介绍如何使用开源框架快速搭建日志监控系统。

√ 第15章微博广告智能监控系统,全面介绍微博广告智能监控系统架构和设计原理。

√ 第16章微博平台通用监控系统,以微博平台监控系统为例,全面介绍通用监控系统的设计思路和具体架构。


需要注意的是,本文提到的智能运维即指AIOps,后续篇章将不再进行说明和区分。

勘误和支持

由于笔者的水平有限,编写时间仓促,同时本书在创作过程中参考了大量的国内外技术,并结合实践经验进行了系统性总结。由于技术的发展非常迅速,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。

智能运维技术在发生着翻天覆地的变化,我们希望更多的人能参与到这个过程中,共同推动智能运维技术的普及,欢迎通过微信或者邮件与我们进行讨论。你可以通过微信justAStriver、微博@AndrewPD或者电子邮件contact@andrewpd.com联系到我们,期待能够得到你们的真挚反馈,在技术之路上互勉共进。

特别致谢

我们花费了大量的时间总结智能运维方面的技术并整理成书,在此非常感谢微博广告基础架构团队的各位同事,尤其感谢车亚强、刘俊、陆松林、王莉、朱伟(按姓氏拼音排序)等人前言 XV

的辛勤付出,他们在工作之余,挤出宝贵的时间为本书贡献了知识,共同完成了本书部分章节的内容梳理。感谢车亚强在实时流计算的基本概念和关键技术方面,尤其是对分布式消息队列和Spark相关技术贡献的内容;感谢刘俊对智能运维的全面介绍,以及在故障诊断技术方面的贡献,同时结合微博平台的应用场景整理了通用监控系统的设计方案;感谢陆松林在分布式存储和离线计算方面提供的案例;感谢王莉在预估模型及异常点检测模型方面的研究;感谢朱伟在运维及智能运维相关技术上的研究和内容贡献。

感谢李东升的大力支持和鼓励,感谢微博广告团队的各位同事、朋友的支持和帮助。

感谢张志强和TimYang两位老大抽出宝贵时间为本书写序,感谢裴丹博士、王鹏云、梁定安、饶琛琳、钟华、陈晓峰、陆沛等业界朋友,感谢大家一起推动智能运维行业的普及和发展。

感谢电子工业出版社的编辑张春雨,他的敬业精神令我由衷敬佩,他的反馈、建议、鼓励和帮助引导我们克服诸多困难完成全部书稿。

在此特别感谢我的父母对我的培养,感谢我的太太Kathy长期以来对我的默默支持,感谢我刚满1岁的女儿小洋葱,因为工作和写作牺牲了很多陪伴她的时间。


电子工业出版社有限公司店铺主页二维码
电子工业出版社有限公司
电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
扫描二维码,访问我们的微信店铺

智能运维:从0搭建大规模分布式AIOps系统

手机启动微信
扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏

微信支付

支付宝

扫一扫购买

收藏到微信 or 发给朋友

1. 打开微信,扫一扫左侧二维码

2. 点击右上角图标

点击右上角分享图标

3. 发送给朋友、分享到朋友圈、收藏

发送给朋友、分享到朋友圈、收藏