2017-09-07 7 views
2

コンテキスト:メソスでタスクによって使用される最大メモリを得る方法はありますか?

私はMesos Scheduler InterfaceをもとにScalaではSchedulerを実施しました。

すべてのタスクは完全に調整されています。

期待:今

、私が完了したタスクが消費する最大メモリを監視できるようにしたいと思います。

この監視タスクは、状態のすべてのタスクに対して、Scheduler.statusUpdate()メソッドの実装で実行することが期待されます。

質問:この方法で

SchedulerDriverProtos.TaskStatusが設けられています。

したがって、対応するタスクで使用されている最大メモリをSchedulerDriverProtos.TaskStatusから取得する方法はありますか?

答えて

2

メゾスは、タスク統計情報をslave(1)/monitor/statisticsに公開しています。このエンドポイントを各エージェントでスクラップし、応答を集約して特定のタスクの最大値を取得する必要があります。

1

Mesosエージェントが設定されている分離のタイプに応じて、たとえば次のようになります。 cgroups/*を使用している場合や、Dockerコンテナライザーを使用している場合は、メモリやその他のランタイム統計情報を収集して集約する外部サービスをエージェントホスト上で実行することを検討してください。たとえば、cadvisorなどのコレクタデーモンを使用してタスクを監視し、次にそれらのメトリックを永続データストアに適用して、柔軟な方法でクエリを実行できます。

関連する問題