摘要:擁有活躍的社區,在上獲得的數超過了萬,符合網易云的選擇。當然,也有一些不足,比如不能用于日志監控分布式追蹤等范圍,所以網易云也做了很多設計和優化。
分享網易云輕舟微服務選擇基于 Prometheus 開發微服務監控系統的考量:
開源
云原生
與微服務監控需求的匹配度很高
開源
Prometheus是CNCF(云原生計算基金會)旗下成熟的開源項目,而開源技術棧是網易云堅定不移的選擇,不僅因為選擇主流開源項目可以站在巨人的肩膀上創新,規避重復造輪子的浪費,更因為開源開放讓客戶無需擔心廠商鎖定。Prometheus擁有活躍的社區,在GitHub 上獲得的 star 數超過了 2 萬,符合網易云的選擇。
云原生
作為CNCF組織第二個畢業的開源項目,Prometheus與它的“師兄”Kubernetes都自帶云原生的光環,天然能夠友好協作,而網易云輕舟微服務另一個重要組件——容器服務正是基于開源Kubernetes深度定制優化的(當然輕舟微服務的服務治理設計是基礎設施無關的,同時支持物理機、VM和容器)。
目前,輕舟微服務監控系統所有組件及配置均實現容器化并由 Kubernetes 編排,理論上,在任意 Kubernetes 集群里都能夠一鍵部署,系統需要變更時,僅需修改相關編排文件,即可完成改變。
與微服務監控需求的匹配度很高
微服務監控有四大難點:
配置難:監控對象動態可變,無法進行預先配置;
融合難:監控范圍非常繁雜,各類監控難以互相融合;
排查難:微服務實例間的調用關系非常復雜,故障排查會很困難;
建模難:微服務架構仍在快速發展,難以抽象出穩定的通用監控模型。
Prometheus 有五大優勢:
靈活的數據模型:在 Prometheus 里,監控數據是由值、時間戳和標簽表組成的,其中監控數據的源信息是完全記錄在標簽表里的;同時 Prometheus 支持在監控數據采集階段對監控數據的標簽表進行修改,這使其具備強大的擴展能力;
強大的查詢能力:Prometheus 提供有數據查詢語言 PromQL。從表現上來看,PromQL 提供了大量的數據計算函數,大部分情況下用戶都可以直接通過 PromQL 從 Prometheus 里查詢到需要的聚合數據;
健全的生態:Prometheus 能夠直接對常見操作系統、中間件、數據庫、硬件及編程語言進行監控;同時社區提供有 Java/Golang/Ruby 語言客戶端 SDK,用戶能夠快速實現自定義監控項及監控邏輯;
良好的性能:Prometheus 提供了 PromBench 基準測試,從最新測試結果來看,在硬件資源滿足的情況下,Prometheus 單實例在每秒采集 10萬條監控數據的情況下,在數據處理和查詢方面依然有著不錯的性能表現;
更契合的架構:采用推模型的監控系統,客戶端需要負責在服務端上進行注冊及監控數據推送;而在 Prometheus 采用的拉模型架構里,具體的數據拉取行為是完全由服務端來決定的。服務端是可以基于某種服務發現機制來自動發現監控對象,多個服務端之間能夠通過集群機制來實現數據分片。推模型想要實現相同的功能,通常需要客戶端進行配合,這在微服務架構里是比較困難的。
當然,Prometheus 也有一些不足,比如不能用于日志監控、分布式追蹤等范圍,所以網易云也做了很多設計和優化。
文章來源: 網易云社區
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/25408.html
摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使 一.概述 Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、pr...
摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使 一.概述 Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、pr...
摘要:一概述意為,即使用來監控容器的插件或者模塊,既然有專業的等容器監控方案,為什么還要用傳統的呢在剛出現時,還沒有專業的容器監控方案公司已有的成熟實踐,想直接集成到中雖然不太優雅使用來監控有幾種方案,比如自己寫,利用的獲取信息,暴露接口給采集使 一.概述 Dockbix意為docker+zabbix,即使用zabbix來監控docker容器的插件或者模塊,既然有專業的cadvisor、pr...
閱讀 845·2019-08-30 15:54
閱讀 3316·2019-08-29 15:33
閱讀 2701·2019-08-29 13:48
閱讀 1213·2019-08-26 18:26
閱讀 3333·2019-08-26 13:55
閱讀 1476·2019-08-26 10:45
閱讀 1164·2019-08-26 10:19
閱讀 305·2019-08-26 10:16