Netflix開源Mantis:基於微服務的運維監控平臺
今天,我們很高興地宣佈:Mantis開源了,該平臺可幫助Netflix工程師更好地瞭解其應用程式的行為,以確保為我們的會員提供最高質量的體驗。我們認為,在Netflix面臨的挑戰並不一定是Netflix獨有的,這就是我們與廣大社群共享它的原因。
作為流式微服務生態系統,Mantis平臺為工程師提供了在不影響運營洞察力的情況下,將觀察和運維複雜分散式系統的成本降至最低的功能。工程師們在Mantis之上構建了具有成本效益的應用程式,以快速發現問題,觸發警報並進行補救,以最大程度地減少或完全避免Netflix服務的停機。
在其他系統可能需要十多分鐘才能準確處理指標的情況下,Mantis將其從數十分鐘減少到幾秒鐘,從而有效地減少了我們的平均檢測時間。這是至關重要的,因為任何數量的停機時間都是殘酷的,並且對我們的成員造成了難以置信的巨大影響-在停機期間,每一秒都很重要。例如,今天發生五分鐘的中斷相當於我們上次釋出Mantis部落格時發生的兩小時的中斷。
使發現新問題變得容易
僅使用度量和日誌的傳統方式不足以應對大規模且不斷增長的系統。指標和日誌要求您提前知道要回答什麼。另一方面,Mantis透過使我們能夠回答新問題而不必新增新的儀器,從而使我們能夠完全避開此缺點。Mantis代替了日誌或指標,而是使事件民主化,使開發人員可以根據需要從任何檢測到的應用程式中獲取事件流。透過按需消費,您可以將所有資料自由釋出到Mantis。
在解決問題方面具有成本效益
傳統上,透過釋出100%的運營資料以使您將來能夠解決新問題在規模上是令人望而卻步的。Mantis使用按需響應模型,在這些事件被訂閱之前,您無需為這些事件付費。為了進一步降低成本,Mantis為同等訂戶重新發布了相同的資料。透過這種方式,Mantis與其他系統的區別在於,它使我們能夠在事件上實現基於流的可觀察性,同時使工程師能夠使用工具來降低原本會對業務造成不利影響的成本。
背後的指導原則
以下是構建螳螂的指導原則。
- 我們應該可以訪問原始事件。將事件釋出到Mantis中的應用程式應該可以自由釋出每個事件。如果我們在此階段過早地轉換事件,那麼在獲取洞察力方面已經處於劣勢,因為原始形式的資料已經丟失。
- 我們應該能夠實時訪問這些事件。操作用例本質上是時間敏感的。批次釋出,儲存然後聚合事件的傳統方法太慢。相反,我們應該在事件到達時一次處理和處理事件。隨著規模的擴大,影響將在短得多的時間內變得越來越大,這一點變得越來越重要。
- 我們應該能夠對此資料提出新的問題,而不必在您的應用程式中新增新的工具。儘管內建了使這些系統具有彈性的所有嚴格條件,但無法提前知道我們的系統可能遇到的每種可能的故障模式。當不可避免地發生這些故障時,重要的是我們可以利用這些資料得出新的見解。您應該可以根據需要釋出具有儘可能多的上下文的大型事件。這樣,當您想到將來要問系統的新問題時,將可以使用資料來回答這些問題。
- 我們應該能夠以具有成本效益的方式完成上述所有工作。隨著關鍵業務系統規模的擴大,我們需要確保支援這些關鍵業務系統的系統最終不會比關鍵業務系統本身成本更高。
牢記這些指導原則,讓我們看一下Mantis如何為Netflix帶來價值
如何為Netflix增值
Mantis已經投入生產超過四年了。在此期間,在Mantis平臺之上構建了一些關鍵的操作洞察應用程式。
一些值得注意的例子包括:
實時監控Netflix流健康狀況,可實時檢查所有Netflix流影片流量,並以細粒度精確地識別對觀看體驗的負面影響。該系統可作為Netflix服務整體執行狀況的預警指示器,並在幾秒鐘內觸發並提醒相關團隊。
上下文警報可實時分析數十種Netflix微服務之間的數百萬次互動,以識別異常併為運營商提供豐富而相關的上下文。這些由Mantis支援的聚合的實時性允許將檢測平均時間從數十分鐘減少到幾秒鐘。鑑於Netflix的規模,這將產生巨大的影響。
Raven允許使用者使用我們的Mantis查詢語言(MQL)對來自數百個流媒體源的實時資料進行臨時瀏覽。
Cassandra執行狀況檢查,可實時分析豐富的執行事件,以全面瞭解Netflix每個Cassandra群集的執行狀況。
透過實時處理來自數千個Netflix伺服器的資料,對日誌資料發出警報,以檢測應用程式錯誤。
混沌實驗監控,可實時跟蹤使用者在混沌練習中的體驗,並在出現不利影響時觸發混亂練習的中止。
實時個人身份資訊(PII)資料檢測跨所有流源取樣資料,以快速識別敏感資料的傳輸。
相關文章
- 基於裝置監控運維管理平臺實現預測性維護運維
- 基於 prometheus 的微服務指標監控Prometheus微服務指標
- RestCloud監控平臺,專為微服務API打造的實時監控中心RESTCloud微服務API
- 基於kubernetes平臺微服務的部署微服務
- 對於k8s微服務的效能測試監控平臺搭建K8S微服務
- [ 智慧運維服務平臺 ]PIGOSS TOC 多資料中心多監控工具的運維解決方案運維Go
- 智和網管平臺打造“海量接入 智慧監控”的統一運維監控中心運維
- iUAP雲運維平臺v3.0全面支援基於K8s的微服務架構運維K8S微服務架構
- BookStack:一個開源的維基平臺
- 多伺服器運維管理 集中監控與管理平臺伺服器運維
- 微服務監控微服務
- 基於surging的木舟平臺如何構建起微服務微服務
- Netflix Mantis簡介 - Baeldung
- 中通訊息服務運維平臺實踐(已開源)運維
- 【推薦】常用的7款最佳開源運維監控軟體!運維
- 【合集】Linux運維常用的服務監控工具Linux運維
- 基於系統融合的統一監控平臺設計
- 微服務平臺下基於 GraphQL 構建 BFF 的思考微服務
- 運維監控工具運維
- 微服務監控探索微服務
- 開源運維軟體 WGCLOUD 可以監控磁碟陣列嗎運維GCCloud陣列
- Netflix Cosmos平臺:微服務+工作流+無伺服器微服務伺服器
- Skywalking微服務監控分析微服務
- 運維架構服務監控Open-Falcon運維架構
- 無監控,不運維:解讀企業全棧式監控運維運維全棧
- 滴滴夜鶯 Nightingale 釋出 v3 版本,從運維監控演化成了運維平臺運維
- 基於微服務和Docker的PaaS雲平臺架構設計微服務Docker架構
- zabbix監控平臺
- 宜信開源微服務任務排程平臺(SIA-TASK)微服務
- Zabbix監控平臺的搭建
- 智和信通,部署智慧交通運維繫統,構建一站式運維監控平臺運維
- 如何做好運維監控?運維
- dmonitor 基於 Django 的輕量級生產環境介面監控平臺Django
- 使用Prometheus搞定微服務監控Prometheus微服務
- 基於websocket的celery任務狀態監控Web
- 低程式碼平臺--基於surging開發微服務編排流程引擎構思微服務
- IoTSharp:基於 .NET 8.0 的開源物聯網平臺
- linux監控平臺搭建Linux