日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

carbon配置

發布時間:2025/1/21 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 carbon配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

carbon配置

所有carbon的配置文件都放在/opt/graphite/conf/目錄下。如果你的graphite是新安裝的,那么conf文件夾下不會有任何.conf的文件存在,但是有很多.conf.example的文件。你只需要把.conf.example相應的文件復制一份,并且把.example后綴去掉,然后就生成了你自己的配置文件,再對配置文件進行配置就可以了:

pushd /opt/graphite/conf cp carbon.conf.example carbon.conf cp storage-schemas.conf.example storage-schemas.conf

carbon.conf

這是一個主要的配置文件,定義了每個carbon daemon的運行環境。

配置文件里面的每個配置項,在配置文件里面都有相應的注釋和說明。

配置文件被分成了幾個部分,用來配置不同的daemon。carbon-cache使用[cache]這個部分的配置項,carbon-relay使用[relay]這部分的配置項,carbon-aggregator使用[aggregator]這部分的配置項。如果你是第一次使用graphite,除了[cache]這部分配置需要修改外,其他的兩個部分的配置可以先不用關心。

提示:

carbon-cache和carbon-relay可以運行在一臺機器上。試著交換列在[cache]和[relay]下面的LINE_RECEIVER_PORT和PICKLE_RECEIVER_PORT兩個默認的端口,這樣指標發送端不需要做任何修改,就可以把指標發送給carbon-relay。在設置[relay]下面的DESTINATIONS字段的時候,記得[relay]下面的PICKLE_RECEIVER_PORT端口已經修改成新的端口了。

storage-schemas.conf

這個配置文件詳細地定義了數據的采樣頻率,存儲時長以及指標的的匹配規則。Whisper數據庫將使用這個配置文件來生成數據庫里面的所有數據點。

一些重要的提示:

1:這個文件里面可能會有多個section

2:匹配數據的時候,文件里面的section是從上到下順序遍歷的。

3:匹配規則使用的是正則表達式

4:第一個匹配上metrics的名字的規則會被使用。

5:收到第一個metrics的時候設置采樣頻率

6:改變這個配置文件不會改變已經生成的.wsp文件,使用whisper-resize.py來改變已經生成的文件。

規則由三行組成:

1:名字,定義在方括號里面

2:正則表達式,定義方式:pattern=xxx

3:數據采樣頻率,定義方式:retentions=xxx

采樣頻率這一項可一定義多個采樣頻率,使用逗號分隔開

采樣頻率的定義使用到下面一些后綴:

1:s : 秒

2:m :分鐘

3:h :小時

4:d:天

5:y:年

下面是個簡單的例子:

[garbage_collection] pattern = garbageCollections$ retentions = 10s:14d

名字garbage_collection主要是寫日志的需求,當有metrics匹配上這個規則后,這個名字會出現在create.log里面。

所有以garbageCollections結尾的metrics都會匹配到這個規則。比如說com.acmeCorp.instance01.jvm.memory.garbageCollections可以匹配上這個規則,但是com.acmeCorp.instance01.jvm.memory.garbageCollections.full 不會匹配上這個規則。

retentions這一行的意思是:采樣頻率為10秒采樣一次,并且保存14天的數據。

下面是個復雜的例子:

[apache_busyWorkers] pattern = ^servers\.www.*\.workers\.busyWorkers$ retentions = 15s:7d,1m:21d,15m:5y

在這個例子里面,假設你的指標數據格式是servers.<servername>.<metrics>,這個正則表達式可以匹配名字以‘www’開頭,接著可以是任何字符,然后以‘‘.workers.busyWorkers’結尾的服務器名字。

這個例子使用了多個采樣頻率。設置指標采樣頻率的一般規則是高精度短時長到低精度長時長– whisper會根據指定的聚合規則(默認是取平均值)對指標進行聚合。

通過使用多個retentions,你可以存儲很長時間的數據,但是又不浪費磁盤空間。

比如說你按1m:1y,1h:5y這個retentions來存儲銷售額數據。如果你想知道去年1月1號總共的銷售額,然后你可以從whisper數據庫里面查到24個數據點,每個小時一個數據點。然后你把每個數據點乘以60,就得到了每個小時的總銷售額。

storage-aggregation.conf

這個配置文件里面定義了怎么樣把高精度數據聚合成低精度數據的數據聚合規則。定義格式跟storage-schema.conf類似。但是有以下幾點必須注意:

1:這個文件是可選的,如果沒有提供,則會使用默認的配置。

2:配置里面沒有retentions這一項了,而是增加了xFilesFactor和aggregationMethod這兩項

3:xFilesFactor必須是0到1之間的浮點型數值,這個數值指定了高精度的數據必須有多少個非空值,才能把這些高精度值聚合成一個非空的低精度值。默認值是0.5。

4:aggregationMethod指定了用于聚合的函數,合法的函數有:average, sum, min, max和last。默認值是average。

5:當收到第一個指標數據的時候,這些值會被設置。

6:修改這個配置文件對已經生成的.wsp文件不會產生影響。可以使用whisper-set-aggregation-method.py來修改已經生成的.wsp文件。

下面是個例子:

[all_min] pattern = \.min$ xFilesFactor = 0.1 aggregationMethod = min

上面這個例子將匹配所有以.min結尾的指標。使用的聚合方式是取最小值。高精度的數據只需要有10%的非空數據就能聚合成一個低精度數據。

如果xFilesFactor或者aggregationMethod沒有設置,將會使用默認值。

聚合參數和retentions參數分開設置是因為聚合規則的定義由要收集的數據類型決定,而retentions規則由數據的存儲容量和重要性來決定。

relay-rules.conf

當需要把特定的指標數據發送給特定的后端時,需要定義相關的relay規則。Relay規則是由carbon-relay這個模塊來處理的。你可以使用正則表達式來過濾指標并且定義過濾出來的指標要被發送給哪個后端服務器。

例子:

[example] pattern = ^mydata\.foo\..+ servers = 10.1.2.3, 10.1.2.4:2004, myserver.mydomain.com

你必須至少定義一個section作為默認設置。

aggregation-rules.conf

這個配置文件里面定義的規則可以幫助你在收集到多個指標的時候,把多個指標聚合成一個指標。跟其他的配置文件不一樣,這個配置文件一旦修改,立馬生效。要使用這個功能,必須運行carbon-aggregation。

這個文件里面每一行的格式如下所示:

<env>.applications.<app>.<server>.<metric>

比如你可以配置像下面這樣的聚合規則:

<env>.applications.<app>.all.requests (60) = sum <env>.applications.<app>.*.requests <env>.applications.<app>.all.latency (60) = avg <env>.applications.<app>.*.latency

如果你配置了上面這樣的聚合規則,那么當你收到如下指標的時候:

prod.applications.apache.www01.requests prod.applications.apache.www02.requests prod.applications.apache.www03.requests prod.applications.apache.www04.requests prod.applications.apache.www05.requests

這些指標數據會被送到統一的聚合緩沖區里面,60秒后,carbon-aggregation會把緩沖區里面的這些指標數據相加,然后生成一個‘prod.applications.apache.all.requests’指標數據。

carbon-aggregation除了這個使用場景外,還有另外一個常用的使用場景,就是用來對多個同樣的指標數據進行聚合。當你需要從多個主機上收集相同的指標時,或者指標的發送頻率高于事先定義好的收集頻率時,使用carbon-aggregation對這些指標進行聚合會非常方便。

rewrite-rules.conf

rewrite 規則允許你使用Python的正則表達式對收到的指標名進行重命名。跟其他的配置文件不一樣,這個配置文件一旦修改,立馬生效。要使用這個功能,必須運行carbon-aggregation。

這個配置文件里面的每一行,都使用下面的格式定義:

regex-pattern = replacement-text

所有匹配上regex-pattern的指標名稱都會被捕獲,然后被重命名成replacement-text。regex-pattern必須是合法的Python正則表達式,replacement-text可以是任意的值。你也可以使用捕獲組:

^collectd\.([a-z0-9]+)\. = \1.system.

使用這個規則可以導致下面的結果:

collectd.prod.cpu-0.idle-time => prod.system.cpu-0.idle-item

Rewrite-rules.conf由[pre]和[post]兩個部分組成。指標剛被收到的時候要改名,使用pre里面的規則。數據聚合以后要改名使用post里面的規則。

例子:

[post] _sum$ = _avg$ =

這個定義的意思是說,數據聚合以后,去掉所有以_sum或者以_avg結尾的指標名稱里面的_sum或者_avg。

whitelist and blacklist

使用whitelist這個功能可以讓carbon daemons只接受白名單里面的指標,拒絕黑名單里面的指標。設置carbon.conf里面的USE_WHITELIST字段可以啟用這個功能。當很多指標發送給graphite或者有人發送了很多沒有的指標的時候,這個功能會很有用。

Carbon daemon會在GRAPHITE_CONF_DIR路徑下搜索whitelist.conf 和 blacklist.conf。配置文件里面的每一行都定義了一個匹配指標的正則表達式。如果whitelist.conf不存在,或者里面的內容是空的,那么所有的指標都會被graphite接受。

-----------------------------------------------------

歡迎關注我的微信公眾號 ^_^

轉載于:https://my.oschina.net/u/1263964/blog/706030

總結

以上是生活随笔為你收集整理的carbon配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。