[+]文章目录

本文将介绍master和slave节点所提供的可观察的度量。通过这些度量可以监控集群的的运行状况。

概括

Mesos master节点与slave节点都提供一系列的统计与度量数据,可用于监控资源使用,提前发现异常。 由Mesos提供的的监控信息包含:可用资源,已用资源,注册的应用框架,活动的slave节点,任务状态。可根据这些信息,可以在监控仪表盘中创建相应的自动示警或者统计图。

度量的类型

Mesos提供两种类型的度量: 累计和计量。

计数器Counters 会跟踪零散发生的事件,并累积起来。这类结果一般是一个数字。比如:失败的任务数,注册的slave节点数。另外,这类统计数字中,某些度量记数的数值变动速度往往更有用。

计量器Gauges 则表示某些度量的瞬间值,比如集群中已用的内存数,已经连接的slave节点数。这类数字经常用于判断一定时间段内某些度量数值是否超出或者低于相对合理的正常水平。

Master节点

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节点

下面度量包含: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节点过少,表示这些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/uptime_secs is low

master节点最近被重启过。

master/uptime_secs < 60 for sustained periods of time

集群内有个master进程不稳定。

master/tasks_lost is increasing rapidly

集群中的任务丢失数增长较快,可能原因包括硬件故障,应用漏洞,或者Mesos程序的bug。

master/slaves_active is low

slave节点与master节点有连接问题。

master/cpus_percent > 0.9 for sustained periods of time

集群的CPU将不再处理新的排队信息。

master/mem_percent > 0.9 for sustained periods of time

集群的内存将不再存储新的排队信息。

master/elected is 0 for sustained periods of time

目前没有master节点被选为leader。

slave节点

每个slave节点可获得的统计数据可从下面连接查看:

http://&lt;mesos-slave&gt;: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节点

下面包含: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 有效的状态更新消息的数量 累计

« 前一篇