2013-10-09 6 views
0

나는 statsd-graphite 설정에 메트릭을 보내는 백개의 서버를 가지고 있습니다. 메트릭 하위 트리를 벗어난 잎 뭔가 같은 -흑연 스팟 인스턴스 스 케일

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

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

내 크롤러의 대부분은 그들의 20 대, 무작위로 아래로 가서 다른 할당되는 것을 의미한다 AWS 지점 - 인스턴스이다 매번 IP 주소. 이 같은 목록이 20 개 스팟 인스턴스가 추락 총 저장 4G 메트릭의 하위 트리 아래의 모든 메트릭을 가정

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

을 becomes- 것을 의미한다 나중에 다른 IP 주소로 생성되는 30 개는 내 스토리지가 갑자기 120G로 펑펑 올라 갔음을 의미합니다. 또한, 이것은 매주 발생합니다.

이전 IP- 하위 트리를 삭제하는 것이 간단하고 간단하지만 메트릭을 실제로 유지하려고합니다. 나는 week0에서 3 medusas, week1에서 23 medusas, week2에서 15, week4에서 40를 가질 수 있습니다. 내 옵션은 무엇이 될 수 있습니까? 너는 어떻게 이걸 처리 하겠니?

답변

0

우리는 IP 주소를 로깅하지 않음으로써이 작업을 수행합니다. 결정 론적 잠금 개념을 사용하고 인스턴스가 올라 오면 컴퓨터 ID를 요청합니다. 그런 다음 statsd 버킷의 IP 주소 대신이 컴퓨터 ID를 사용할 수 있습니다.

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

이렇게하면 최대 40 개까지 버킷을 가져야합니다. 인스턴스 번호를 할당하는 별도의 컴퓨터에 간단한 숫자 할당 자 API를 사용하여이 개념을 성공적으로 사용하고 있습니다. 일단 머신이 인스턴스 번호를 가지면, 그 머신에 태그를 저장합니다. 그래서 우리 할당자는 ec2 인스턴스의 태그를 쿼리하여 현재 사용중인 것을 확인합니다. 이렇게하면 이전 시스템 ID를 다시 할당 할 수 있습니다.