溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

互聯網中監控的示例分析

發布時間:2021-11-02 14:33:14 來源:億速云 閱讀:210 作者:小新 欄目:系統運維

這篇文章主要為大家展示了“互聯網中監控的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“互聯網中監控的示例分析”這篇文章吧。

一、監控需求的產生

當程序被交付,部署到生產環境,才是其生命周期中最長的部分的開始。人們需要了解生產環境是否一切正常,監控需求自然而然產生。

互聯網發展過程中涌現大量監控相關的工具/系統,Ganlia, Zabbix, RRDTools, Graphite,各自在不同的層面為“是否正?!碧峁┐鸢?。

監控本身,無論是業界對監控的認知,監控工具/系統自身的能力,也在以下兩個方向演進著:

  1. 黑盒到白盒

  2. 資源到業務

這個階段監控的愿景是很明確的,如何落地則各顯神通。

直到 Etsy 于 2011 年通過博客公開了他們的 監控實踐,利用 StatsD(已開源),以非常簡單統一的方式,實現資源/業務層面的數據采集/存儲/分析。后來的監控系統,尤其是基于 metrics 的監控系統,大多受過 StatsD 的啟發和影響。

二、可觀測性的提出

互聯網工程界,Twitter 應該是最早提出可觀測性 的組織。在這系列文章中,Twitter 集中闡述了他們的可觀測性技術棧,其中包括了 Zipkin,Google Dapper 的開源實現。

如前言所說,本文不糾結于幾個名詞之間的包含關系。

拋開這些名詞的辯論,可觀測性相對于過去監控,最大的變化就是系統需要處理的數據,從 metrics 為主,擴展到了更廣的領域。綜合起來,大約有幾類數據被看作是可觀測性的支柱(pillar)

  • metrics

  • logging

  • tracing

  • events

因此,一個現代化的監控系統/可觀測性工程系統,也就必須具備妥善存儲以上幾種數據的能力。

三、存儲

Metrics

Metrics,通常是數值類型的時間序列數據。這類需求的存在如此廣泛,以至于衍生了專門服務于這個目標的數據庫子類,時間序列數據庫,TSDB。

TSDB 經歷了大約如下幾個方面的重要演進

  • 數據模型。描述信息從 metric naming 中剝離出來,形成 tag?,F代的 tsdb 通常都已采用 tag 化的數據模型。

  • 數據類型。從簡單的數值記錄,到為不同場景衍生出 gauge, counter, timer 等等更多的數據類型

  • 索引結構。索引結構跟數據模型密切相關,在 tag 為主的現代 tsdb, 倒排索引已經是主流索引結構。

  • 數據存儲。從 rrdtool 寫環形隊列到文件的時代,到 OpenTSDB 這樣自行編解碼寫入底層數據庫,再到 Facebook 提出的時序數據壓縮算法,通常會是若干種技術的綜合使用,并且針對不同的數據類型采用不同方案

Metrics 存儲,或者是 TSDB 的研究和演進,我們會有另外的文章專門介紹。

logging

logging 通常會是工程師定位生產環境問題最直接的手段。日志的處理大約在如下幾個方面進行演進

  • 集中存儲/檢索。使得工程師免于分別登陸機器查看日志之苦,日志被統一采集,集中存儲于日志服務,并提供統一的檢索服務。這個過程牽扯到例如日志格式統一,解析,結構化等等問題。

  • 日志的監控。

  • 原文中的關鍵字,例如 error, fatal 大概率意味著值得關注的錯誤產生

  • 從日志中提取的 metrics,例如 access log 中攜帶的大量數據,都可以被提取成有用的信息。至于提取的手段,有的通過客戶端在日志本地進行解析,有的在集中存儲過程中進行解析。

tracing

隨著互聯網工程日漸復雜,尤其是微服務的風潮下,分布式 tracing 通常是理解系統,定位系統故障的最重要手段。

在存儲層面,tracing 已經有相對明確的方案,無論是 OpenZipkin,還是 CNCF 的 Jaeger ,都提供幾乎開箱即用的后端軟件,其中當然包括存儲。

Tracing 的存儲設計主要考慮

1. 稀疏數據:tracing 數據通常是稀疏的,這通常有幾個原因

  • 不同業務的 trace 路徑通常不同,也就是 span 不同,因而稀疏

  • 同種業務的 trace ,在不同內外部條件下,路徑也不同。例如訪問數據庫,是否命中緩存,都會產生不同的 span 鏈

  • 訪問正常/異常的 trace ,產生不同 span

2. 多維度查詢:通常的解決思路

  • 二級索引:在以 HBase, Cassandra 為基礎的方案中比較常見

  • 引入倒排索引,在二級索引方案無法滿足全部查詢請求時,可能會引入 Elasticsearch 輔助索引,提升查詢靈活性

Events

同樣是一個難以定義,但是很容易描述的術語。我們把,一次部署,一次配置變更,一次dns 切換,諸如此類的變更,稱為事件。

它們通常意味著生產環境的變更。而故障,通常因為不恰當的變更引起。

對 events 的處理主要包括

  • 集中存儲:事件種類很多,較難歸納共同的查詢緯度,所以倒排索引在這種無法事先確定查詢緯度的場景下,是非常合適的存儲結構

  • Dashboard:以恰當的方式,把事件查詢 /展示出來。上文提到 Etsy 的博客中,展示了很好的實踐方法,使得工程師能夠通過 dashboard ,非常輕松確認網站登陸失敗,與登錄模塊部署事件之間的關系。

以上是“互聯網中監控的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女