中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

10年積累的成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有邱縣免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

基于Prometheus的數(shù)據(jù)庫監(jiān)控

傳統(tǒng)監(jiān)控系統(tǒng)面臨的問題

傳統(tǒng)監(jiān)控系統(tǒng),會面臨哪些問題?
以zabbix為例
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
初次使用需要配置大量管理功能,隨著服務器和業(yè)務的增長會發(fā)現(xiàn)zabbix,這種傳統(tǒng)監(jiān)控面臨很多問題

  1. DB性能瓶頸,由于zabbix會將采集到的性能指標都存儲到數(shù)據(jù)庫中,當服務器數(shù)量和業(yè)務增長很快時數(shù)據(jù)庫性能首先成為瓶頸。

  2. 多套部署,管理成本高,當數(shù)據(jù)庫性能成為瓶頸時首先想到的辦法可能時分多套zabbix部署,但是又會帶來管理很維護成本很高的問題。

  3. 易用性差,zabbix的配置和管理非常復雜,很難精通。

  4. 郵件風暴,郵件配置各種規(guī)則相當復雜,一不小心可能就容易造成郵件風暴的問題。

隨著容器技術的發(fā)展,傳統(tǒng)監(jiān)控系統(tǒng)面臨更多問題

  1. 容器如何監(jiān)控?

  2. 微服務如何監(jiān)控?

  3. 集群性能如何進行分析計算?

  4. 如何管理agent端大量配置腳本?

我們可以看到傳統(tǒng)監(jiān)控系統(tǒng)無法滿足,當前IT環(huán)境下的監(jiān)控需求

Prometheus的前身:Borgmon

2015年Google發(fā)表了一篇論文《Google使用Borg進行大規(guī)模集群的管理》

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

這篇論文也描述了Google集群的規(guī)模和面臨的挑戰(zhàn)

  1. 單集群上萬服務器

  2. 幾千個不同的應用

  3. 幾十萬個以上的jobs,而且動態(tài)增加或者減少

  4. 每個數(shù)據(jù)中心數(shù)百個集群

基于這樣一個規(guī)模,Google的監(jiān)控系統(tǒng)也面臨巨大挑戰(zhàn),而Borg中的Borgmon監(jiān)控系統(tǒng)就是為了應對這些挑戰(zhàn)而生。

Borgmon介紹

那么我們來看一下Google如何做大規(guī)模集群的監(jiān)控系統(tǒng)

應用埋點

首先,Borg集群中運行的所有應用都需要暴露出特定的URL,http://<app>:80/varz 通過這個URL我們就可以獲取到應用所暴露的全部監(jiān)控指標。

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

服務發(fā)現(xiàn)

然而這樣的應用有數(shù)千萬個,而且可能會動態(tài)增加或者減少,Borgmon中如何發(fā)現(xiàn)這些應用呢?Borg中的應用啟動時會自動注冊到Borg內(nèi)部的域名服務器BNS中,Borgmon通過讀取BNS中應用列表信息,收集到應用列表,從而發(fā)現(xiàn)有哪些應用服務需要監(jiān)控。當獲取到應用列表后,就會將應用的全部監(jiān)控變量值拉取到Borgmon系統(tǒng)中。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

指標采集與堆疊

當監(jiān)控指標收集到Borgmon中,就可以進行展現(xiàn)或者提供給告警使用,另外由于一個集群實在是太過龐大了,一個Borgmon可能無法滿足整個集群的監(jiān)控采集和展現(xiàn)需求,所以一般會在一些復雜的環(huán)境下,一個數(shù)據(jù)中心可能部署多個Borgmon,分為數(shù)據(jù)收集層和匯總層,數(shù)據(jù)收集層會有多個Borgmon專門用來到應用中收集數(shù)據(jù),匯總層Borgmon則從數(shù)據(jù)收集層Borgmon中獲取數(shù)據(jù)。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

指標數(shù)據(jù)存儲

Borgmon收集到了性能指標數(shù)據(jù)后,會把所有的數(shù)據(jù)存儲在內(nèi)存數(shù)據(jù)庫里,定時checkpoint到磁盤上,并且會周期性的打包到外部的系統(tǒng)TSDB。通常情況下,數(shù)據(jù)中心和全局Borgmon中一般至少會存放12小時左右的數(shù)據(jù)量,以便渲染圖表使用。每個數(shù)據(jù)點大概占用24字節(jié)的內(nèi)存,所以存放100萬個time-series,每個time-series每分鐘一個數(shù)據(jù)點,同時保存12小時數(shù)據(jù),僅需17GB內(nèi)存。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

指標

指標的查詢

Borgmon中通過標簽的方式查詢指標,基于標簽過濾我們可以查詢到某個應用的具體指標,也可以查詢更高維度的信息
基于標簽過濾信息,比如我們基于一組過濾信息查詢到host0:80這個app的http_requests
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
我們也可以查詢到整個美國西部,job為webserver的http_requests
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
那么這個時候拿到的就是所有符合條件的實例的列表
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

規(guī)則計算

在數(shù)據(jù)收集和存儲的基礎之上,我們可以通過規(guī)則計算得到進一步的數(shù)據(jù)。
比如,我們想在web server報錯超過一定比例的時候報警,或者說在非200返回碼,占總請求的比例超過某個值的時候報警。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

Prometheus

介紹

Borgmon是Google內(nèi)部的系統(tǒng),那么在Google之外如何使用它呢?這里就提到我們所描述的Prometheus這套監(jiān)控系統(tǒng)。Google內(nèi)部SRE工程師的著作《Google SRE》這本書中,直接就提到了Prometheus相當于就是開源版本的Borgmon。目前Prometheus在開源社區(qū)也是相當火爆,由Google發(fā)起Linux基金會旗下的原生云基金會(CNCF)就將Prometheus納入其下第二大開源項目(第一項目為Kubernetes,為Borg的開源版本)。

架構

Prometheus整體架構和Borgmon類似,組件如下,有些組件是可選的:

  • Prometheus主服務器,用來收集和存儲時間序列數(shù)據(jù)

  • 應用程序client代碼庫

  • 短時jobs的push gateway

  • 特殊用途的exporter(包括HAProxy、StatsD、Ganglia等)

  • 用于報警的alertmanager

  • 命令行工具查詢

  • 另外Grafana是作為Prometheus Dashboard展現(xiàn)的絕佳工具

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

數(shù)據(jù)庫監(jiān)控

基于Prometheus的數(shù)據(jù)庫指標采集,我們以MySQL為例,由于MySQL沒有暴露采集性能指標的接口,我們可以單獨啟動一個mysql_exporter,通過mysql_exporter到MySQL數(shù)據(jù)庫上抓去性能指標,并暴露出性能采集接口提供給Prometheus,另外我們可以啟動node_exporter用于抓取主機的性能指標。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

部署服務端

對于服務端配置非常簡單,由于Prometheus全部基于Go語言開發(fā),而Go語言程序在安裝方面非常方便,安裝服務端程序只需要下載,解壓并運行即可。可以看到服務端常用程序也比較少,只需要包含prometheus這個主服務程序和alertmanager這個告警系統(tǒng)程序。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
服務端配置也非常簡單,常用配置包含拉取時間和具體采集方式,就我們監(jiān)控mysql數(shù)據(jù)庫來講,只需要填入mysql_exporter地址即可。
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

部署exporter端

對于mysql采集只需要配置連接信息,并啟動mysql_exporter即可
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
完成配置之后即可通過mysql_exporter采集mysql性能指標
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
然后我們在prometheus服務端也可以查詢到采集的mysql性能指標

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
基于這些采集指標和Prometheus提供的規(guī)則計算語句,我們可以實現(xiàn)一些高緯度的查詢需求,比如,increase(mysql_global_status_bytes_received{instance="$host"}[1h])
我們可以查詢MySQL每小時接受到的字節(jié)數(shù),然后我們將這個查詢放到Grafana中,就可以展現(xiàn)非常酷炫的性能圖表。

如何進行Prometheus的數(shù)據(jù)庫監(jiān)控

而目前結合Prometheus和Grafana的MySQL監(jiān)控方案已經(jīng)有開源實現(xiàn),我們很輕松可以搭建一套基于Prometheus的監(jiān)控系統(tǒng)
如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
對于告警方面我們也可以基于Prometheus豐富的查詢語句實現(xiàn)復雜告警邏輯
比如我們要對MySQL備庫進行監(jiān)控,如果復制IO線程未運行或者復制SQL線程未運行并且持續(xù)2分鐘就發(fā)送告警我們可以使用如下這條告警規(guī)則。

		# Alert: The replication IO or SQL threads are stopped.	ALERT MySQLReplicationNotRunning IF mysql_slave_status_slave_io_running == 0 OR mysql_slave_status_slave_sql_running == 0 FOR 2m LABELS { severity = "critical" } ANNOTATIONS { summary = "Slave replication is not running", description = "Slave replication (IO or SQL) has been down for more than 2 minutes.", }

在比如,我們要監(jiān)控MySQL備庫延遲大于30秒并且預測在未來2分鐘之后大于0秒持續(xù)1分鐘,則告警

		# Alert: The replicaiton lag is non-zero and it predicted to not recover within	
		#        2 minutes.  This allows for a small amount of replication lag.	ALERT MySQLReplicationLag
		IF	 (mysql_slave_lag_seconds > 30) AND on (instance) (predict_linear(mysql_slave_lag_seconds[5m], 60*2) > 0) FOR 1m LABELS { severity = "critical" } ANNOTATIONS { summary = "MySQL slave replication is lagging", description = "The mysql slave replication has fallen behind and is not recovering", }

當然在數(shù)據(jù)庫方面不只是有MySQL的監(jiān)控實現(xiàn),目前業(yè)界也有很多其他開源實現(xiàn),所以在數(shù)據(jù)庫監(jiān)控方面也能實現(xiàn)開箱即用的效果

看完上述內(nèi)容,你們掌握如何進行Prometheus的數(shù)據(jù)庫監(jiān)控的方法了嗎?如果還想學到更多技能或想了解更多相關內(nèi)容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

本文標題:如何進行Prometheus的數(shù)據(jù)庫監(jiān)控
瀏覽地址:http://www.2m8n56k.cn/article38/pccepp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管做網(wǎng)站網(wǎng)站設計公司網(wǎng)站內(nèi)鏈網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
主站蜘蛛池模板: a欧美在线| 一区国严二区亚洲三区 | 亚洲美女视频一区二区三区 | 日韩免费专区 | 成人在线视频免费 | 国产片一级 | 亚洲精品国产一区二区三 | 日韩一级片视频 | 美国毛片基地a级e片 | 午夜精品同性女女 | 看黄网址 | 免费一级特黄欧美大片勹久久网 | 日本特级黄毛片毛片视频 | 亚洲欧美日韩成人一区在线 | 国产精品久久久久久久久免费观看 | 色老头老太做爰视频在线观看 | 国产一区二区三区精品久久呦 | 亚洲欧美精品一区 | 亚洲国产小视频 | 国产成人精品一区 | 日本苍井一级毛片 | 国产不卡在线播放 | 亚洲国产欧美日韩 | 久久综合精品国产一区二区三区无 | 久久久久爽亚洲精品 | 亚洲图片在线视频 | 黄色美女视频免费看 | 欧美一级高清在线观看 | 久久久久久久久久久视频国内精品视频 | 亚洲干综合 | 最新国产区 | 欧美精品 日韩 | 欧美日韩在线视频 | 成人深夜福利在线播放不卡 | 中文字幕 亚洲精品 第1页 | 成年女人免费观看视频 | 欧美一级别 | 精品一区二区影院在线 | 在线精品国产三级 | 欧美一区二区三区不卡 | 免费观看亚洲视频 |