2012-05-31 2 views
2

다양한 클라우드 인스턴스 (EC2, Rackpsace)에서 데이터를 원격으로 수집하는 방법을 찾고 있습니다. Rackspace API는 API를 통해 서버 성능 메트릭 (즉,로드 평균, CPU 사용량, 메모리)을 수집 할 수있는 방법이 없습니다. 그렇지 않으면 요청하지 않은 것입니다.클라우드 서버 성능 메트릭을 수집하는 Ruby (Capistrano 또는 MCollective)의 원격 실행

저는 Capistrano 나 Mcollective와 같은 솔루션을 살펴보기 시작했습니다. (collectd도 고려해 보았습니다.) 그러나 어느 것이 내 애플리케이션에 가장 잘 맞는지 확신 할 수 없습니다. 나는 추세 목적을 위해 ssh 키를 사용하지 않으려 고 노력하고 있습니다. (이 메트릭을 수집하기 위해 계속 로그인하고 싶지는 않습니다) 제가 쓰는 스크립트는 평균로드가 일정한 경우 클라우드 서버를 재부팅하는 Ruby 스크립트입니다 번호. 이러한 공급자는 API를 통해 이러한 측정 항목을 노출하지 않기 때문에 직접 수집하는 방법을 찾고 있으며 Ruby 커뮤니티가 처음이므로이 도구에 대한 설명서를 요약 한 후에도 어떤 프레임 워크가 가장 잘 작동하는지, 다른 대안이 있는지에 대한 이해를 얻을 수 있습니다.

원격 작업을 수행 할 수 있지만 Capistrano는 배포 도구로 더 적합하다고 들었으므로 문서를 읽은 후에는 스크립트 용도로 사용하기에 충분했습니다.

MCollective는 내가하려는 일에 정말로 매력적이지만,이 목적을 위해 자체 RPC 스타일 플러그인을 작성해야 할 것 같습니다.

나는 또한 Nagios, Munin, Zenoss, Hyperic 등의 일부 더 큰 모니터링 시스템에 연결하는 것을 고려해 봤지만, 수집하고자하는 것은 몇 가지 큰 대량 모니터링 시스템을 설치하지는 않을 것이지만 몇 가지 간단합니다 측정 항목 당신의 의도는 (CPU 사용량이 너무 높을 때 다시 시작 같은) 시스템 성능에 따라 트리거 특정 작업에 경우

답변

1

, 당신은 god을 확인해야합니다.

더 오랜 기간 동안 일부 성능 통계를 생성하려는 경우에도 유용할지 모르겠습니다. 개인적으로, 나는 이것을 위해 Munin을 사용하고 있지만, 만약 당신이 그것을 좋아하지 않는다면 아마도 Ruby Toolbox | Server Monitoring에서 찾을 수있을 것입니다.

+0

안녕하세요 Classz, 답장을 보내 주시고 올바른 방향으로 나를 안내해 주셔서 감사합니다. 신에 대해 더 알고 싶습니다. 설명서를 읽었습니다.하지만 부하 평균, 사용자 등의 기존 시스템 리소스를 모니터링하기보다는 작성한 응용 프로그램을 기반으로 CPU 사용량이 너무 높을 때만 신이 시작됩니다. CPU 등, 내가 맞습니까? 또한 여러 서버에서 통계를 수집 한 다음 5 개의 서버 그룹에 대한 평균로드를 계산하려고합니다. – DevNull0000001

+0

Amon은 Ruby Toolbox를 가르쳐 준 덕분에 정말로 유망 해 보입니다. – DevNull0000001