組件分享之后端組件——基于Golang的系統(tǒng)和服務(wù)監(jiān)控系統(tǒng)prometheus
背景
近期正在探索前端寄月、后端、系統(tǒng)端各類常用組件與工具陌凳,對其一些常見的組件進(jìn)行再次整理一下剥懒,形成標(biāo)準(zhǔn)化組件專題,后續(xù)該專題將包含各類語言中的一些常用組件合敦。歡迎大家進(jìn)行持續(xù)關(guān)注初橘。
組件基本信息
- 組件:prometheus
- 開源協(xié)議:Apache-2.0 許可證
- 官網(wǎng):prometheus.io/
內(nèi)容
本節(jié)我們分享一個基于Golang的系統(tǒng)和服務(wù)監(jiān)控系統(tǒng)prometheus。它以給定的時間間隔從配置的目標(biāo)收集指標(biāo)充岛,評估規(guī)則表達(dá)式保檐,顯示結(jié)果,并在觀察到指定條件時觸發(fā)警報崔梗。
Prometheus 與其他指標(biāo)和監(jiān)控系統(tǒng)的區(qū)別在于:
- 多維數(shù)據(jù)模型(由指標(biāo)名稱和鍵/值維度集定義的時間序列)
- PromQL夜只,一種強(qiáng)大且靈活的查詢語言,可利用此維度
- 不依賴分布式存儲蒜魄;單個服務(wù)器節(jié)點(diǎn)是自治的
- 用于時間序列收集的 HTTP拉取模型
- 通過用于批處理作業(yè)的中間網(wǎng)關(guān)支持推送時間序列
- 通過服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)
- 圖形和儀表板支持的多種模式
- 支持分層和水平聯(lián)合
日常使用可以使用下述安裝方式:
1扔亥、docker安裝
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
2场躯、開發(fā)引用
go get go.buf.build/protocolbuffers/go/prometheus/prometheus
更多使用方式可以參考官方提供的README和其官網(wǎng)
本文聲明:
知識共享許可協(xié)議
本作品由 cn華少 采用 知識共享署名-非商業(yè)性使用 4.0 國際許可協(xié)議 進(jìn)行許可。