成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Graphite 系列 #2:Carbon 和 Whisper

MASAILA / 830人閱讀

摘要:為了發(fā)布以上列出的示例數(shù)據(jù)點(diǎn),運(yùn)行以下命令日志文件將包含關(guān)于新的被接收到的度量值的信息,信息被存儲(chǔ)在與交互來(lái)存儲(chǔ)時(shí)間序列數(shù)據(jù)到文件系統(tǒng)。

標(biāo)簽(空格分隔): Graphite Carbon Whisper 監(jiān)控


  

注:該系列文章絕對(duì)是學(xué)習(xí) Graphite 的好文章,是我見(jiàn)過(guò)的將的最全面,最清晰,最簡(jiǎn)單明了的系列文章。我會(huì)把該系列的所有文章全部翻譯完成,但是還是推薦各位讀讀原文。

在 Graphite 系列博客中,我將提供一個(gè)指南,以幫助使用 Graphite 技術(shù)棧完成搭建一個(gè)監(jiān)控和報(bào)警系統(tǒng)的所有步驟。聲明:我不是一個(gè)專(zhuān)家,我僅僅是通過(guò)提供更詳細(xì)的文檔幫助 Graphite 社區(qū)發(fā)展。如果出現(xiàn)一些錯(cuò)誤,請(qǐng)?jiān)谖恼孪旅嬖u(píng)論或者是給我發(fā)送一封郵件到 [email protected]。


Graphite 后端

Graphite 是由多個(gè)后端和前端組件組合而成。后端組件被用于存儲(chǔ)數(shù)值的時(shí)間序列數(shù)據(jù)。前端組件被用于檢索度量數(shù)據(jù)和可選的圖像渲染。在這篇博客文章中,我將重點(diǎn)介紹后端組件:Carbon 和 Whisper。

  

度量指標(biāo)可以被發(fā)布到一個(gè)負(fù)載均衡器或者是直接到一個(gè) Carbon 進(jìn)程。Carbon 進(jìn)程與 Whisper 數(shù)據(jù)庫(kù)包交互來(lái)存儲(chǔ)時(shí)間序列數(shù)據(jù)到文件系統(tǒng)。

安裝 Carbon

Carbon 是一個(gè) daemon,其使用一個(gè)名為 Twisted 的事件驅(qū)動(dòng)網(wǎng)絡(luò)引擎來(lái)監(jiān)聽(tīng)時(shí)間序列數(shù)據(jù)。Twisted 框架支持 Carbon 進(jìn)程以較低的開(kāi)銷(xiāo)處理大量的客戶(hù)端和處理大量的流量。

Carbon Github 項(xiàng)目:點(diǎn)擊這里

為了安裝 Carbon,運(yùn)行以下命令(假設(shè)是 RHEL 操作系統(tǒng)):

# sudo yum groupinstall "Development Tools"
# sudo yum install python-devel
# sudo yum install git
# sudo easy_install pip
# sudo pip install twisted
# cd /tmp
# git clone https://github.com/graphite-project/carbon.git
# cd /tmp/carbon
# sudo python setup.py install

/opt/graphite 現(xiàn)在應(yīng)該有 carbon 的 lib 包和配置文件:

# ls -l /opt/graphite
total 16
drwxr-xr-x. 2 root root 4096 May 18 23:56 bin
drwxr-xr-x. 2 root root 4096 May 18 23:56 conf
drwxr-xr-x. 4 root root 4096 May 18 23:56 lib
drwxr-xr-x. 6 root root 4096 May 18 23:56 storage
安裝 Whisper

Whisper 是一個(gè)用于存儲(chǔ)時(shí)間序列數(shù)據(jù)的數(shù)據(jù)庫(kù)包,它被應(yīng)用通過(guò)使用 create, update, 和 fetch 操作來(lái)檢索以及操作。

Whisper Github 項(xiàng)目:點(diǎn)擊這里

為了安裝 Whisper,運(yùn)行以下命令:

# cd /tmp
# git clone https://github.com/graphite-project/whisper.git
# cd /tmp/whisper
# sudo python setup.py install

Whisper 腳本現(xiàn)在應(yīng)該在應(yīng)有的位置上:

# ls -l /usr/bin/whisper*
-rwxr-xr-x. 1 root root 1711 May 19 00:00 /usr/bin/whisper-create.py
-rwxr-xr-x. 1 root root 2902 May 19 00:00 /usr/bin/whisper-dump.py
-rwxr-xr-x. 1 root root 1779 May 19 00:00 /usr/bin/whisper-fetch.py
-rwxr-xr-x. 1 root root 1121 May 19 00:00 /usr/bin/whisper-info.py
-rwxr-xr-x. 1 root root  674 May 19 00:00 /usr/bin/whisper-merge.py
-rwxr-xr-x. 1 root root 5982 May 19 00:00 /usr/bin/whisper-resize.py
-rwxr-xr-x. 1 root root 1060 May 19 00:00 /usr/bin/whisper-set-aggregation-method.py
-rwxr-xr-x. 1 root root  969 May 19 00:00 /usr/bin/whisper-update.py
啟動(dòng)一個(gè) Carbon 進(jìn)程

Carbon 安裝自帶了默認(rèn)的端口和很多其他的配置文件??截愐呀?jīng)存在的示例文件。

# cd /opt/graphite/conf
# cp aggregation-rules.conf.example aggregation-rules.conf
# cp blacklist.conf.example blacklist.conf
# cp carbon.conf.example carbon.conf
# cp carbon.amqp.conf.example carbon.amqp.conf
# cp relay-rules.conf.example relay-rules.conf
# cp rewrite-rules.conf.example rewrite-rules.conf
# cp storage-schemas.conf.example storage-schemas.conf
# cp storage-aggregation.conf.example storage-aggregation.conf
# cp whitelist.conf.example whitelist.conf
# vi carbon.conf

在 cache 段下面,line receiver port 已經(jīng)被指定:

[cache]
LINE_RECEIVER_INTERFACE = 0.0.0.0
LINE_RECEIVER_PORT = 2003

通過(guò)運(yùn)行以下命令啟動(dòng)一個(gè) carbon-cache 進(jìn)程:

# cd /opt/graphite/bin
# ./carbon-cache.py start
Starting carbon-cache (instance a)

該進(jìn)程現(xiàn)在應(yīng)該監(jiān)聽(tīng)在 2003 端口上:

# ps -efla | grep carbon-cache
1 S root      2674     1  0  80   0 - 75916 ep_pol 00:18 ?        00:00:03 /usr/bin/python ./carbon-cache.py start

# netstat -nap | grep 2003
tcp        0      0 0.0.0.0:2003                0.0.0.0:*                   LISTEN      2674/python 
發(fā)布度量指標(biāo)

一個(gè)度量值是任何可以隨時(shí)間變化的可測(cè)量的值:

每秒的請(qǐng)求數(shù)

進(jìn)程請(qǐng)求時(shí)間

CPU 利用率

一個(gè)數(shù)據(jù)點(diǎn)是一個(gè)元組包含:

一個(gè)度量值的名字

一個(gè)可度量的值

在一個(gè)指定時(shí)間點(diǎn)(通常是一個(gè) timestamp)

客戶(hù)端應(yīng)用通過(guò)發(fā)送數(shù)據(jù)點(diǎn)到一個(gè) Carbon 進(jìn)程來(lái)發(fā)布度量值。這個(gè)應(yīng)用在 Carbon 進(jìn)程的端口上建立一個(gè) TCP 連接并以一個(gè)簡(jiǎn)單的純文本格式發(fā)送數(shù)據(jù)點(diǎn)。在我們的例子中,端口是 2003。TCP 連接或許依舊是打開(kāi)并根據(jù)需要重復(fù)多次使用。Carbon 進(jìn)程監(jiān)聽(tīng)進(jìn)入的數(shù)據(jù)但是不給客戶(hù)端發(fā)送任何響應(yīng)。

數(shù)據(jù)點(diǎn)格式被定義成:

每個(gè)數(shù)據(jù)點(diǎn)是一個(gè)單行文本

在位置 0 是一個(gè)帶點(diǎn)的度量名稱(chēng)

在位置 1 是一個(gè)值

在位置 2 是一個(gè) Unix Epoch 的 timestamp

以空格作為位置的分隔符

比如,這里有一些有效的數(shù)據(jù)點(diǎn):

carbon.agents.graphite-tutorial.metricsReceived 28198 1400509108

carbon.agents.graphite-tutorial.creates 8 1400509110

PRODUCTION.host.graphite-tutorial.responseTime.p95 0.10 1400509112

客戶(hù)端應(yīng)用有多個(gè)方式來(lái)發(fā)布度量值:

使用一個(gè)純文本協(xié)議工具比如 netcat (nc) 命令

使用 pickle 協(xié)議

使用高級(jí)消息隊(duì)列協(xié)議(AMQP)

使用 lib 包比如 Coda Hale metrics library

為了簡(jiǎn)單起見(jiàn),在這個(gè)教程中我將通過(guò) netcat 命令使用純文本協(xié)議。為了發(fā)布以上列出的示例數(shù)據(jù)點(diǎn),運(yùn)行以下命令:

sudo yum install nc
echo "carbon.agents.graphite-tutorial.metricsReceived 28198 `date +%s`" | nc localhost 2003
echo "carbon.agents.graphite-tutorial.creates 8 `date +%s`" | nc localhost 2003
echo "PRODUCTION.host.graphite-tutorial.responseTime.p95 0.10 `date +%s`" | nc localhost 2003

carbon-cache 日志文件將包含關(guān)于新的被接收到的度量值的信息,信息被存儲(chǔ)在:

# tail -f /opt/graphite/storage/log/carbon-cache/carbon-cache-a/creates.log
19/05/2014 10:42:44 :: creating database file /opt/graphite/storage/whisper/carbon/agents/graphite-tutorial/metricsReceived.wsp (archive=[(60, 129600)] xff=0.5 agg=average)
19/05/2014 10:42:53 :: creating database file /opt/graphite/storage/whisper/carbon/agents/graphite-tutorial/creates.wsp (archive=[(60, 129600)] xff=0.5 agg=average)
19/05/2014 10:42:57 :: creating database file /opt/graphite/storage/whisper/PRODUCTION/host/graphite-tutorial/responseTime/p95.wsp (archive=[(60, 1440)] xff=0.5 agg=average)

Carbon 與 Whisper 交互來(lái)存儲(chǔ)時(shí)間序列數(shù)據(jù)到文件系統(tǒng)。操作文件系統(tǒng)來(lái)確保數(shù)據(jù)文件已經(jīng)被創(chuàng)建:

# ls -l /opt/graphite/storage/whisper/carbon/agents/graphite-tutorial/
total 3040
-rw-r--r--. 1 root root 1555228 May 19 10:42 creates.wsp
-rw-r--r--. 1 root root 1555228 May 19 10:42 metricsReceived.wsp
# ls -l /opt/graphite/storage/whisper/PRODUCTION/host/graphite-tutorial/responseTime/
total 20
-rw-r--r--. 1 root root 17308 May 19 10:42 p95.wsp

最后,你可以檢索關(guān)于 Whisper 文件的元數(shù)據(jù)信息,使用 whisper-info 腳本:

# whisper-info.py /opt/graphite/storage/whisper/PRODUCTION/host/graphite-tutorial/responseTime/p95.wsp 
maxRetention: 86400
xFilesFactor: 0.5
aggregationMethod: average
fileSize: 17308

Archive 0
retention: 86400
secondsPerPoint: 60
points: 1440
size: 17280
offset: 28

whisper-dump 腳本是一個(gè)更完整的腳本,其可以輸出所有存儲(chǔ)保留時(shí)期的原始數(shù)據(jù)以及關(guān)于 Whisper 文件的元數(shù)據(jù)信息:

# whisper-dump.py /opt/graphite/storage/whisper/PRODUCTION/host/graphite-tutorial/responseTime/p95.wsp 
Meta data:
  aggregation method: average
  max retention: 86400
  xFilesFactor: 0.5

Archive 0 info:
  offset: 28
  seconds per point: 60
  points: 1440
  retention: 86400
  size: 17280

Archive 0 data:
0: 1400609220, 0.1000000000000000055511151231257827
1: 0,          0
2: 0,          0
3: 0,          0
4: 0,          0
5: 0,          0
...
1437: 0,          0
1438: 0,          0
1439: 0,          0

弄明白 Aggregation 方法,最大的保留期, xFilesFactor 和 Whisper 文件的所有其他屬性是非常重要的。不要擔(dān)心,就算你在這點(diǎn)上沒(méi)有學(xué)習(xí)到,我將會(huì)在接下來(lái)的博客文章會(huì)更詳細(xì)地講訴這些。

Graphite 系列

Provision Hardware

Carbon & Whisper

Whisper Storage Schemas & Aggregations

Graphite Webapp

Stress Testing Carbon Caches

Carbon Aggregators

  

本文的作者是 franklinangulo,本文的原文是 GRAPHITE SERIES #2: CARBON & WHISPER

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37505.html

相關(guān)文章

  • 在 CentOS 5.8 上安裝 Graphite

    摘要:在上安裝標(biāo)簽空格分隔監(jiān)控首先說(shuō)一句,在上安裝真的很坑爹。。?;蛉绻厦孢@個(gè)方法無(wú)法安裝那就用源碼安裝的方法。安裝開(kāi)始好幾次就死在安裝這個(gè)上面,版本的通過(guò)命令安裝的不行,對(duì)應(yīng)版本的包的名字叫做。 在 CentOS 5.8 上安裝 Graphite 標(biāo)簽(空格分隔): 監(jiān)控 monitor CentOS 5.8 Graphite 首先說(shuō)一句,在 CentOS 5.8 上安裝真的很坑爹...

    banana_pi 評(píng)論0 收藏0
  • 如何深入理解 StatsD 與 Graphite ?

    摘要:眾所周知,負(fù)責(zé)收集并聚合測(cè)量值。每個(gè)都有一個(gè),該值的解釋方式依賴(lài)于。計(jì)時(shí)器的一大好處在于,你可以得到平均值總值計(jì)數(shù)值和上下限值。給傳一個(gè)數(shù)字,它會(huì)不經(jīng)處理地將該數(shù)字傳到后端。由三部分組成監(jiān)聽(tīng)時(shí)間序列的數(shù)據(jù)的后臺(tái)程序。 眾所周知,StatsD 負(fù)責(zé)收集并聚合測(cè)量值。之后,它會(huì)將數(shù)據(jù)傳給 Graphite,后者以時(shí)間序列為依據(jù)存儲(chǔ)數(shù)據(jù),并繪制圖表。但是,我們不知道,基于 http 訪(fǎng)問(wèn)的圖...

    dreamans 評(píng)論0 收藏0
  • [afterCode] docker 速成班 7: 實(shí)戰(zhàn) 構(gòu)建基于graphtie/grafana監(jiān)

    摘要:由于公司沒(méi)有運(yùn)維又需要監(jiān)控服務(wù)器的一些數(shù)據(jù)信息想盡快的啟動(dòng)一個(gè)數(shù)值監(jiān)控系統(tǒng)技術(shù)評(píng)估了下打算的方式來(lái)建設(shè)是一個(gè)時(shí)間數(shù)列數(shù)據(jù)庫(kù)并且自帶一些簡(jiǎn)單圖形展示功能雖然展示方面不是很完美但是在收集時(shí)間數(shù)據(jù)上非常的方便和簡(jiǎn)單根據(jù)官網(wǎng)的例子只需要一個(gè)連接就能 由于公司沒(méi)有運(yùn)維, 又需要監(jiān)控服務(wù)器的一些數(shù)據(jù)信息, 想盡快的啟動(dòng)一個(gè)數(shù)值監(jiān)控系統(tǒng). 技術(shù)評(píng)估了下打算 graphite + grafana 的...

    jhhfft 評(píng)論0 收藏0
  • FastD 最佳實(shí)踐四: 構(gòu)建系統(tǒng)可視化監(jiān)控

    摘要:的展示非常炫酷,絕對(duì)是運(yùn)維提升逼格的一大利器。另外的可視化功能比強(qiáng)得多,而且以上版本將集成報(bào)警功能。它由寫(xiě)成,著力于高性能地查詢(xún)與存儲(chǔ)時(shí)序型數(shù)據(jù)。被廣泛應(yīng)用于存儲(chǔ)系統(tǒng)的監(jiān)控?cái)?shù)據(jù),行業(yè)的實(shí)時(shí)數(shù)據(jù)等場(chǎng)景。 原有監(jiān)控系統(tǒng) showImg(https://segmentfault.com/img/remote/1460000011082384); 整個(gè)系統(tǒng)以 Graphite (carbon ...

    khlbat 評(píng)論0 收藏0
  • 宜信開(kāi)源|一個(gè)實(shí)例解析PaaS平臺(tái)LAIN的9大殺手級(jí)功能

    摘要:正式上線(xiàn)已經(jīng)大約兩年,基本已經(jīng)成熟,為宜信大數(shù)據(jù)創(chuàng)新中心各個(gè)團(tuán)隊(duì)提供了統(tǒng)一的測(cè)試和生產(chǎn)環(huán)境,簡(jiǎn)化了服務(wù)的部署與上線(xiàn)流程,也降低了運(yùn)維人員對(duì)系統(tǒng)管理的復(fù)雜度。地址白皮書(shū)原文發(fā)布于高可用架構(gòu)作者宜信大數(shù)據(jù)創(chuàng)新中心團(tuán)隊(duì)王超一 一、基于Docker的PaaS平臺(tái)LAIN 在金融的場(chǎng)景下,LAIN 是為解放各個(gè)團(tuán)隊(duì)和業(yè)務(wù)線(xiàn)的生產(chǎn)力而設(shè)計(jì)的一個(gè)云平臺(tái)。LAIN 正式上線(xiàn)已經(jīng)大約兩年,基本已經(jīng)成熟,...

    Apollo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<