国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

我在使用Prometheus時都踩過哪些坑?

開源
Prometheus 是一個開源監控系統,它本身已經成為了云原生中指標監控的事實標準,幾乎所有 k8s 的核心組件以及其它云原生系統都以 Prometheus 的指標格式輸出自己的運行時監控信息。

 Prometheus 是一個開源監控系統,它本身已經成為了云原生中指標監控的事實標準,幾乎所有 k8s 的核心組件以及其它云原生系統都以 Prometheus 的指標格式輸出自己的運行時監控信息。我在工作中也比較深入地使用過 Prometheus,最大的感受就是它非常容易維護,突出一個簡單省心成本低。當然,這當中也免不了踩過一些坑,下面就總結一下。

[[280782]]

假如你沒有用過 Prometheus,建議先看一遍官方文檔。

接受準確性與可靠性的權衡

Prometheus 作為一個基于指標(Metric)的監控系統,在設計上就放棄了一部分數據準確性:

比如在兩次采樣的間隔中,內存用量有一個瞬時小尖峰,那么這次小尖峰我們是觀察不到的;

再比如 QPS、RT、P95、P99 這些值都只能估算,無法和日志系統一樣做到 100% 準確,下面也會講一個相關的坑。

放棄一點準確性得到的是更高的可靠性,這里的可靠性體現為架構簡單、數據簡單、運維簡單。假如你維護過 ELK 或其它日志架構的話,就會發現相比于指標,日志系統想要穩定地跑下去需要付出幾十倍的機器成本與人力成本。既然是權衡,那就沒有好或不好,只有適合不適合,我推薦在應用 Prometheus 之初就要先考慮清楚這個問題,并且將這個權衡明確地告訴使用方。

首先做好自監控

不知道你有沒有考慮過一個問題,其它系統都用 Prometheus 監控起來了,報警規則也設置好了,那 Prometheus 本身由誰來監控?

答案是”另一個監控系統”,而這個監控系統可以是另一個 Prometheus。按照官方的 quickstart 或 helm 部署的 Prometheus 單實例自己監控自己的,我們當然不能指望一個系統掛掉之后自己發現自己掛了。

因此我強烈建議在上生產環境之前,一定要確保至少有兩個獨立的 Prometheus 實例互相做交叉監控。交叉監控的配置也很簡單,每臺 Prometheus 都拉取其余所有 Prometheus 的指標即可。

還有一個點是警報系統(Alertmanager),我們再考慮一下警報系統掛掉的情況:這時候 Prometheus 可以監控到警報系統掛了,但是因為警報掛掉了,所以警報自然就發不出來,這也是應用 Prometheus 之前必須搞定的問題。這個問題可以通過給警報系統做 HA 來應對。除此之外還有一個經典的兜底措施叫做 “Dead man’s switch”: 定義一條永遠會觸發的告警,不斷通知,假如哪天這條通知停了,那么說明報警鏈路出問題了。

不要使用 NFS 做存儲

如題,Prometheus 維護者也在 issue 中表示過不支持 NFS。這點我們有血淚教訓(我們曾經有一臺 Prometheus 存儲文件發生損壞丟失了歷史數據)。

盡早干掉維度過高的指標

根據我們的經驗,Prometheus 里有 50% 以上的存儲空間和 80% 以上的計算資源(CPU、內存)都是被那么兩三個維度超高的指標用掉的。而且這類維度超高的指標由于數據量很大,稍微查得野一點就會 OOM 搞死 Prometheus 實例。

首先要明確這類指標是對 Prometheus 的濫用,類似需求完全應該放到日志流或數倉里去算。但是指標的接入方關注的往往是業務上夠不夠方便,假如足夠方便的話什么都可以往 label 里塞。這就需要我們防患于未然,一個有效的辦法是用警報規則找出維度過高的壞指標,然后在 Scrape 配置里 Drop 掉導致維度過高的 label。

警報規則的例子:

  1. # 統計每個指標的時間序列數,超出 10000 的報警 
  2. count by (__name__)({__name__=~".+"}) > 10000 

“壞指標”報警出來之后,就可以用 metric_relabel_config 的 drop 操作刪掉有問題的 label(比如 userId、email 這些一看就是問題戶),這里的配置方式可以查閱文檔。

對了,這條的關鍵詞是盡早,最好就是部署完就搞上這條規則,否則等哪天 Prometheus 容量滿了再去找業務方說要刪 label,那業務方可能就要忍不住扇你了……

Rate 類函數 + Recording Rule 的坑

可能你已經知道了 PromQL 里要先 rate() 再 sum(),不能 sum() 完再 rate()(不知道也沒事,馬上講)。但當 rate() 已經同類型的函數如 increase() 和 recording rule 碰到一起時,可能就會不小心掉到坑里去。

當時,我們已經有了一個維度很高的指標(只能繼續維護了,因為沒有盡早干掉),為了讓大家查詢得更快一點,我們設計了一個 Recording Rule,用 sum() 來去掉維度過高的 bad_label,得到一個新指標。那么只要不涉及到 bad_label,大家就可以用新指標進行查詢,Recording Rule 如下:

  1. sum(old_metric) without (bad_label) 

用了一段時候后,大家發現 new_metric 做 rate() 得到的 QPS 趨勢圖里經常有奇怪的尖峰,但 old_metric 就不會出現。這時我們恍然大悟:繞了個彎踩進了 rate() 的坑里。

這背后與 rate() 的實現方式有關,rate() 在設計上假定對應的指標是一個 Counter,也就是只有 incr(增加) 和 reset(歸0) 兩種行為。而做了 sum() 或其他聚合之后,得到的就不再是一個 Counter 了,舉個例子,比如 sum() 的計算對象中有一個歸0了,那整體的和會下降,而不是歸零,這會影響 rate() 中判斷 reset(歸0) 的邏輯,從而導致錯誤的結果。寫 PromQL 時這個坑容易避免,但碰到 Recording Rule 就不那么容易了,因為不去看配置的話大家也想不到 new_metric 是怎么來的。

要完全規避這個坑,可以遵守一個原則:Recording Rule 一步到位,直接算出需要的值,避免算出一個中間結果再拿去做聚合。

警報和歷史趨勢圖未必 Match

最近半年常常被問兩個問題:

  • 我的歷史趨勢圖看上去超過水位線了,警報為什么沒報?
  • 我的歷史趨勢圖看上去挺正常的,警報為什么報了?

這其中有一個原因是:趨勢圖上每個采樣點的采樣時間和警報規則每次的計算時間不是嚴格一致的。當時間區間拉得比較大的時候,采樣點非常稀疏,不如警報計算的間隔來得密集,這個現象尤為明顯,比如時序圖采樣了 0秒,60秒,120秒三個點。而警報在15秒,30秒,45秒連續計算出了異常,那在圖上就看不出來。另外,經過越多的聚合以及函數操作,不同時間點的數據差異會來得越明顯,有時確實容易混淆。

這個其實不是問題,碰到時將趨勢圖的采樣間隔拉到最小,仔細比對一下,就能驗證警報的準確性。而對于聚合很復雜的警報,可以先寫一條 Recording Rule, 再針對 Recording Rule 產生的新指標來建警報。這種范式也能幫助我們更高效地去建分級警報(超過不同閾值對應不同的緊急程度)

group_interval 會影響 resolved 通知

Alertmanager 里有一個叫 group_interval 的配置,用于控制同一個 group 內的警報最快多久通知一次。這里有一個問題是 firing(激活) 和 resolved(已消除) 的警報通知是共享同一個 group 的。也就是說,假設我們的 group_interval 是默認的 5 分鐘,那么一條警報激活十幾秒后立馬就消除了,它的消除通知會在報警通知的 5 分鐘之后才到,因為在發完報警通知之后,這個 Group 需要等待 5 分鐘的 group_interval 才能進行下一次通知。

這個設計讓”警報消除就立馬發送消除通知”變得幾乎不可能,因為假如把 group_interval 變得很小的話,警報通知就會過于頻繁,而調大的話,就會拖累到消除通知。

這個問題修改一點源碼即可解決,不過無傷大雅,不修也完全沒問題。

最后一條:不要忘記因何而來

最后一條撒點雞湯:監控的核心目標還是護航業務穩定,保障業務的快速迭代,永遠不要忘記因何而來。

曾經有一端時間,我們追求”監控的覆蓋率”,所有系統所有層面,一定要有指標,而且具體信息 label 分得越細越好,最后搞出幾千個監控項,不僅搞得眼花繚亂還讓 Prometheus 變慢了。

還有一段時間,我們追求”警報的覆蓋率”,事無巨細必有要有警報,人人有責全體收警報(有些警報會發送給幾十個人)。最后當然你也能預想到了,告警風暴讓大家都對警報疲勞了。

這些事情乍看起來都是在努力工作,但其實一開始的方向就錯了,監控的目標絕對不是為了達到 xxx 個指標,xxx 條警報規則,這些東西有什么意義?

依我看,負責監控的開發就算不是 SRE 也要有 SRE 的心態和視野,不要為監控系統的功能或覆蓋面負責(這樣很可讓導致開發在監控里堆砌功能和內容,變得越來越臃腫越來越不可靠),而要為整個業務的穩定性負責,同時站在穩定性的投入產出比角度去考慮每件事情的性質和意義,不要忘記我們因何而來。

責任編輯:武曉燕 來源: aleiwu
相關推薦

2024-05-06 00:00:00

緩存高并發數據

2017-07-17 15:46:20

Oracle并行機制

2025-11-06 02:55:00

2022-04-26 21:49:55

Spring事務數據庫

2024-04-01 08:05:27

Go開發Java

2025-04-14 09:31:03

2015-03-24 16:29:55

默認線程池java

2025-10-16 08:10:59

2025-06-03 06:30:05

2025-02-06 07:45:44

2025-05-27 08:45:00

2018-01-10 13:40:03

數據庫MySQL表設計

2025-11-27 02:00:15

2025-04-03 12:30:00

C 語言隱式類型轉換代碼

2023-12-14 17:34:22

Kubernetes集群K8s

2015-12-14 13:54:51

百度運維大數據

2025-10-15 02:45:00

系統分表接口

2025-05-23 08:00:00

VLAN虛擬局域網網絡

2025-04-29 10:17:42

2018-04-08 22:16:21

點贊
收藏

51CTO技術棧公眾號

一级毛片在线| 欧洲一区精品| 成人毛片老司机大片| 91视频免费进入| 亚洲青青一区| 在线观看日韩视频| 二区三区不卡| 亚洲欧洲在线视频| 国产经典三级在线| 欧美无乱码久久久免费午夜一区| 日本三级电影网| 中文字幕一区二区在线播放| 久久国产日本精品| 日韩一区二区精品在线观看| 国产精品久久久久久久久久直播 | 欧美性一区二区三区| 欧美aa免费在线| 欧美日韩视频在线观看一区二区三区| 超碰在线免费看| 亚洲自拍偷拍欧美| 美丽的小蜜桃4春潮| 国产精品久久久久久久久免费相片 | 国产精品88888| 中文精品一区二区三区| 日韩精品三区四区| 亚洲精品在线视频观看| 精品夜夜嗨av一区二区三区| 日韩中文字幕亚洲精品欧美| 成人免费视频一区| www日韩在线观看| 亚洲精品久久嫩草网站秘色| 亚洲超碰在线| 欧美人动与zoxxxx乱| 国产最新视频在线| 精品久久久久久久久国产字幕| 欧美黑人xxxⅹ高潮交| 已婚少妇美妙人妻系列| 欧美精品久久久久a| 欧美在线性爱视频 | 99精品一区二区三区| 国产一区二区三区四区hd| 国产区美女在线| 国产精品久久久久aaaa| 一本一道波多野毛片中文在线| 亚洲卡通欧美制服中文| 在线观看中文字幕| 欧美一区二区三区影视| 精品成人av| 国产成人在线一区| 亚洲美女一区| av片中文字幕| 欧美影院精品一区| 日韩一级特黄| 91精品免费视频| 国产一区二区成人久久免费影院| mm131国产精品| 欧美一区二区视频网站| 欧美在线在线| 精品网站在线看| 99久久精品国产网站| 作爱视频免费观看视频在线播放激情网| 欧美日韩在线精品一区二区三区激情| 午夜av不卡| 国产精品久久久久久搜索| 日韩精品久久理论片| 高清一区在线观看| 这里只有精品99re| 久久综合五月婷婷| 黄色免费高清视频| 欧美日韩午夜剧场| 蜜桃精品视频| 色综合影院在线观看| 亚洲一区二区三区在线看| 成人性生活视频| 成人免费91在线看| 国产精品私人自拍| 黄色小说在线播放| 成人黄色免费片| 99国产精品视频免费观看| 秋霞影院午夜丰满少妇在线视频| 久久久久久91| 久久99深爱久久99精品| 理论片在线观看理伦片| 久久色在线播放| 久久福利毛片| 福利资源在线久| 久久中文字幕在线| 日韩精彩视频在线观看| 人与动性xxxxx免费视频| 日韩黄色av网站| 欧美福利网址| 91精品国产高久久久久久五月天| 亚洲免费视频网站| 欧美激情一区| 色老板视频在线观看| 久久99热精品| 国产成人一区二区精品非洲| 日本在线免费| 亚洲精品欧美一区二区三区| 成人免费视频国产在线观看| 外国成人免费视频| 国产剧情日韩欧美| 久久亚洲一区二区三区四区| 好看的中文字幕在线播放| 99久久精品免费看国产四区| 亚洲美女淫视频| 538任你躁精品视频网免费| 亚洲精品一区二区三| 欧美性受xxxx黑人xyx性爽| 成人高清电影网站| 2018av男人天堂| 欧美猛交ⅹxxx乱大交视频| 美女精品自拍一二三四| 三区四区电影在线观看| 国产精品一区二区性色av | 国产一区二区免费电影| 一区二区三区四区蜜桃 | 日日摸天天爽天天爽视频| 亚洲精品99久久久久| 美女91精品| 最新av在线播放| 超碰国产精品久久国产精品99| 亚洲一区二区三区四区中文字幕| 老牛影视av一区二区在线观看| 波多野结衣家庭教师在线| 亚洲精品美女久久久| 免费成人在线观看| 涩涩视频在线| 成年丰满熟妇午夜免费视频| av在线成人| 亚洲成人免费av| 成人激情自拍| 五月天亚洲视频| 久久久久在线观看| 国产精品超碰97尤物18| 日韩免费精品| jizzjizzjizz亚洲日本| 欧美中文在线观看| 亚洲国产精品久久久久秋霞影院| 伊人成综合网伊人222| 五月天最新网址| 国产欧亚日韩视频| 欧洲精品一区二区三区在线观看| 日韩毛片视频| 中文在线播放一区二区| 国产精品va无码一区二区| 欧美日本精品在线| 综合激情成人伊人| 国产国产精品| 午夜伦全在线观看| 亚洲一区二区三区加勒比| 亚洲欧美精品在线| 国产亚洲视频系列| 九热爱视频精品视频| 福利在线午夜| 在线电影看在线一区二区三区| 国产亚洲视频在线| 国产日韩欧美精品电影三级在线| 一区二区三区国产好| 粉嫩tv在线播放| 国产精品久久久久久久久久直播 | 国产精品色呦呦| 久久av资源| 成年人视频在线观看免费| 色婷婷精品国产一区二区三区| 亚洲欧美精品中文字幕在线| 亚洲国产精品ⅴa在线观看| 香蕉国产精品| 视频在线观看成人| 亚洲成av人影片在线观看| 国产综合在线观看视频| 91精品国产综合久久精品性色| 日韩精品久久久久久| 96视频在线观看欧美| 蜜桃tv在线播放| 亚洲v国产v| 久久国产精品久久久久久| 五月天激情小说综合| 蜜臀久久99精品久久久久宅男| 91精品尤物| av在线麻豆| 国产黄色av免费看| 久久综合中文色婷婷| 欧美国产日韩一区二区| 欧美日韩激情一区二区| 91在线视频官网| 亚洲国产成人久久综合| 先锋资源久久| 亚洲天堂电影| 五十度飞在线播放| 亚洲蜜桃av| 欧美在线一区二区视频| 日韩精品自拍偷拍| 亚洲欧美一区二区在线观看| 99热免费精品| 99精品在免费线中文字幕网站一区| 亚洲精品天堂成人片av在线播放| 天天槽夜夜槽| 欧洲一区二区在线观看| 欧美专区福利在线|