天天看點

你的監控夠進階嗎?

複雜的架構、更快部署的壓力以及對最佳性能的需求給監控團隊帶來了更大的壓力。是以,越來越多的人正在尋求實施更先進的監控技術。在本文中,我們以 Postgres 為例來區分基本和進階監控。

基本監控與進階監控

基本監控是紅燈/綠燈監控,例如你的系統是正常還是當機?你的系統是否出現故障?

與進階監控解決的問題(例如你是否滿足服務品質保證)相比,基本監控(例如了解你的系統是否出現故障)雖然問題簡單,但是它的重要性不亞于進階監控。基本監控應優先考慮實際産生價值的地方----通常是使用者接近的系統和服務。

如果你已經應用了基本監控,但還不了解你的系統,則需要進階監控技術。

與紅燈/綠燈基本監控不同,進階監控主要負責觀察系統以了解其行為是否正常。這是一個容易問,但很難回答的問題。事實上,回答這個問題通常是一個很長的過程。它需要圍繞你認為系統應該如何運作,并觀察其實際運作方式,使之不斷向期望的方式靠近。一旦達到這一點,進階監控通常會自動化觀察和診斷。

基本監控與進階監控:Postgres

為了更好地說明進階監控技術包括哪些,以及它們與基本監控有何不同,讓我們以 Postgres 為例。

連接配接與服務品質

如果你使用基本的監控技術來監控 Postgres,那麼你通常監控以下内容:

  • Postgres 正在運作嗎?
  • 系統空間不足?
  • 系統服務可以查詢嗎?
  • 簡單查詢是否傳回預期結果?

這些是容易的簡單的--開/關、健康/不健康、真/假--的問題。當你開始應用進階監控技術時,事情就不那麼簡單了,而且更加模糊了。你現在要問的是你期望它的行為方式。例如,Postgres 的工作是接收連接配接請求并回答應用程式的問題,通過進階監控,你可以觀察到,監控以下内容:

  • 正在運作或應用程式詢問的所有查詢是什麼?
  • 查詢的延遲配置檔案是什麼,它是否已更改?
  • 我們預計什麼時候會耗盡空間?
  • 服務飽和度如何?

進階監控的第一步,就是能夠觀察正在發生的事情并将其與你期望發生的事情進行比較。例如,你可能希望 Postgres 上運作的工作負載看起來像某種方式,而你的監控系統告訴你工作負載實際上并不像你期望的那樣。這不一定是壞事,這隻是意味着某些事情可能需要你注意。如果你僅應用基本監控并且隻是檢查工作負載連接配接是否打開/關閉,那麼這可能不足以診斷問題。 Postgres 的基本監控是與功能有關的,而進階監控則會涉及服務品質、性能和行為。

綜合分析與實時分析

基本監控往往是綜合分析的。然而,僅僅依靠綜合工作并不能提供真實、準确的見解。

進階監控有時包括綜合分析,但它往往是實時觀察系統的行為——這意味着你實際上是在觀察系統中發生的真實事件并對其進行測量。例如,當使用者登入應用程式時,可能會運作多個查詢。為確定滿足性能要求,使用進階監控的工程師将觀察以下測量值:

  • 每個查詢需要多長時間?
  • 結果集的大小是多少?
  • 是否有查詢錯誤?

雖然綜合分析具有價值,但最先進的監控依賴于對實際工作的觀察來指導分析和決策。

瞬時觀察與曆史分析

雖然知道 Postgres 上是否有剩餘磁盤空間可能會有所幫助,但擁有磁盤空間使用的曆史記錄測量值更有價值。這為你提供了見解,例如磁盤空間消耗的速度。

例如, Postgres 的并發連接配接數,經典問題之一是知道你是否有足夠的連接配接。使用基本監控,你并不能準确回答。但是,當你應用進階監控時,你可以随着時間的推移每幾秒鐘記錄一下你有多少并發使用者,讓你更好地了解空間不足的情況并根據需要進行實時動态調整。

通過這些曆史資料,你可以識别趨勢并了解系統的行為,以便你可以準确地規劃容量:

  • 你的使用者連接配接數量是否接近極限?
  • 你的使用者連接配接數量是否在穩步增長?

如果兩周前你有 100 個使用者,上周有 110 個,本周有 120 個,那麼下周可能會更大。曆史資料可讓你了解這些趨勢,進而準确規劃未來的容量。

應用進階監控的回報

獲得有關你的系統的驚人見解

應用進階監控的一些最大優勢并非來自實際擁有進階監控,而是讓你進入進階監控的旅程。

工程師對系統應該如何工作有期望,但通常并不準确。并不是期望不好,相反,你可能假設有人在系統中做了某事或某事以某種方式連接配接,但事實證明并非如此。将你的期望與一組測量值對比通常令人大開眼界。你了解了一些關于你的系統的東西,或者你了解了它的破壞性,這兩種學習都是有價值的。事實上,學習有關系統的新知識通常比找到損壞的部分更有價值。

提高效率并加快修複速度

應用進階監控技術通常可以幫助你診斷系統中的低效率問題,無論是頁面加載緩慢的低效問題,還是物流方面的低效問題,舉個例子。無論是什麼,你都将深入了解你的系統,了解你的系統中挑戰你的期望的事物,并注意到你以前從未遇到過的問題。你還能夠及時修複問題,甚至從一開始就防止它們發生。

有信心了解你的系統

系統越複雜,解決問題就越困難。當今的 IT 環境非常複雜,并且有如此多的系統元件,以至于當系統出現故障時,故障可能會出現在其他地方。進階監控使工程師有信心了解他們操作的複雜系統。這在故障排除、容量規劃和故障預測方面非常有用。如果你對系統的行為方式有深入的了解,那麼你就可以預測下一次故障将在何處或何時發生。

如果你沒有适當的監控,那麼你将所有時間都花在救火上,這最終會讓你的員工筋疲力盡,并脫離産品路線圖。進階監控不會消除所有救火工作,但你的問題将不會變得那麼緊急,并且你在解決它們時會更有信心。

監控是一段旅程

有些組織已經意識到如果他們實施更先進的監控技術,他們可以獲得的好處,但許多組織并沒有改變他們的流程和工具。關鍵是要記住它不必在一夜之間發生。轉向更進階的監控是一段旅程,你可以設定節奏。當你開始那段旅程時,你将立即獲得意想不到的收益。

原文連結:

https://thenewstack.io/applying-basic-vs-advanced-monitoring-techniques/

繼續閱讀