日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Prometheus 系列开篇:为什么要学 Prometheus ?

發布時間:2024/3/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Prometheus 系列开篇:为什么要学 Prometheus ? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊藍色“陳樹義”關注我喲

第一次接觸 Prometheus 是在去年,我工作了六年的時間點上。但現在看來,工作六年才知道 Prometheus 是有點晚了,因為 Prometheus 確實比較重要。個人感覺 Prometheus 在你 3-5 年之時就應該了解,并且應該掌握關于它的一整套知識,最終你應該掌握:如何從零去搭建一套業務監控系統!

說到 Prometheus,大多數人可能不太清楚它是做什么的。即使知道它是做監控的,也不明白為什么要做監控。這其中涉及到許多原因,我想主要有下面兩點原因。

第一,全局觀不足。 許多開發同學長期在一線開發,局限于自己開發的需求上,對整個系統不了解,對整個系統業務不了解。只有當你做了 leader 之后,你才會更關注系統的整體情況。而如果你當了 leader,你會發現業務監控系統是多么重要!(畢竟,你也不想半夜被電話吵醒,睡眼惺忪地打開電腦解決問題~)

第二,工作經驗欠缺。 剛剛工作一兩年的同學,對于 Java 整個知識體系還學得不夠全面。而 Prometheus 的監控知識更多屬于進階的知識,自然會被排到更后面的位置。

除了前面說到的這兩個主要原因,其實也還有一些其他原因,例如:公司技術體系問題等等。

言歸正傳,那 Prometheus 到底是做什么的,為什么要學習 Prometheus 呢?

什么是 Prometheus?

Prometheus(普羅米修斯)是古希臘的一個神明,名字的意思是「先見之明」。從它的名字可以看出,Prometheus 是做「先見之明」的監控告警用途。維基百科簡單寫了它的作用:Prometheus is a free software application used for event monitoring and alerting(Prometheus 是用來監控、報警的免費軟件)。

Prometheus 官網則是用「From metrics to insight」(用指標洞察系統的意思)描述了 Prometheus 的用途。

看到這里我們大概知道 Prometheus 其實就是一個數據監控解決方案,它能幫你簡單快速地搭建起一套可視化的監控系統。 但這么說還是有點抽象,下面我舉幾個簡單的例子,幫助大家理解 Prometheus 究竟能做什么?

對于運維人員來說,他們需要監控機器的 CPU、內存、硬盤的使用情況,以此來保證運行在機器上的應用的穩定性。

對于研發人員來說,他們關注某個異常指標的變化情況,從而來保證業務的穩定運行。

對于產品或運營來說,他們更關心產品層面的事情,例如:某個活動參加人數的增長情況,活動積分的發放情況。

對于上面說到的這些功能,Prometheus 都能夠實現。Prometheus 能根據這些收集的數據實現告警功能。

例如:運維希望在 CPU 達到 80% 的時候給值班的運維人員發送郵件,產品希望活動積分發放數量超過 10 萬的時候發送告警郵件。這些都可以通過 Prometheus 實現。

除了數據收集、告警功能之外,Prometheus 還有很多強大的功能,例如:強大的 ProQL 查詢、許多客戶端庫等。

因為 Prometheus 功能強大、構建成本低,所以現在越來越多的公司都使用 Prometheus 作為其數據監控的解決方案。

為什么要學 Prometheus?

對于一直在一線開發的同學而言,你可能只需要把自己的需求做好、沒有 bug、順利上線,那么你的任務就完成了。但是如果你是一個 leader,那么你是對整個業務系統負責,這個業務系統出了什么問題,都是你的責任。這個時候,你需要時刻關注這個系統是否正常運行。

對于流量不是很大的系統來說,出現幾分鐘的故障可能造成不了多少損失。但是對于像淘寶、美團、字節跳動這樣的巨無霸來說,宕機 1 分鐘損失的金額可能就是幾百萬!

所以弄清楚此時此刻系統的運行是否正常?各項業務指標是否超過閾值?這些問題是每個經驗豐富的研發人員所需要關注的事情!

那么如何監控你的系統?如何得知系統目前是正常還是異常?甚至如何預知未來一段時間系統可能出問題?Prometheus 正是這么一套數據監控解決方案。它能讓你隨時掌控系統的運行狀態,快速定位出現問題的位置,快速排除故障。

只要按照 Prometheus 的方式來做,按部就班地學習和部署,我們就可以監控機器的 CPU、內存等資源的使用情況、Java 應用的運行情況以及業務各項指標的實時數據。

當然有一些公司會自己使用 Kafaka 收集監控數據,并且存儲在 Hive 中,最終通過頁面聚合數據,同樣能夠實現數據監控。但是這種解決方案需要開發人員掌握 Hive + Hadoop 等大數據框架,并且在前端展示上比較局限。

而通過 Prometheus 則可以直接部署使用,并且其與 Grafana 配套使用可以呈現出非常多樣化的圖表配置。對于中小規模的團隊來說,可以極大地減少成本,加快研發速度。

而對于個人來講,掌握 Prometheus 可以增加你當 leader 的競爭力。 畢竟如果一個研發對自己的系統運行狀況都不了解,那么他怎么做 leader,怎么帶領一個團隊往前沖呢?

總結

對于工作多年的研發人員,對自己負責的系統必須了然于胸。而要做到了然于胸,單靠一味的自信是不夠的,必須借助一套功能強大的業務監控系統。Prometheus 作為這其中的翹楚,憑借其完善的功能、海量數據支持,可以讓我們較低成本地實現業務監控。

參考資料

  • Prometheus - Monitoring system & time series database

  • 普羅米修斯 - 維基百科,自由的百科全書


推薦閱讀

  • 你總是遺憾,是因為你還沒想好,你的一生想怎么過?

  • 搞 Java 的年薪 40W 是什么水平?

  • 閃送,為何能比順豐送得更快?

  • 類似SMART原則的思考模型,到底有什么用?

  • 我是高敏感的人,你呢?

  • 矯枉必須過正

  • 為什么用Markdown,而不用Word?

  • 你解決的問題,比你寫的代碼更重要!

  • 如何做到長遠思考?

公眾號@陳樹義,用最簡單的語言,分享我的技術見解。

總結

以上是生活随笔為你收集整理的Prometheus 系列开篇:为什么要学 Prometheus ?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。