2017-09-07 5 views
2

컨텍스트 :mesos에서 작업이 사용하는 최대 메모리를 얻는 방법이 있습니까?

은 내가 Mesos Scheduler Interface에 따라 스칼라에 Scheduler을 구현했습니다.

모든 작업이 완벽하게 조정되었습니다.

기대 : 이제

, 나는 완료된 작업에 의해 소비되는 최대 메모리를 모니터링 할 수 있도록하고 싶습니다.

TASK_FINISHED 상태의 모든 작업에 대해 Scheduler.statusUpdate() 메서드를 구현할 때이 모니터링 작업을 수행 할 것으로 예상됩니다.

질문 :이 방법

하는 SchedulerDriverProtos.TaskStatus가 제공된다.

따라서 해당 작업에서 사용하는 최대 메모리를 SchedulerDriverProtos.TaskStatus에서 검색 할 수 있습니까?

답변

2

메소 스는 작업 통계에 대한 정보를 slave(1)/monitor/statistics에 노출합니다. 각 에이전트에서이 엔드 포인트를 스크래핑하고 응답을 집계하여 주어진 태스크의 최대 값을 가져와야합니다.

1

Mesos 에이전트가 구성되는 분리 유형에 따라 다릅니다. cgroups/* 또는 Docker 컨테이너 도구를 사용하는 경우 메모리 및 기타 런타임 통계를 수집하고 집계하는 외부 서비스를 에이전트 호스트에서 실행하는 것이 좋습니다. 예를 들어 cadvisor과 같은 수집기 데몬을 사용하여 작업을 모니터링 한 다음 ship 이러한 메트릭을 유연한 방법으로 쿼리 할 수있는 영구 데이터 스토어에 연결할 수 있습니다.