iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
DevOps

DevOps with Proxmox系列 第 17

Day 17 - 監測服務 - Prometheus

  • 分享至 

  • xImage
  •  

昨天介紹的是用來呈現數據的工具,我們今天要介紹的則是用來收集數據的資料庫 Prometheus

什麼是 Prometheus?

prometheus_logo

Prometheus 是個 open-source 的 time-series database,擁有自己的語言系統 PromQL,現在是 CNCF 專案之一,應用非常廣泛

Prometheus 具有這些特性

  • 高緯度的資料模型
  • PromQL 提供查詢、整合與數值運算的功能
  • 內建視覺化工具
  • 每臺伺服器都是獨立的,只仰賴 local storage
  • 支援 Pushgateway
  • 可以利用靜態組態,也可以利用 Service Discovery 工具
  • 有告警系統 (Alertmanager)

可是 Prometheus 只是一個資料庫,我們需要其他工具來把主機的資料打進資料庫中
我們介紹最基礎的 Node Exporter 就好

Node Exporter 是個跑在每臺伺服器上的 agent,這個 agent 在被 trigger 時會讀取一遍能被讀取的系統資訊,接下來會把這些資訊透過 0.0.0.0:9100/metrics 暴露出來,而我們需要設定 Prometheus,讓它會定時去打這個 Endpoint 取得系統資訊,然後再把這些資訊存進 Prometheus 內,進而達到監控系統的作用

而在 Prometheus 的專案內,有提供一個告警系統 Alertmanager,會需要把告警的規則寫在 Prometheus 內,而 Prometheus 每次在拉 metrics 時會去跟這些規則做比對,一旦有相符的規則後,便會送出 alert 給 Alertmanager
接著, Alertmanager 會依據你建立的規則,分別去通知不同的對象

Prometheus 除了有 Node Exporter 以外,還有其他工具能看不同數據,例如

  • blackbox_exporter
  • consul_exporter
  • graphite_exporter
  • haproxy_exporter
  • memcached_exporter
  • mysqld_exporter
  • statsd_exporter

這裡只列官網中列出來的,而實際上還有更多第三方的 exporter 能使用

我們今天也只先介紹 Prometheus & Node Exporter
明天會介紹另一個監控資料庫 InfluxDB


上一篇
Day 16 - 監測服務 - Grafana
下一篇
Day 18 - 監測服務 - InfluxDB & Telegraf
系列文
DevOps with Proxmox30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言