大型互聯網的系統一般會架構散佈於多個數據中心和一些私有/公有雲,由真實物理機以及虛擬機組成。架構中部署的關鍵工具包括實現報警的Zabbix,以及一個採集、聚合和存儲度量的六階段流水線。流水線主要由開源工具構建,其中使用了OpenTSDB、Kafka、Elasticsearch和Grafana,還有一... ...
大型互聯網的系統一般會架構散佈於多個數據中心和一些私有/公有雲,由真實物理機以及虛擬機組成。架構中部署的關鍵工具包括實現報警的Zabbix,以及一個採集、聚合和存儲度量的六階段流水線。流水線主要由開源工具構建,其中使用了OpenTSDB、Kafka、Elasticsearch和Grafana,還有一些企業自研的工具。
監控的一些關鍵度量,包括CPU平均負載、記憶體、線程、網路連接、磁碟空間和性能等。對於電子商務網站而言,網路監控至關重要。網路監控實現為多個層級,包括使用ping監控跨數據中心的連通性,使用Observium監控網路設備帶寬,使用Uptime Robot監控外部可訪問性和系統運行時間及負載情況(uptime)。監控的實現原理通常分為兩大類,即拉取模式(Pull)和推送模式(Push)。在拉取模式下,存在一個集中式系統,輪詢各個被監控系統並從中拉取數據。Nagios等多種傳統的監控系統主要遵循該模式,但是其中部分系統也提供推送模塊。在推送模式下,每個被監控系統中需要運行一個代理程式。該代理程式採集監控數據,並將數據推送到一個中央系統。Prometheus等工具使用了推送模式,它們提供推送功能選項。團隊選擇使用推送模式,併在每台伺服器上運行了Zabbix代理。Grafana做為可視化工具。
監控流水線分六個階段,實現從日誌中抽取度量並推送到時序資料庫OpenTSDB。
第一個階段負責收集日誌。流水線通過運行在每個伺服器上的syslog-ng代理,以UDP方式彙集到一個中央Logstash伺服器。syslog-ng可在類UNIX系統上實現syslog協議。
第二階段進而使用grok分析器分析收集的日誌,並推送到兩個不同的Elasticsearch(ELS)集群。每天分析的日誌總量可達700GB。
第三階段使用稱為“Data Monster”的企業自研工具(Django-Python),周期性輪詢Elasticsearch集群,從中抽取度量。
第四階段使用調度系統計算各個度量。該調度系統基於Celery Beat、RabbitMQ和MySQL實現,使用Data Monster從ELS拉取數據,並推送到Kafka集群。
第五階段生成實際寫入到OpenTSDB的PUT
語句。Apache Kafka通常用於構建持久化流數據隊列。在流水線中,Kafka消費者處理消息,並推送到OpenTSDB中持久存儲。
第六階段使用Grafana查詢資料庫中的消息,生成可視化的儀錶盤展示。
架構使用了Zabbix生成報警。此外為保證高可靠性,OpenTSDB是安裝在多個節點上的。
在雲環境中,機器的生命周期是短暫的,這對於需要掌握被監控機器的監視工具而言是一個挑戰。通過使用Zabbix的自動註冊功能解決了這一問題。Zabbix支持使用模板註冊一個新機器。團隊使用了一種基本的Linux模板,用於CPU使用率、平均負載、Java線程等通用系統度量。還使用了一種特定於應用的模板,用於健康檢查和應用性能管理。
關鍵關註點還包括,如何確定實時監控下的度量粒度問題,以及如何對HTTP響應代碼和請求趨勢等度量進行近距離觀察。前者可支持團隊快速地響應並定位問題,後者可作為一種早期預警系統,對客戶或伺服器端錯誤和應用性能突發問題做出預警。對請求數量變化趨勢的深入研究,也有助於團隊進一步規劃容量。
------------------------------------------------------------------
今天先到這兒,希望對您在系統架構設計與評估,團隊管理, 項目管理, 產品管理,團隊建設 有參考作用 , 您可能感興趣的文章:
IT運維監控解決方案介紹
微服務監控案例之一
國際化環境下系統架構演化
微服務架構設計
視頻直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟體工程的迷思
企業項目化管理介紹
軟體項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共用
高效能的團隊建設
項目管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
互聯網資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想瞭解更多軟體設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關註我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發佈在我的獨立博客中-Petter Liu Blog。