我们正在使用Mesos 1.20 + Marathon 1.4.3来运行SparkJob。我正在尝试使用算法来预测作业资源使用情况,以实现自动扩展/缩小。我可以在Mesos网页http://:5050 /#/ agents /中看到每个框架的动态资源使用情况。但是从端点来看,我只能得到每个奴隶的使用情况,例如下面的链接:
finding active framework current resource usage in mesos
有没有办法通过Mesos端点我可以获得每个框架的快照资源使用情况?
我也在mesos slave中尝试了这个端点,看起来每个框架都没有cpu /内存信息。
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,
....
}
由于
答案 0 :(得分:1)
要收集此信息,您需要查询每个代理/slave/monitor/statistics/
端点,并按框架ID收集所有执行程序指标和组执行程序指标。
这是执行此操作的Diamond Mesos Collector,但它只收集单个代理数据。您可以在指标可视化工具中将它们分组,例如Grafana