如何找到每个框架的 mesos 活动资源使用情况?

How to find mesos active resource usage per framework?

我们正在使用 Mesos 1.20 + Marathon 1.4.3 来 运行 SparkJob。我正在尝试使用一种算法来预测作业资源使用情况以实现自动缩放 up/down。我可以在 http://:5050/#/agents/ 的 Mesos 网页中看到每个框架的动态资源使用情况。但是从端点看来,我只能获得每个奴隶的使用情况,例如下面的 link:

有什么方法可以通过 Mesos 端点获取每个框架的快照资源使用情况吗?

我也在 mesos slave 中尝试了这个端点,看起来每个框架也没有 cpu/memory 信息。

http://agent-ip:5051/metrics/snapshot/slave(1)/monitor/statistics

{
  "slave/executors_terminated": 114751.0,
  "slave/tasks_finished": 63594.0,
  "slave/cpus_total": 8.0,
  "slave/executors_preempted": 0.0,
  "slave/cpus_percent": 1.0125,
  "slave/executors_running": 8.0,
  "slave/gpus_revocable_used": 0.0,
  "slave/invalid_status_updates": 256.0,
  "slave/executors_registering": 0.0,
  "slave/tasks_gone": 0.0,
  "slave/cpus_revocable_percent": 0.0,
  "slave/gpus_total": 0.0,
  "slave/tasks_killed": 50763.0,
  "slave/tasks_starting": 0.0,
  "slave/registered": 1.0,
  "slave/gpus_revocable_total": 0.0,
....
}

谢谢

要收集此信息,您需要查询每个代理 /slave/monitor/statistics/ 端点并通过其框架 ID 收集所有执行器指标和组执行器指标。


这里是Diamond Mesos Collector that do this but it collect only single agent data. You can group them in your metric visualization tool e.g. Grafana.