Prometheus-分布式監控系統-普羅米修斯


 ++++++++++++++++ 壹    ++++++++++++++++++、

Prometheus簡介

  1. 分布式監控系統。
  2. 同時也是時間序列數據庫。
  3. 完全開源
  4. 被很多雲廠商(架構)內置,在這些廠商(架構)中,可以簡單部署Prometheus,用來監控整個雲基礎架構設施。
  5. Prometheus主要用於對基礎設施的監控。包括服務器,數據庫,VPS,幾乎所有東西都可以通過Prometheus進行監控。

 

如前所述,Prometheus由各種不同的組件組成。從系統中提取監控指標,可以通過不同的方式做到:

  1. 通過應用程序給定監控項,對給定的公開URL上Prometheus兼容的指標。Prometheus將其定義為目標並加入監控系統。
  2. 通過使用雲廠商內置Prometheus程序,會定義好整個監控項和監控工具集擁。例如,可以 Linux機器監控模版(節點導出器),數據庫的模版(SQL導出器或MongoDB導出器),以及HTTP代理或者負載程序的模版(例如HAProxy導出器)等這些模版直接就可以加入監控並使用。
  3. 通過使用Pushgateway:應用程序或作業不會直接公開指標。某些應用程序要么沒有合適的監控模版(例如批處理作業),對他們選擇不能直接通過應用程序公開這些指標。如果我們忽略您可能使用Pushgateway的極少數情況,Prometheus是一個基於主動請求pull的監控系統。

Prometheus可以做什么

  1. 在業務層用作埋點系統 Prometheus支持各個主流開發語言(Go,java,python,ruby官方提供客戶端,其他語言有第三方開源客戶端)。
  2. 我們可以通過客戶端方面的對核心業務進行埋點。如下單流程、添加購物車流程。
  3. 在應用層用作應用監控系統 一些主流應用可以通過官方或第三方的導出器,來對這些應用做核心指標的收集。如redis,mysql。
  4. 在系統層用作系統監控 除了常用軟件, prometheus也有相關系統層和網絡層exporter,用以監控服務器或網絡。
  5. 集成其他的監控 prometheus還可以通過各種exporte,集成其他的監控系統,收集監控數據,如AWS CloudWatch,JMX,Pingdom等等。

不要用Prometheus做什么 

prometheus也提供了Grok exporter等工具可以用來讀取日志,但是prometheus是監控系統,不是日志系統。應用的日志還是應該走ELK等工具棧。

 

grafana

prometheus一般配合grafana做前端展示

 

 ++++++++++++++++  貳    ++++++++++++++++++

一、Pushgateway 簡介

Pushgateway 是 Prometheus 生態中一個重要工具,使用它的原因主要是:

  • Prometheus 采用 pull 模式,可能由於不在一個子網或者防火牆原因,導致 Prometheus 無法直接拉取各個 target 數據。
  • 在監控業務數據的時候,需要將不同數據匯總, 由 Prometheus 統一收集。

由於以上原因,不得不使用 pushgateway,但在使用之前,有必要了解一下它的一些弊端:

  • 將多個節點數據匯總到 pushgateway, 如果 pushgateway 掛了,受影響比多個 target 大。
  • Prometheus 拉取狀態 up 只針對 pushgateway, 無法做到對每個節點有效。
  • Pushgateway 可以持久化推送給它的所有監控數據。

因此,即使你的監控已經下線,prometheus 還會拉取到舊的監控數據,需要手動清理 pushgateway 不要的數據。

 

 ++++++++++++++++ 叄    ++++++++++++++++++

埋點

什么是埋點? 

摘自:程序員雜貨鋪 https://blog.csdn.net/Zbylant 

所謂“埋點”,是數據采集領域(尤其是用戶行為數據采集領域)的術語。指的是針對特定用戶行為或事件進行捕獲、處理和發送的相關技術及其實施過程。 埋點的技術實質,是先監聽軟件應用運行過程中的事件,當需要關注的事件發生時進行判斷和捕獲。

 

流量統計的基礎:埋點 

摘自:https://zhuanlan.zhihu.com/p/25195217

所謂埋點就是在應用中特定的流程收集一些信息,用來跟蹤應用使用的狀況,后續用來進一步優化產品或是提供運營的數據支撐,包括:
1、訪問(Visits)
2、訪客(Visitor)
3、停留時間(Time On Site)
4、頁面查看(Page Views,又稱為頁面瀏覽)
5、跳出率(Bounce Rate,又可稱為蹦失率)

這樣的信息收集可以大致分為兩種:
1、頁面統計(track this virtual page view)
2、統計操作行為(track this button by an event)

   

意義何在?

  • 流量監測(在線情況分析、按時段分析、按來源分析);

  • 構建行為路徑, 通過對處理后的信息進行關聯,獲取用戶的整條行為鏈路;

  • 通過對埋點數據的處理、分析、建模,可以挖掘用戶的喜好、需求,判斷產品的效果和未來走向;

  • 監控應用運行狀態,提供問題跟蹤定位的數據支持;

  • 為營銷策略提供數據支持;

  • 實施 AB Testing;

  • 作為數據平台中,數據采集的一個不可缺少的環節;

埋點的技術難點

現在的業務技術架構都不僅僅是單獨的一種技術方案能解決的。現在只要是做互聯網的公司,其業務系統都會包含如下系統模塊:

  • 大前端。這里包含 WEB、HTML5, App(IOS、Android、Hybrid形式)

  • 后端應用系統

  • 服務器系統

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM