查看原文
其他

上新了!国内首本从原理与实践角度全面讲解InfluxDB的宝藏书

华章计算机 华章计算机 2020-09-07


新书速递


InfluxDB是一款非常优秀的软件,直接推动监控技术进入了实时、纳秒级的新时代,除了类SQL查询语言、RESTful API等现代特性外,还具有读写性能高存储压缩率高生态丰富功能强大等特性。今天小编为大家介绍《InfluxDB原理与实战》


这是一本从原理与实践角度全面讲解InfluxDB的著作,由腾讯监控大数据平台负责人撰写,融入了作者构建千亿级大数据监控平台的工程实践经验。从生态应用场景功能使用源码分析等角度对InfluxDB进行了深入的讲解,包含9个企业级实战案例100余示例300余条命令和语法详解,能帮助读者从零开始,彻底吃透InfluxDB的功能和原理,快速晋级为InfluxDB实战专家。


全书一共9章,从结构上分为四个部分:


第一部分 准备篇(第1~2章)

首先,从宏观角度介绍了InfluxDB的发展历程、适应场景、特点、优势以及社区和生态;然后,手把手教读者如何快速在各种环境中搭建InfluxDB生产环境。


第二部分 基础篇(第3~8章)

着重、全面地讲解InfluxDB的核心功能,包括基础操作、连续查询、保留策略、认证授权、集群和可用性、备份管理、节点管理、第三方协议等,并以多个DevOps实战为例,透彻讲解了InfluxDB的原理和实战技巧。


第三部分 实战篇(第9~10章)

分别以基于TICK的DevOps实战和基于InfluxDB、Grafana、Prometheus的DevOps实战为例,讲解了以InfluxDB为核心的企业级监控系统的构建方法。


第四部分 扩展篇(第11章)

着重讲解了InfluxDB的源码编译方法,并采用抛砖引玉的方式,对启动流程、配置模块、HTTP写入和查询流程等进行了源码分析,帮助读者打开探索和研究InfluxDB源码的精彩之门。

 


专家推荐


本书介绍了InfluxDB的使用场景、使用方法以及相关问题的解决方法,可以作为读者了解和使用InfluxDB的参考书。同时,书中提供了多个企业级实战案例的代码解析,对想进一步理解时序数据库实现原理的开发人员也有很高的参考价值。在这本书里,作者分享了自己在腾讯的实战经验,可以帮助读者少走很多弯路。

——朱小平 华为云网络架构师


近两年DevOps得到广泛应用,相应的开源软件栈也层出不穷。然而,大多数投身其中的开发者可能对其技术栈的基础所知甚少,从而陷入盲目的选型和试错。正如作者在序言中所说,本书来源于作者对海量监控平台的技术选型和对InfluxDB进行二次开发的经验总结。书中没有泛泛而谈,而是针对时序中台这一场景进行了有针对性的剖析。

——方家弘 前科恩实验室成员


我们用时序数据库来记录时序数据、追溯过去、监控现在、预测未来。InfluxDB是时序数据库中的佼佼者,有着非常优异的性能和可扩展性。韩健基于他对InfluxDB进行二次开发并处理亿级监控平台的经验,对InfluxDB 的原理进行抽茧剥丝,娓娓道来。希望本书可以帮助你打造更加高效、实时的大数据监控平台,帮助企业减少费用、提升业务。

——陈天 ArcBlock研发副总裁


InfluxDB作为时序性数据库的优秀代表,是当代互联网服务生产环境下的核心技术组件,相较于传统数据库系统,InfluxDB的性能高出几倍乃至几十倍,为超大规模业务系统(如5G驱动的IOT系统)的运转提供了关键的底层数据处理能力。当然,在将InfluxDB运用到腾讯的生产环境的过程中,作者所在团队也做出了大量的改进和优化,最终成功打造出一套能够为几十万台服务器提供秒级监控能力的监控平台。在本书中,作者将其在工作中积累的经验和盘托出,这对正在快速成长的中国IT产业具有不可估量的价值。

——严雷 蔷薇灵动创始人兼CEO



读者对象
  • 系统管理员、运维工程师、网络管理员

  • 开发工程师

  • 数据库技术爱好者

  • 监控技术爱好者

  • 开源软件爱好者


目录




前 言

第1章 初识InfluxDB  1

1.1 什么是InfluxDB  1

1.1.1 简介  1

1.1.2 历史和发展  4

1.1.3 使用场景  5

1.1.4 社区和生态  6

1.2InfluxDB的优势  7

1.3InfluxDB的特性  9

1.3.1InfluxDB的特点  10

1.3.2 核心概念  10

1.4 本章小结  11

第2章 InfluxDB入门  12

2.1InfluxDB在各环境下的安装部署  12

2.1.1RedHat & CentOS 环境  13

2.1.2Ubuntu & Debian 环境  15

2.1.3Mac OS & OS X 环境  17

2.1.4MS Windows环境  19

2.1.5 二进制软件包安装  21

2.2InfluxDB软件包程序  22

2.2.1influx介绍  23

2.2.2influxd介绍  24

2.2.3influx_inspect介绍  26

2.2.4influx_stress介绍  27

2.2.5influx_tsm介绍  27

2.3InfluxDB 配置文件  28

2.4InfluxDB安装部署和基础操作实战  33

2.5 本章小结  37

第3章 写入和查询  38

3.1 操作模式  38

3.1.1influx命令行模式  39

3.1.2InfluxDB API模式  46

3.2 写入  48

3.2.1 行协议  48

3.2.2 写入数据  51

3.3 查询  54

3.3.1InfluxQL  54

3.3.2 查询数据  71

3.4 本章小结  74

第4章 连续查询和保留策略  75

4.1 连续查询  76

4.1.1 连续查询的基础特性  76

4.1.2 连续查询的高级特性  78

4.1.3 管理连续查询  80

4.1.4 连续查询的场景应用  82

4.2 保留策略  84

4.2.1 创建保留策略  85

4.2.2 查询保留策略  87

4.2.3 管理保留策略  88

4.3DevOps监控的采样实战  89

4.4 本章小结  94

第5章 认证与授权  95

5.1 认证  95

5.1.1 启动认证  96

5.1.2 认证请求  96

5.2 授权  99

5.2.1 账户权限  99

5.2.2 账户管理命令  100

5.3DevOps监控的权限管理实战  105

5.4 本章小结  109

第6章 集群和高可用  110

6.1 集群简介  111

6.1.1 集群的基本概念  111

6.1.2 集群架构  112

6.2 集群配置  113

6.2.1 准备工作  114

6.2.2META节点集群配置  116

6.2.3DATA节点集群配置  120

6.3Hinted-Handoff  123

6.4Anti-Entropy  127

6.4.1Anti-Entropy原理  128

6.4.2Anti-Entropy命令  129

6.4.3Anti-Entropy API  130

6.4.4Anti-Entropy配置  132

6.4.5Anti-Entropy典型应用场景  134

6.5 本章小结  136

第7章 备份管理和节点管理  137

7.1 备份管理  137

7.1.1 备份  138

7.1.2 还原备份  140

7.1.3 导出数据  143

7.1.4 导入数据  144

7.2 节点管理  145

7.2.1 节点管理相关命令  145

7.2.2META节点替换实战  149

7.2.3DATA节点替换实战  153

7.2.4 扩容实战  155

7.3 本章小结  162

第8章 第三方协议  163

8.1UDP协议  164

8.1.1UDP协议简介  164

8.1.2UDP协议基本用法  164

8.2 兼容CollectD  166

8.2.1CollectD简介  166

8.2.2CollectD协议的基本用法  167

8.3 兼容Graphite  170

8.3.1Graphite简介  170

8.3.2Graphite协议的基本用法  171

8.4 兼容OpenTSDB  175

8.4.1OpenTSDB简介  175

8.4.2OpenTSDB协议的基本用法  176

8.5 兼容Prometheus  178

8.5.1Prometheus简介  178

8.5.2Prometheus协议的基本用法  179

8.6 本章小结  181

第9章 基于TICK的DevOps监控实战  182

9.1TICK简介  183

9.2Telegraf  184

9.2.1Telegraf简介  184

9.2.2Telegraf安装部署  186

9.2.3Telegraf命令  189

9.3Kapacitor  191

9.3.1Kapacitor简介  191

9.3.2Kapacitor安装部署  191

9.3.3Kapacitor命令  193

9.4Chronograf  194

9.4.1Chronograf简介  194

9.4.2Chronograf安装部署  196

9.4.3Chronograf命令  198

9.4.4 创建InfluxDB连接  202

9.4.5 创建Kapacitor连接  205

9.5 基于TICK的DevOps监控实战  208

9.6 本章小结  216

第10章 基于InfluxDB、Prometheus、Grafana的DevOps监控实战  217

10.1Prometheus  218

10.2Grafana  219

10.2.1Grafana简介  219

10.2.2Grafana安装部署  220

10.3 基于InfluxDB、Prometheus、Grafana的DevOps监控实战  225

10.4 本章小结  234

第11章 InfluxDB源码架构剖析  235

11.1 源码编译  236

11.1.1Golang语言环境配置  236

11.1.2 源码编译安装  237

11.2 启动流程源码剖析  239

11.3 配置模块源码剖析  244

11.3.1 创建示例配置  244

11.3.2 加载配置  246

11.4HTTP写入流程和查询流程源码剖析  248

11.4.1HTTP请求处理流程   248

11.4.2 写入流程  254

11.4.3 查询流程  258

11.5 本章小结  265

 


上下滑动查看


实拍图



新书上市扫码了解详情并购买





更多精彩新书



上新 | 从0到1构建用户画像系统技术和方法论
上新 | 智能领域系统能力培养大成之作!——《智能计算系统》重磅出版!
上新 | “Flutter中文网”社区创始人倾力撰写的网红书 《Flutter实战》正式出版
上新 | 零基础掌握Istio& Kubernetes开发与运维


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存