本篇內(nèi)容主要講解“prometheus的介紹及安裝方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“prometheus的介紹及安裝方法”吧!
成都創(chuàng)新互聯(lián)是一家以網(wǎng)絡技術(shù)公司,為中小企業(yè)提供網(wǎng)站維護、成都網(wǎng)站設計、網(wǎng)站建設、網(wǎng)站備案、服務器租用、主機域名、軟件開發(fā)、小程序制作等企業(yè)互聯(lián)網(wǎng)相關(guān)業(yè)務,是一家有著豐富的互聯(lián)網(wǎng)運營推廣經(jīng)驗的科技公司,有著多年的網(wǎng)站建站經(jīng)驗,致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個面向全國乃至全球的業(yè)務窗口:建站溝通電話:13518219792
Prometheus 是什么?
Prometheus是一套開源的監(jiān)控&報警&時間序列數(shù)據(jù)庫的組合,起始是由SoundCloud公司開發(fā)的。隨著發(fā)展,越來越多公司和組織接受采用Prometheus,社區(qū)也十分活躍,他們便將它獨立成開源項目,并且有公司來運作。google SRE的書內(nèi)也曾提到跟他們BorgMon監(jiān)控系統(tǒng)相似的實現(xiàn)是Prometheus?,F(xiàn)在最常見的Kubernetes容器管理系統(tǒng)中,通常會搭配Prometheus進行監(jiān)控。
Prometheus 的優(yōu)點
1. 配置靈活
使用過zabbix的同學應該都體驗過安裝時候的安裝依賴包的痛苦,而premetheus核心部分只有一個單獨的二進制文件,下載解壓安裝即可,沒有依賴的第三方庫。
2. 監(jiān)控更多多樣性
prometheus支持多種語言的的客戶端,我們通過客戶端方便對核心業(yè)務進行埋點,比如下單,添加購物車等流程。
而且prometheus已經(jīng)有非常多的系統(tǒng)集成:比如
應用層面的監(jiān)控:nginx,haproxy,MySQL ,docker等
系統(tǒng)層面如:SNMP協(xié)議監(jiān)控,主機監(jiān)控,進程監(jiān)控
容器云監(jiān)控:docker,k8s openstack私有云
3. 非常高效的存儲
平均一個采樣數(shù)據(jù)占 ~3.5 bytes左右,320萬的時間序列,每30秒采樣,保持60天,消耗磁盤大概228G。
prometheus的架構(gòu)
對照圖中的每一部分進行介紹:
prometheus server
主要負責數(shù)據(jù)的采集和存儲,提供PromQL查詢語言支持
Retrieval:采樣模塊,prometheus的服務器在哪里拉取數(shù)據(jù),檢索拉取到的數(shù)據(jù)分發(fā)給 TSDB進行存儲
TSDB:存儲模塊默認本地存儲為TSDB
HTTP server : 提供http接口查詢和面板,默認端口為9090
short-lived jobs:
存在時間不足以被刪除的短暫或批量業(yè)務,無法通過pull的方式拉取,需要使用push的方式,與pushgeteway結(jié)合使用
Service Discovery:
服務發(fā)現(xiàn),prometheus支持多種服務發(fā)現(xiàn)機制:文件,DNS,k8s,openstack,等,基于服務發(fā)現(xiàn)的過程,通過第三方接口,prometheus查詢到需要監(jiān)控的target列表,然后輪詢這些target獲取監(jiān)控數(shù)據(jù)
客戶端SDK
官方提供的客戶端類庫有g(shù)o,java,python,ruby
pushgateway
支持臨時性的job主動推送指標的中間網(wǎng)關(guān),prometheus默認通過pull方式從exporters拉取,但有些情況我們是不允許promethes與exporters直接進行通信的,這時候我們可以使用pushgateway由客戶端主動push數(shù)據(jù)到pushgateway,在由prometheus拉取。很多時候我們需要自定義一些組件來采集
proDash
使用rails開發(fā)的dashboard,用于可視化指標數(shù)據(jù)
exporters
支持其他數(shù)據(jù)源的指標導入到prometheus,支持數(shù)據(jù)庫,硬件,消息中間件,存儲系統(tǒng),http服務器,jmx等
負責收集目標對象的性能數(shù)據(jù),并通過http接口供prometheus server獲取
只要符合接口格式,就可以被采集
alertmanager
實驗性組件,用來進行報警
prometheus_cli
命令行工具
prometheus的工作流程
prometheus server 定期從配置好的jobs或者exporters中拉metrics.或者接受來自pushgateway發(fā)過來的metrics,或者從其他的prometheus server中拉取metrics
prometheus server 在本地存儲收集到的metrics,并運行已經(jīng)定義好的arlt.rules,記錄新的時間序列或者向alertmanager推送報警
Alertmanager根據(jù)配置文件,對接受的警報進行處理,發(fā)出告警
在圖形界面中,可視化采集數(shù)據(jù),可以使用別人寫好的grafana模板。
prometheus 部署
下載地址:https://github.com/prometheus/prometheus/releases/
[root@zmedu-17 ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz
[root@zmedu-17 ~]# mv prometheus-2.7.2.linux-amd64 /usr/local/prometheus
[root@zmedu-17 ~]# cd /usr/local/prometheus/
[root@zmedu-17 prometheus]# pwd
[root@zmedu-17 prometheus]# ls
console_libraries NOTICE promtool
consoles prometheus
LICENSE prometheus.yml
[root@zmedu-17 prometheus]# ./prometheus --version
prometheus, version 2.7.2 (branch: HEAD, revision: 82f98c825a1437c0a24056eb4dc986d9a3fc7fae)
build user: root@ab86c672c33a
build date: 20190302-14:57:04
go version: go1.11.5
[root@zmedu-17 prometheus]#
[root@zmedu-17 prometheus]# ./prometheus & #后臺啟動
[1] 66474
通過網(wǎng)址訪問
到此,相信大家對“prometheus的介紹及安裝方法”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!