異形般強大的監控系統:Prometheus掌控主機、VM、容器及K8S

異形般強大的監控系統:Prometheus掌控主機、VM、容器及K8S
定價:680
NT $ 356 ~ 612
  • 作者:陳曉宇楊川胡陳嘯
  • 出版社:深智數位
  • 出版日期:2020-02-20
  • 語言:繁體中文
  • ISBN10:9865501163
  • ISBN13:9789865501167
  • 裝訂:平裝 / 368頁 / 17 x 23 x 1.84 cm / 普通級 / 單色印刷 / 初版
 

內容簡介

  伴隨著容器相關技術的興起,Prometheus 正逐步成為容器監控的標準,並且對於傳統應用和裝置也有很好的相容性。
  全書共分為4 篇12 章,分別說明Prometheus 原理、在傳統應用監控和Kubernetes 監控中的應用,以及原始程式和擴充。

  Prometheus 由Go 語言撰寫而成,採用Pull 方式取得監控資訊,並提供了多維度的資料模型和靈活的查詢介面。Prometheus 不僅可以透過靜態檔案設定監控物件,還支援自動發現機制,能夠透過Kubernetes、Consul、DNS 等多種方式動態取得監控物件。在資料獲取方面,借助Go 語言的高平行處理特性,單機Prometheus 可以擷取數百個節點的監控資料;在資料儲存方面,隨著本機時序資料庫的不斷最佳化,單機Prometheus 每秒可以擷取一千萬個指標,如果需要儲存大量的歷史監控資料,則還支援遠端儲存。

  全書重點涵蓋:
  ►最強大的系控監控平台,可監控叢集、伺服器、虛擬、容器
  ►完整的資源管理、包括網路、儲存、CPU、記憶體、作業系統
  ►不需要自行組合Logstash/ElasticSearch/Kibana,單一完整監控系統
  ►最重要的就是針對Kubernetes的完整監控
  ►包括Kubernetes容器、服務自動發現等
  ►針對Kubernetes的物件、如cAdvisor, apiserver, kube-state-metrics
  ►Kubernetes叢集監控,Granfna的使用
  ►完整Prometheus的原始碼分析及改裝

 適合讀者群:運維工程師、軟體架構師、研發工程師,及相關IT產業工作者參考和閱讀。

本書特色

  ◎ 系統講解Prometheus的原理、應用、原始程式和擴充
  ◎ 圖文並茂、由淺入深、完整解說   
 
 

作者介紹

作者簡介

陳曉宇


  宜信容器雲架構師,負責宜信PaaS平台的設計和推廣,幫助企業從傳統應用遷移至雲原生應用。在雲端運算相關行業具有豐富的研發與架構經驗,並積極參與OpenStack、Kubernetes、Harbor等社群的開放原始碼專案。

楊川胡

  「k8s技術圈」社群維護者,全棧工程師,具備豐富的雲端運算、上億活躍用戶應用後端實踐經驗,擅長Python、Golang、Docker、Kubernetes等技術,曾在小米擔任資深研發工程師。個人GitHub頁面:github.com/cnych。
 
陳嘯

  Prometheus二次開發深度使用者,專注於分散式搜索、流式計算、集群監控、大數據安全領域。任職深信服科技股份有限公司安全感知團隊,負責資料平台基礎架構研發工作。

 
 

目錄

前言

第1篇 Prometheus 原理

01監控
1.1 監控系統概覽
1.2 基礎資源監控
1.3 中介軟體監控
1.4 應用程式監控(APM)
1.5 記錄檔監控
1.6 監控系統實現
1.7 監控系統的發展趨勢
1.8 本書主角-- Prometheus
1.9 其他開放原始碼監控工具
1.10 監控系統的比較
02深入Prometheus 設計
2.1指標
2.2 資料獲取
2.3 資料處理
2.4 資料儲存
2.5 資料查詢
2.6 警告
2.7 叢集
2.8 Prometheus 並非監控銀彈
03資料儲存
3.1 儲存介面
3.2 本機存放區
3.3 遠端儲存
3.4 儲存匯聚

第2篇 Prometheus 在傳統應用監控中的應用
04 Prometheus exporter 詳解
4.1 服務分類
4.2 資料標準
4.3 exporter 簡介
4.4 基於Go 用戶端撰寫一個exporter
4.5 Node exporter 解析
4.6 Redis exporter 解析
4.7 MySQL server exporter 解析
4.8 深入探索Go 用戶端

第3篇 Prometheus 在Kubernetes 監控中的應用
05 Kubernetes 監控方案
5.1 Heapster
5.2 kube-state-metrics
5.3 metrics-server
5.4 Prometheus
06 Prometheus 的安裝設定
6.1 手動安裝Prometheus
6.2 安裝Prometheus Operator
6.3 在Prometheus Operator 中增加自訂的監控
6.4 在Prometheus Operator 中增加自訂警告
6.5 Prometheus Operator 的進階設定
07 Prometheus 監控Kubernetes 之服務設定
7.1 靜態設定
7.2 服務發現設定
08 Prometheus 監控Kubernetes 之監控物件
8.1 容器監控
8.2 apiserver 監控
8.3 Service 監控
8.4 kube-state-metrics 監控
8.5 主機監控
09 Prometheus 監控Kubernetes 之資料展現
9.1 在Kubernetes 叢集中安裝Grafana
9.2 設定Grafana
9.3 外掛程式
9.4 Grafana 警告
10 Prometheus 監控Kubernetes 之警告
10.1 AlertManager 簡介
10.2 安裝AlertManager
10.3 警告規則
10.4 webhook 接收器

第4 篇 Prometheus 原始程式與擴充
11 Prometheus 服務元件
11.1 Prometheus 原始程式的目錄結構
11.2 原生Prometheus 的不足
11.3 原始程式改造-- 更改時區
11.4 原始程式改造-- 用blog4go 記錄系統記錄檔
11.5 Prometheus 的初始化
11.6 原始程式改造-- MySQL 規則儲存
11.7 資料獲取
11.8 通知管理
11.9 規則管理
11.10 原始程式改造-- 不重複scrape 及附帶時間戳記正則運算
12 AlertManager 服務元件
12.1 接收警告
12.2 警告排程
12.3 警告比對
12.4 警告處
12.5 警告通知

 
 

前言

  無論是傳統資料中心還是雲端資料中心,無論是實體機、虛擬機器還是容器,整個資料中心的建設都繞不開監控這個話題。優秀的監控系統不僅需要相容各種裝置和環境,還需要具備高性能、高可靠及易運行維護等特性,Prometheus 正是其中之一。伴隨著容器相關技術的興起,Prometheus 正逐步成為容器監控的標準,並且對於傳統應用和裝置也有很好的相容性。

  Prometheus 由Go 語言撰寫而成,採用Pull 方式取得監控資訊,並提供了多維度的資料模型和靈活的查詢介面。Prometheus 不僅可以透過靜態檔案設定監控物件,還支援自動發現機制,能夠透過Kubernetes、Consul、DNS 等多種方式動態取得監控物件。在資料獲取方面,借助Go 語言的高平行處理特性,單機Prometheus 可以擷取數百個節點的監控資料;在資料儲存方面,隨著本機時序資料庫的不斷最佳化,單機Prometheus 每秒可以擷取一千萬個指標,如果需要儲存大量的歷史監控資料,則還支援遠端儲存。

  本書共分為4 篇12 章,分別說明Prometheus 原理、在傳統應用監控和Kubernetes 監控中的應用,以及原始程式和擴充,實際內容如下所述。

  ■ 第 1 章主要介紹監控系統的概念和架構設計,並剖析監控系統的內部結構,從程式執行的角度說明基礎資源監控、中介軟體監控、應用程式監控和記錄檔監控,並將多種監控系統的優缺點進行比較,指出Prometheus 獨特的優勢。

  ■ 第 2 章首先介紹 Prometheus 的相關概念,包含資料指標的定義和分類;然後介紹Prometheus 的整體架構和工作原理,包含資料獲取、資料處理、資料儲存、資料查詢及警告;最後說明Prometheus 聯邦及Thanos 的原理。

  ■ 第 3 章主要介紹 Prometheus 資料儲存。首先從歷史演進、設計理念、實現原理等多個方面詳細介紹Prometheus 的本機時序資料庫(Prometheus TSDB);然後介紹Prometheus 遠端儲存的使用方式和實現原理,並以InfluxDB 為例,詳解Adapter 的工作原理。

  ■ 第 4 章主要介紹 Prometheus exporter 的背景、使用方式和工作原理。首先介紹幾個常用的exporter,包含Node exporter、Redis exporter、MySQL server exporter 的內部建置; 然後從原始程式角度解析exporter,並撰寫一個簡單的exporter。

  ■ 第 5 章主要介紹 Kubernetes 叢集的常用監控方案,包含 Heapster、kube-state-metrics、metrics-server, 並介紹將Prometheus 應用於Kubernetes 叢集的優勢。

  ■ 第 6 章主要介紹 Prometheus 在 Kubernetes 叢集中的安裝和設定。首先介紹如何用正常的手動方式在Kubernetes 叢集中安裝Prometheus;然後介紹Kubernetes 中的另一種更進階的監控方案Prometheus Operator的安裝和使用,包含增加自訂監控項、增加自訂警告、自動發現設定、資料持久化設定等。

  ■ 第 7 章主要介紹 Prometheus 監控 Kubernetes 叢集服務的設定方法。首先介紹手動靜態設定方法,然後介紹如何使用Prometheus 中的服務發現機制來自動發現Kubernetes 中的Service。

  ■ 第 8 章主要介紹 Prometheus 在 Kubernetes 叢集中的一些常用監控物件,包含cAdvisor 監控、apiserver 監控、Service 監控、kube-state-metrics 監控,並介紹如何使用node-exporter 監控Kubernetes 叢集中的節點。

  ■ 第 9 章主要介紹 Prometheus 監控 Kubernetes 叢集的資料展示。首先介紹在Kubernetes 叢集中安裝Grafana 的方法;然後介紹如何將Grafana設定Prometheus 資料來源,以及一些常用的Dashboard 設定方法;並介紹Grafana 針對Kubernetes 叢集監控的常用外掛程式grafanakuberentes-app 的安裝和使用;最後介紹如何使用Grafana 警告,包含郵件警告、釘釘警告等。

  ■ 第 10 章主要介紹 Prometheus 監控 Kubernetes 叢集的警告功能。首先介紹如何在Kubernetes 叢集中安裝Prometheus 的警告模組AlertManager;然後介紹如何透過ConfigMap 資源物件設定警告規則;最後撰寫一個 webhook 接收器來處理AlertManager 警告資料。

  ■ 第 11 章主要對 Prometheus 原始程式進行分析,有關 Prometheus 資料獲取、規則管理、通知管理、儲存管理和查詢引擎方面的內容,並以延伸開發實戰的方式加深讀者對Prometheus 程式結構的了解。

  ■ 第 12 章主要對 AlertManager 原始程式進行分析,有關接收警告、警告排程、警告比對、警告處理和警告通知方面的內容,並結合設定檔中的設定項目,帶領讀者從原始程式角度了解警告分組、警告頻次控制、警告路由、警告抑制和警告預設功能的實現。

  致謝
  本書作者分別來自宜信容器雲團隊(陳曉宇)、「k8s 技術圈」社群(楊川胡)及深信服安全感知團隊(陳嘯),感謝這些團隊及社群對本書作者的支援和鼓勵。

  感謝作者家人對作者的支援和鼓勵,來自家人的愛,讓我們時刻擁有信心與力量!
網路書店 類別 折扣 價格
  1. 新書
    52
    $356
  2. 新書
    79
    $537
  3. 新書
    85
    $578
  4. 新書
    85
    $578
  5. 新書
    9
    $612
  6. 新書
    9
    $612
  7. 新書
    9
    $612