《InfluxDB原理與實戰》是一部由騰訊監控大數據平台技術負責人打造的千億級大數據監控平台經驗總結,包含9個企業級案例,100餘示例,300餘條命令和語法,由機械工業出版社出版。
基本介紹
- 書名:InfluxDB原理與實戰
- 作者:韓健
- 出版社:機械工業出版社
- 出版時間:2020年5月1日
- 頁數:266 頁
- 定價:89 元
- 開本:16 開
- ISBN:9787111651345
內容簡介,圖書目錄,作者簡介,
內容簡介
這是一本從原理與實踐角度全面講解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源碼的精彩之門。
圖書目錄
前 言
第1章 初識InfluxDB 1
1.1 什麼是InfluxDB 1
1.1.1 簡介 1
1.1.2 歷史和發展 4
1.1.3 使用場景 5
1.1.4 社區和生態 6
1.2 InfluxDB的優勢 7
1.3 InfluxDB的特性 9
1.3.1 InfluxDB的特點 10
1.3.2 核心概念 10
1.4 本章小結 11
第2章 InfluxDB入門 12
2.1 InfluxDB在各環境下的安裝部署 12
2.1.1 RedHat & CentOS 環境 13
2.1.2 Ubuntu & Debian 環境 15
2.1.3 Mac OS & OS X 環境 17
2.1.4 MS Windows環境 19
2.1.5 二進制軟體包安裝 21
2.2 InfluxDB軟體包程式 22
2.2.1 influx介紹 23
2.2.2 influxd介紹 24
2.2.3 influx_inspect介紹 26
2.2.4 influx_stress介紹 27
2.2.5 influx_tsm介紹 27
2.3 InfluxDB 配置檔案 28
2.4 InfluxDB安裝部署和基礎操作實戰 33
2.5 本章小結 37
第3章 寫入和查詢 38
3.1 操作模式 38
3.1.1 influx命令行模式 39
3.1.2 InfluxDB API模式 46
3.2 寫入 48
3.2.1 行協定 48
3.2.2 寫入數據 51
3.3 查詢 54
3.3.1 InfluxQL 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.3 DevOps監控的採樣實戰 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.3 DevOps監控的許可權管理實戰 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.2 META節點集群配置 116
6.2.3 DATA節點集群配置 120
6.3 Hinted-Handoff 123
6.4 Anti-Entropy 127
6.4.1 Anti-Entropy原理 128
6.4.2 Anti-Entropy命令 129
6.4.3 Anti-Entropy API 130
6.4.4 Anti-Entropy配置 132
6.4.5 Anti-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.2 META節點替換實戰 149
7.2.3 DATA節點替換實戰 153
7.2.4 擴容實戰 155
7.3 本章小結 162
第8章 第三方協定 163
8.1 UDP協定 164
8.1.1 UDP協定簡介 164
8.1.2 UDP協定基本用法 164
8.2 兼容CollectD 166
8.2.1 CollectD簡介 166
8.2.2 CollectD協定的基本用法 167
8.3 兼容Graphite 170
8.3.1 Graphite簡介 170
8.3.2 Graphite協定的基本用法 171
8.4 兼容OpenTSDB 175
8.4.1 OpenTSDB簡介 175
8.4.2 OpenTSDB協定的基本用法 176
8.5 兼容Prometheus 178
8.5.1 Prometheus簡介 178
8.5.2 Prometheus協定的基本用法 179
8.6 本章小結 181
第9章 基於TICK的DevOps監控實戰 182
9.1 TICK簡介 183
9.2 Telegraf 184
9.2.1 Telegraf簡介 184
9.2.2 Telegraf安裝部署 186
9.2.3 Telegraf命令 189
9.3 Kapacitor 191
9.3.1 Kapacitor簡介 191
9.3.2 Kapacitor安裝部署 191
9.3.3 Kapacitor命令 193
9.4 Chronograf 194
9.4.1 Chronograf簡介 194
9.4.2 Chronograf安裝部署 196
9.4.3 Chronograf命令 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.1 Prometheus 218
10.2 Grafana 219
10.2.1 Grafana簡介 219
10.2.2 Grafana安裝部署 220
10.3 基於InfluxDB、Prometheus、Grafana的DevOps監控實戰 225
10.4 本章小結 234
第11章 InfluxDB源碼架構剖析 235
11.1 源碼編譯 236
11.1.1 Golang語言環境配置 236
11.1.2 源碼編譯安裝 237
11.2 啟動流程源碼剖析 239
11.3 配置模組源碼剖析 244
11.3.1 創建示例配置 244
11.3.2 載入配置 246
11.4 HTTP寫入流程和查詢流程源碼剖析 248
11.4.1 HTTP請求處理流程 248
11.4.2 寫入流程 254
11.4.3 查詢流程 258
11.5 本章小結 265
作者簡介
韓健
資深架構師,現就職於騰訊,擔任監控大數據平台技術負責人,曾先後擔任創業公司CTO、Intel資深工程師。既對分散式系統、InfluxDB的架構設計和開發有深刻的理解,又在海量服務分散式組件架構設計、高性能架構設計、高質量代碼編寫等方面有深厚的積累,經驗豐富。
在騰訊先後負責了監控大數據平台、QQ後台海量服務分散式組件(微服務開發框架、名字服務、配置中心等)等項目的相關工作。曾經主導和參與了多個高並發分散式系統、Linux核心、高性能網路作業系統等大型項目。
當前專注於下一代具有成本優勢的高性能監控大數據平台、海量服務分散式組件、DPDK高性能TCPIP協定棧的創新和研發。
維護有微信訂閱號influxdb-dev。