天天看點

prometheus 基礎介紹

一    prometheus的基本概念

  • 名額 metric
  • TS 時間序列資料,存儲的資料庫叫TSDB,叫時序資料庫。
  • zabbix(後端資料庫關系型) 存在性能瓶頸。
  • 趨勢資料: 聚合分析的結果。
  • 告警更新,階梯型通知
  • 資料節點: target
  • 資料抓取:scrape

告警系統組成部分

  • 監控采集:  被監控端要有監控代理,應用程式自帶儀表盤。黑盒監控(探針),網絡裝置:(snmp)
  • 資料存儲:SQL、Nosql(kv\document、tsdb、)
  • 展示: Grafana
  • 報警:  通知作用 。
    • 媒介
      • 郵件、短信、釘釘、微信、Slack
      • 推薦:《監控的藝術》書籍

常見的監控軟體:

  • Cacti 、Nagios
  • Zabbix
  • Openfalcon/夜莺
  • CAT(美團點評)
  • Prometheus

功能實作:

  • 創始人在google, 去了soundcloud
  • 2012年研發,2015年釋出,現在是2.0階段
  • 現在已經捐給了CNCF
  • Metric ,多元度的标簽組合都代表一個獨立的時間序列。
  • 内建了時序資料的聚合、切割、切片
  • 支援雙精度浮點型資料

缺點:

  • 日志的存儲不支援。

二  prometheus的工作原理

  • prometheus是一款時序資料庫,一塊設計目标監控的關鍵元件。資料預設是一個月,如果時間更長需要對接其他時序資料庫。
  • 整合生态系統内的其他元件,例如pushgateway\Altermanager和Grafana等,可構成一個完整的IT監控系統。
  • 監控采集模式
    • Pull : 監控系統去監控端拿資料,   prometheus僅支援該模式。
    • Push:   監控端推送資料到監控系統
  • 監控的元件:
    • PushGateway: 受限于網絡等因素,可能導緻prometheus無法拉取到用戶端的資料,此時需要pushgateway,用戶端将資料上傳到pushgateway上,prometheus去pushgateway上拉資料。
    • 内部的查詢引擎:  PromQL語句 ,内置了web的接口。可以基于web界面調用promQL接口。
    • Prometheus  ,内置的存儲資料預設一個月,如果需要存儲時間較長需對接其他時序資料庫。
    • AlerManager: 告警元件, 本身不支援告警,需要結合promQL的結果結合表達式進行告警。
    • 展示界面可以借助Grafana。
    • node_exporter ,查詢名額之後暴露給prometheus。一對一的名額抓取代理器。
    • 自動發現:   可以自動服務的發現并納入到系統

架構圖:

prometheus 基礎介紹