2013-10-09 60 views
0

我有超過100臺服務器發送指標到我的statsd石墨設置。葉出度量樹的東西喜歡 -石墨在現場實例縮放

stats.dev.medusa.ip-10-0-30-61.jaguar.v4.outbox.get

stats.dev.medusa.ip-10-0-30-62.jaguar.v4.outbox.get

我大部分的爬蟲都是AWS斑點的情況下,這意味着他們的20多歲下去了隨機,被分配不同IP地址每次。這意味着,相同的列表成爲─

stats.dev.medusa.ip-10-0-30-6.<|subtree

stats.dev.medusa.ip-10-0-30-1.<|subtree

stats.dev.medusa.ip-10-0-30-26.<|subtree

stats.dev.medusa.ip-10-0-30-21.<|subtree

假設所有的指標在總店4G指標的子樹下,20種情況下去後來有30個產生不同的IP地址,這意味着我的存儲突然增加了120G。而且,這是每週發生的事情。

儘管刪除較舊的IP子樹是簡單而直接的,但我確實想保留這些指標。我可以在第0周有3個medusas,第1周有23個medusas,第2周有15個,第4周有40個medusas。我可以選擇什麼?你將如何解決這個問題?

回答

0

我們通過不記錄IP地址來實現這一點。使用確定性鎖定概念,當實例出現時,它們請求一個機器ID。然後,他們可以使用此計算機ID代替statsd存儲桶的IP地址。

stats.dev.medusa.machine-1.<|subtree 
stats.dev.medusa.machine-2.<|subtree 

這意味着你應該只有最多40個桶。我們正在成功使用這個概念,並在分配實例號的單獨機器上使用簡單的數字分配器API。一旦機器有一個實例編號,它就會將其作爲標籤存儲在該機器上,因此我們的分配器可以查詢ec2實例的標籤以查看當前正在使用的內容。這允許它重新分配舊的機器ID。