一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

詳解StatsD

大?。?/span>0.4 MB 人氣: 2017-10-13 需要積分:1
 在互聯(lián)網(wǎng)業(yè)務(wù)蒸蒸日上的今時今日,系統(tǒng)架構(gòu)日漸復(fù)雜,隨著軟件產(chǎn)品和工程團隊的變革,許多開源的監(jiān)控工具應(yīng)運而生,其中有一些相當(dāng)出名,比如 Zabbix、Nagios 還有 StatsD。也有一些問題被大家不斷討論,例如,監(jiān)控領(lǐng)域的開源工具 Zabbix 和 Nagios 哪個更好?StatsD 是否有可能取代 Zabbix 或 Nagios 成為系統(tǒng)監(jiān)控的新標(biāo)準(zhǔn)?
  StatsD 的誕生
  作為一個大型的手工藝成品在線市場平臺,Etsy 曾被紐約時報拿來和 eBay,Amazon 等比較。早在2009年,Etsy 正在奮力向外擴展。但是網(wǎng)站的可靠性卻表現(xiàn)的差強人意。其原因主要與架構(gòu)有關(guān),Esty 的架構(gòu)起源于 DevOps 之前的文化,即開發(fā)人員,DBAs 和系統(tǒng)管理人員都專注于自己的筒倉,且開發(fā)人員無法接觸產(chǎn)品。在當(dāng)時,這就是開發(fā)和運營 Web 網(wǎng)站最常見的方式。
  Kellan Elliott-McCrea 在 Etsy 擔(dān)任工程部副總裁和首席技術(shù)官的五年內(nèi),軟件產(chǎn)品和工程團隊都經(jīng)歷了翻天覆地的變革。工程團隊變化最明顯的方面是———展示。這種變革帶來了許多開源工具,其中有一些相當(dāng)出名,比如 StatsD,一個從日志文件中生成指標(biāo),抓取數(shù)據(jù)的聚合器。在過去幾年中,StatsD 幾乎可以說是最流行且實用的 DevOps 工具。
  StatsD 簡介
  簡單來講,StatsD 就是一個簡單的網(wǎng)絡(luò)守護進程,基于 Node.js 平臺,通過 UDP 或者 TCP 方式偵聽各種統(tǒng)計信息,包括計數(shù)器和定時器,并發(fā)送聚合信息到后端服務(wù),如 Graphite。
  StatsD 最初是由 Etsy 的 Erik Kastner 寫的提供 Graphite/Carbon 指標(biāo)的前端代理,初衷是為了匯總和分析應(yīng)用指標(biāo)。它基于兩大功能:計數(shù)和計時。最開始使用 Node,后來也實現(xiàn)了其他語言。通過 Statsd ,能通過特定語言的客戶端檢測應(yīng)用程序的指標(biāo)。基于個性化需求,可以通過 Statsd 收集任何想要的數(shù)據(jù)。Statsd 通過發(fā)送 UDP 數(shù)據(jù)包來調(diào)用每個 Statsd 服務(wù)器,下面我們來了解一下為什么選擇 UDP 而不是 TCP。
  為什么使用 UDP?
  前面也說了, StatsD 是通過 UDP 傳輸數(shù)據(jù)的,那么有人會問為什么選 UDP 而不選 TCP 呢? 首先,它速度很快。任何人都不想為了追蹤應(yīng)用的表現(xiàn)而減慢其速度。此外,UDP 包遵循「fire-and-forget」機制。所以要么 StatsD 接收了這個包,要么沒有。應(yīng)用不會在意 StatsD 是運行、宕機還是著火了,它單純地相信一切運行正常。也就是說我們不用在意后臺 StatsD 服務(wù)器是不是崩了,就算崩了也不會影響前臺應(yīng)用。(當(dāng)然,我們可以通過圖表追蹤 UDP 包接收失敗的情況。)
  StatsD 的一些概念
  為了更加了解 StatsD,我們先來了解幾個 StatsD 概念:buckets、values、flush interval。
  Buckets
  當(dāng)一個 Whisper 文件被創(chuàng)建,它會有一個不會改變的固定大小。在這個文件中可能有多個 buckets 對應(yīng)于不同分辨率的數(shù)據(jù)點,每個 bucket 也有一個保留屬性指明數(shù)據(jù)點應(yīng)該在 bucket 中應(yīng)該被保留的時間長度,Whisper 執(zhí)行一些簡單的數(shù)學(xué)計算來計算出多少數(shù)據(jù)點會被實際保存在每個 bucket 中。
  Values
  每個 stat 都有一個 value,該值的解釋方式依賴于 modifier。通常,values 應(yīng)該是整數(shù)。
  Flush Interval
  在 flush interval (沖洗間隔,通常為10秒) 超時之后,stats 會聚集起來,傳送到上游的后端服務(wù)。
  追蹤所有事件是提高效率的關(guān)鍵。有了 StatsD,工程師們可以輕松追蹤他們需要關(guān)注的事務(wù),而無需費時地修改配置等。
  StatsD 的延伸
  收集和可視化數(shù)據(jù)是對服務(wù)器和應(yīng)用做出明智決定的重要方式,StatsD 具有以下優(yōu)點:
  簡單——非常容易獲取的應(yīng)用程序,StatsD 協(xié)議是基于文本的,可以直接寫入和讀取。低耦合性——基于后臺程序運行的應(yīng)用程序,采取 UDP 這種「fire-and-forget」的協(xié)議,收集指標(biāo)和應(yīng)用程序本身之間沒有依賴。占用空間小——StatsD 客戶端非常輕便的,不帶任何狀態(tài),不需要的線程。普遍及支持多種語言——有基于 Ruby,PythonJava, erlang, Node, Scala, Go, haskell 等幾乎所有語言的客戶端。
  Etsy 使用 Statsd 監(jiān)控系統(tǒng)
  Etsy 曾寫 blog 介紹自己怎樣使用 Statsd 以及為什么使用它:Measure Anything, Measure Everything,文章介紹 Etsy 以圖表的方式追蹤自己服務(wù)器,應(yīng)用,網(wǎng)絡(luò)三者的變化,而三者中尤以應(yīng)用的數(shù)據(jù)最為復(fù)雜,為了做出的圖表讓與三者相關(guān)的人都能夠讀懂,決定統(tǒng)一收集數(shù)據(jù),根據(jù)時間軸畫出圖表,使得所有的指標(biāo)都能夠被可視化和衡量。
  Statsd 采用了計數(shù)器,用于收集數(shù)字。計時器的一大好處在于,你可以得到平均值、總值、計數(shù)值和上下限值。Etsy 在使用時發(fā)現(xiàn)追蹤的事件非常頻繁,而 Statsd 沒有任何緩沖的數(shù)據(jù),這樣在兩者間調(diào)用時保持簡單,如果有大數(shù)據(jù)量的操作時,可以在數(shù)據(jù)發(fā)送到 Statsd 時加入樣本數(shù)據(jù),即只發(fā)送一定比例的數(shù)據(jù)。Statsd 后臺守護進程會監(jiān)聽所有應(yīng)用庫的 UDP 流量,通過時間流收集數(shù)據(jù)并在后臺于所需時間間隔內(nèi)更新數(shù)據(jù)。例如,聚合功能調(diào)用計時器可以每 10 秒收集一次數(shù)據(jù),并分析出這些數(shù)據(jù)的最大值,最小值,平均值,中間值,90 值和 95 值。
  詳解StatsD
  Etsy 也將 StatsD 開源,介紹了簡單的使用方式 基于基本線路協(xié)議預(yù)期發(fā)送的指標(biāo)格式:
 ?。?|
  如果你在本地運行 StatsD 和默認(rèn)的 UDP 服務(wù)器,在命令行最簡單的發(fā)送指標(biāo)方式:
  echo “foo:1|c” | nc -u -w0 127.0.0.1 8125
  collectd
  collectd 其實也是一個守護(daemon)進程,用來收集系統(tǒng)性能數(shù)據(jù)和提供各種存儲方式來存儲不同值的機制。具體可以參考Collectd 的官方網(wǎng)站。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

詳解StatsD下載

相關(guān)電子資料下載

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?