发布于 2015-12-05 11:08:26 | 923 次阅读 | 评论: 0 | 来源: 网络整理
本文将介绍master和slave节点所提供的可观察的度量。通过这些度量可以监控集群的的运行状况。
Mesos master节点与slave节点都提供一系列的统计与度量数据,可用于监控资源使用,提前发现异常。 由Mesos提供的的监控信息包含:可用资源,已用资源,注册的应用框架,活动的slave节点,任务状态。可根据这些信息,可以在监控仪表盘中创建相应的自动示警或者统计图。
Mesos提供两种类型的度量: 累计和计量。
计数器Counters 会跟踪零散发生的事件,并累积起来。这类结果一般是一个数字。比如:失败的任务数,注册的slave节点数。另外,这类统计数字中,某些度量记数的数值变动速度往往更有用。
计量器Gauges 则表示某些度量的瞬间值,比如集群中已用的内存数,已经连接的slave节点数。这类数字经常用于判断一定时间段内某些度量数值是否超出或者低于相对合理的正常水平。
Master节点可用的统计度量可从下面连接查看:
http://<mesos-master-ip>:5050/metrics/snapshot
得到的是一个JSON对象,内含统计项和统计值的键值对。
根据组别,把Master节点可用的统计项列出如下:
下表包含集群中可用的资源总量,现在的使用情况。持续的高资源使用率,表明管理员需要及时给集群添加容量或是集群行为发生异常等。
统计项 | 解释 | 类型 |
---|---|---|
master/cpus_percent |
已分配的cpu比例 | 计量 |
master/cpus_used |
已分配的cpu数 | 计量 |
master/cpus_total |
CPU总数 | 计量 |
master/cpus_revocable_percent |
可回收的CPU比例 | 计量 |
master/cpus_revocable_total |
可回收的CPU数 | 计量 |
master/cpus_revocable_used |
在用的可回收CPU数 | 计量 |
master/disk_percent |
已分配的磁盘空间比例 | 计量 |
master/disk_used |
已分配的磁盘空间大小:单位 MB | 计量 |
master/disk_total |
磁盘空间总量:单位 MB | 计量 |
master/disk_revocable_percent |
可回收磁盘空间比例 | 计量 |
master/disk_revocable_total |
可回收磁盘空间大小:单位 MB | 计量 |
master/disk_revocable_used |
已用的可回收磁盘空间大小:单位 MB | 计量 |
master/mem_percent |
已分配的内存比例 | 计量 |
master/mem_used |
已分配的内存:单位 MB | 计量 |
master/mem_total |
内存总量:单位 MB | 计量 |
master/mem_revocable_percent |
可回收内存比例 | 计量 |
master/mem_revocable_total |
可回收内存大小:单位 MB | 计量 |
master/mem_revocable_used |
已用的可回收内存大小:单位 MB | 计量 |
下面度量包含:Master节点是否被选为leader master节点,运行时长。一段时间无leader表示该集群出现故障:可能是选举功能失效(需要查看ZooKeeper连接是否正常),也可能是Master进程不稳定。 在线运行时间值较低表示该Master节点最近被重启过。
统计项 | 解释 | 类型 |
---|---|---|
master/elected |
当前是否是leader | 计量 |
master/uptime_secs |
运行时间:单位 秒 | 计量 |
下面包含:Master节点的可用资源,和使用情况。Master节点内若持续过高资源使用比例,将导致集群的性能和效率下降。
统计项 | 解释 | 类型 |
---|---|---|
system/cpus_total |
此Master节点的可用CPU数 | 计量 |
system/load_15min |
过去15分钟内的平均负载 | 计量 |
system/load_5min |
过去5分钟内的平均负载 | 计量 |
system/load_1min |
过去1分钟内的平均负载 | 计量 |
system/mem_free_bytes |
可用内存:单位 bytes | 计量 |
system/mem_total_bytes |
内存总量:单位 bytes | 计量 |
下面包含:Slave节点事件,节点总数,状态。活跃的Slave节点过少,表示这些Slave节点存在故障,或者它们无法连接到Master节点。
统计项 | 解释 | 类型 |
---|---|---|
master/slave_registrations |
Master节点失联时,可以重新加入集群并连回master节点的slave节点数。 | 计数 |
master/slave_removals |
被移除的slave节点数:包括维护需要等各种原因被移除的。 | 计数 |
master/slave_reregistrations |
重新注册的slave节点数 | 计数 |
master/slave_shutdowns_scheduled |
健康监控中被判定失效,计划被移除的slave节点数,但不会立刻移除,因为有移除slave节点速率限制。而当它们真正被移除时,master/slave_shutdowns_completed 才会累计进去。 |
计数 |
master/slave_shutdowns_cancelled |
取消关机的slave节点数量:当slave节点移除速率限制下被允许slave节点重连,并在移除前发送PONG 给Master节点的slave节点数。 |
计数 |
master/slave_shutdowns_completed |
已完成关机的slave节点数:已经超过移除slave速率限制的,且已经被移出Master的注册slave节点列表的数目。 | 计数 |
master/slaves_active |
活动的slave节点数量 | 计量 |
master/slaves_connected |
连接中的slave节点数量 | 计量 |
master/slaves_disconnected |
未连接的slave节点数量 | 计量 |
master/slaves_inactive |
非活动中的slave节点数量 | 计量 |
下面包含:集群中注册的应用框架数。若出现无活动或连接状态下的的应用框架的情况,则一般说明调度器没有注册或者出现故障。
统计项 | 解释 | 类型 |
---|---|---|
master/frameworks_active |
活跃的应用框架数量 | 计量 |
master/frameworks_connected |
已经连接的应用框架数量 | 计量 |
master/frameworks_disconnected |
未连接的应用框架数量 | 计量 |
master/frameworks_inactive |
非活动的应用框架数量 | 计量 |
master/outstanding_offers |
未处理的资源邀约数量 | 计量 |
下面包含:活动和中断的任务。若任务丢失频率高,则表明集群有故障。
统计项 | 解释 | 类型 |
---|---|---|
master/tasks_error |
已经失效的任务数量 | 累计 |
master/tasks_failed |
失败的任务数量 | 累计 |
master/tasks_finished |
已经完成的任务数量 | 累计 |
master/tasks_killed |
被杀死的任务数量 | 累计 |
master/tasks_lost |
丢失的任务数量 | 累计 |
master/tasks_running |
运行中的任务数量 | 累计 |
master/tasks_staging |
待处理任务数量 | 累计 |
master/tasks_starting |
开始的任务数量 | 累计 |
下面包含:Master节点、Slave节点、应用狂降、执行器间的消息。若消息丢弃严重,表明网络有问题。
统计项 | 解释 | 类型 |
---|---|---|
master/invalid_framework_to_executor_messages |
应用框架传给执行器无效消息的数量 | 累计 |
master/invalid_status_update_acknowledgements |
无效的状态更新通知的数量 | 累计 |
master/invalid_status_updates |
无效的状态更新的数量 | 累计 |
master/dropped_messages |
丢弃消息的数量 | 累计 |
master/messages_authenticate |
验证消息的数量 | 累计 |
master/messages_deactivate_framework |
应用框架没激活消息的数量 | 累计 |
master/messages_exited_executor |
被终止的执行器消息的数量 | 累计 |
master/messages_framework_to_executor |
应用框架传给执行器消息的数量 | 累计 |
master/messages_kill_task |
任务被终止消息的数量 | 累计 |
master/messages_launch_tasks |
任务载入消息的数量 | 累计 |
master/messages_reconcile_tasks |
任务核对消息的数量 | 累计 |
master/messages_register_framework |
应用框架注册消息的数量 | 累计 |
master/messages_register_slave |
slave节点注册消息的数量 | 累计 |
master/messages_reregister_framework |
应用框架重注册消息的数量 | 累计 |
master/messages_reregister_slave |
slave节点重注册消息的数量 | 累计 |
master/messages_resource_request |
请求资源消息的数量 | 累计 |
master/messages_revive_offers |
邀约恢复消息的数量 | 累计 |
master/messages_status_udpate |
状态更新消息的数量 | 累计 |
master/messages_status_update_acknowledgement |
状态更新通知消息的数量 | 累计 |
master/messages_unregister_framework |
应用框架注销消息的数量 | 累计 |
master/messages_unregister_slave |
slave节点注销消息的数量 | 累计 |
master/valid_framework_to_executor_messages |
应用框架传给执行器有效消息的数量 | 累计 |
master/valid_status_update_acknowledgements |
有效状态更新通知消息的数量 | 累计 |
master/valid_status_updates |
有效状态更新消息的数量 | 累计 |
下面包含:事件队列里的事件类型。
统计项 | 解释 | 类型 |
---|---|---|
master/event_queue_dispatches |
事件队列里调度的数量 | 计量 |
master/event_queue_http_requests |
事件队列里HTTP请求的数量 | 计量 |
master/event_queue_messages |
事件队列里消息传输的数量 | 计量 |
下面包含:slave节点注册的读写延迟信息。
统计项 | 解释 | 类型 |
---|---|---|
registrar/state_fetch_ms |
读注册信息的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms |
写注册信息的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/max |
最大写注册信息的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/min |
最小写注册信息的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/p50 |
写注册信息延迟的中位数,单位毫秒:ms | 计量 |
registrar/state_store_ms/p90 |
写注册信息90%起的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/p95 |
写注册信息95%起的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/p99 |
写注册信息99%起的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/p999 |
写注册信息99.9%起的延迟,单位毫秒:ms | 计量 |
registrar/state_store_ms/p9999 |
写注册信息99.99%起的延迟,单位毫秒:ms | 计量 |
可用下面的告警来获知集群是否存在错误。
master节点最近被重启过。
集群内有个master进程不稳定。
集群中的任务丢失数增长较快,可能原因包括硬件故障,应用漏洞,或者Mesos程序的bug。
slave节点与master节点有连接问题。
集群的CPU将不再处理新的排队信息。
集群的内存将不再存储新的排队信息。
目前没有master节点被选为leader。
每个slave节点可获得的统计数据可从下面连接查看:
http://<mesos-slave>:5051/metrics/snapshot
返回得到的是一个JSON对象,内含统计项和统计值的键值对。
根据组别,把slave节点可用的统计项列出如下:
下面包含:slave节点的可用资源量和使用情况。
统计项 | 解释 | 类型 |
---|---|---|
slave/cpus_percent |
已分配的cpu比例 | 计量 |
slave/cpus_used |
已分配的cpu数 | 计量 |
slave/cpus_total |
CPU总数 | 计量 |
slave/cpus_revocable_percent |
可回收的CPU比例 | 计量 |
slave/cpus_revocable_total |
可回收的CPU数 | 计量 |
slave/cpus_revocable_used |
在用的可回收CPU数 | 计量 |
slave/disk_percent |
已分配的磁盘空间比例 | 计量 |
slave/disk_used |
已分配的磁盘空间大小:单位 MB | 计量 |
slave/disk_total |
磁盘空间总量:单位 MB | 计量 |
slave/disk_revocable_percent |
可回收磁盘空间比例 | 计量 |
slave/disk_revocable_total |
可回收磁盘空间大小:单位 MB | 计量 |
slave/disk_revocable_used |
已用的可回收磁盘空间大小:单位 MB | 计量 |
slave/mem_percent |
已分配的内存比例 | 计量 |
slave/mem_used |
已分配的内存:单位 MB | 计量 |
slave/mem_total |
内存总量:单位 MB | 计量 |
slave/mem_revocable_percent |
可回收内存比例 | 计量 |
slave/mem_revocable_total |
可回收内存大小:单位 MB | 计量 |
slave/mem_revocable_used |
已用的可回收内存大小:单位 MB | 计量 |
下面包含:slave节点是否已经注册到master节点与运行时长。
统计项 | 解释 | 类型 |
---|---|---|
slave/registered |
是否已注册到master节点 | 计量 |
slave/uptime_secs |
运行时间:单位 秒 | 计量 |
统计项 | 解释 | 类型 |
---|---|---|
system/cpus_total |
此节点的可用CPU数 | 计量 |
system/load_15min |
过去15分钟内的平均负载 | 计量 |
system/load_5min |
过去5分钟内的平均负载 | 计量 |
system/load_1min |
过去1分钟内的平均负载 | 计量 |
system/mem_free_bytes |
可用内存:单位 bytes | 计量 |
system/mem_total_bytes |
内存总量:单位 bytes | 计量 |
下面包含:在slave节点上运行的执行器的具体信息
统计项 | 解释 | 类型 |
---|---|---|
slave/frameworks_active |
活动中的应用数 | 计量 |
slave/executors_registering |
注册中的执行器数 | 计量 |
slave/executors_running |
运行中的执行器数 | 计量 |
slave/executors_terminated |
已终止的执行器数 | 计量 |
slave/executors_terminating |
正在终止的执行器数 | 计量 |
下面包含:活动和终止的任务信息。
统计项 | 解释 | 类型 |
---|---|---|
slave/tasks_failed |
失败的任务数量 | 累计 |
slave/tasks_finished |
已经完成的任务数量 | 累计 |
slave/tasks_killed |
被杀死的任务数量 | 累计 |
slave/tasks_lost |
丢失的任务数量 | 累计 |
slave/tasks_running |
运行中的任务数量 | 计量 |
slave/tasks_staging |
等待运行的任务数量 | 计量 |
slave/tasks_starting |
开始的任务数量 | 计量 |
下面包含:master节点和slave节点间的消息信息。
统计项 | 解释 | 类型 |
---|---|---|
slave/invalid_framework_messages |
无效的应用框架信息的数量 | 累计 |
slave/invalid_status_udpates |
无效的状态更新消息的数量 | 累计 |
slave/valid_framework_messages |
有效的应用框架信息的数量 | 累计 |
slave/valid_status_udpates |
有效的状态更新消息的数量 | 累计 |