安裝普羅米修斯監(jiān)控
1 簡(jiǎn)介
promethus是基于go語(yǔ)言開(kāi)發(fā)的監(jiān)控平臺(tái)
Prometheus生態(tài)系統(tǒng)由多個(gè)組件組成吧黄,它們中的一些是可選的姆另。多數(shù)Prometheus組件是Go語(yǔ)言寫(xiě)的,這使得這些組件很容易編譯和部署惠爽。
- Prometheus Server
主要負(fù)責(zé)數(shù)據(jù)采集和存儲(chǔ)届惋,提供PromQL查詢(xún)語(yǔ)言的支持。 - 客戶(hù)端SDK
官方提供的客戶(hù)端類(lèi)庫(kù)有g(shù)o奄薇、java驳阎、scala、python馁蒂、ruby呵晚,其他還有很多第三方開(kāi)發(fā)的類(lèi)庫(kù),支持nodejs沫屡、php饵隙、erlang等。 - Push Gateway
支持臨時(shí)性Job主動(dòng)推送指標(biāo)的中間網(wǎng)關(guān)沮脖。 - Exporter
Exporter是Prometheus的一類(lèi)數(shù)據(jù)采集組件的總稱(chēng)金矛。它負(fù)責(zé)從目標(biāo)處搜集數(shù)據(jù)芯急,并將其轉(zhuǎn)化為Prometheus支持的格式。與傳統(tǒng)的數(shù)據(jù)采集組件不同的是驶俊,它并不向中央服務(wù)器發(fā)送數(shù)據(jù)娶耍,而是等待中央服務(wù)器主動(dòng)前來(lái)抓取。Prometheus提供多種類(lèi)型的Exporter用于采集各種不同服務(wù)的運(yùn)行狀態(tài)饼酿。目前支持的有數(shù)據(jù)庫(kù)榕酒、硬件、消息中間件故俐、存儲(chǔ)系統(tǒng)想鹰、HTTP服務(wù)器、JMX等药版。 - alertmanager
警告管理器辑舷,用來(lái)進(jìn)行報(bào)警。
PS
- Prometheus 從根本上所有的存儲(chǔ)都是按時(shí)間序列去實(shí)現(xiàn)的刚陡,相同的 metrics(指標(biāo)名稱(chēng)) 和 label(一個(gè)或多個(gè)標(biāo)簽) 組成一條時(shí)間序列惩妇,不同的label表示不同的時(shí)間序列。
- Prometheus 的四種數(shù)據(jù)類(lèi)型
- Counter 用于累計(jì)值筐乳,例如 記錄 請(qǐng)求次數(shù)、任務(wù)完成數(shù)乔妈、錯(cuò)誤發(fā)生次數(shù)蝙云。一直增加,不會(huì)減少路召。重啟進(jìn)程后勃刨,會(huì)被重置。
- Gauge 常規(guī)數(shù)值股淡,例如 溫度變化身隐、內(nèi)存使用變化∥椋可變大贾铝,可變小。重啟進(jìn)程后埠帕,會(huì)被重置
- Histogram 可以理解為柱狀圖的意思垢揩,常用于跟蹤事件發(fā)生的規(guī)模,例如:請(qǐng)求耗時(shí)敛瓷、響應(yīng)大小叁巨。它特別之處是可以對(duì)記錄的內(nèi)容進(jìn)行分組,提供 count 和 sum 全部值的功能呐籽。
- Summary和Histogram十分相似锋勺,常用于跟蹤事件發(fā)生的規(guī)模蚀瘸,例如:請(qǐng)求耗時(shí)、響應(yīng)大小庶橱。同樣提供 count 和 sum 全部值的功能苍姜。
它提供一個(gè)quantiles的功能,可以按%比劃分跟蹤的結(jié)果悬包。例如:quantile取值0.95衙猪,表示取采樣值里面的95%數(shù)據(jù)。 - 大部分監(jiān)控項(xiàng)都可以使用Counter來(lái)實(shí)現(xiàn)布近,少部分使用Gauge和Histogram垫释,其中Histogram在服務(wù)端計(jì)算是相當(dāng)費(fèi)CPU的,所以也沒(méi)要導(dǎo)出太多Histogram數(shù)據(jù)撑瞧。
2 簡(jiǎn)單使用
$ wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.lin
ux-amd64.tar.gz
$ tar -vxf prometheus-2.14.0.linux-amd64.tar.gz -C /usr/local/
修改部分配置棵譬,對(duì)外的ip和端口或者其他服務(wù)的監(jiān)聽(tīng)端口等
$ vim prometheus.yml
試用
$ ./prometheus
打開(kāi)http://localhost:9090/targets 查看界面
安裝node_exporter
wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
tar -vxf node_exporter-0.18.1.linux-amd64.tar.gz -C /usr/local/
運(yùn)行
./node_exporter
image.png
3 使用Grafana 界面
wget [https://dl.grafana.com/oss/release/grafana_6.4.4_amd64.deb](https://dl.grafana.com/oss/release/grafana_6.4.4_amd64.deb)
sudo dpkg -i grafana_6.4.4_amd64.deb
打開(kāi)頁(yè)面3000端口
image.png
image.png
接下來(lái)是按需求新增數(shù)據(jù)源和指標(biāo)panel