Mesos Observability Metrics
Mesos 可读性指标
本文档描述了 Mesos master 和 slave 节点的可读性指标。这篇文章也简述了如何监控这些指标,以便更快地发现集群的异常状况。
概述
Mesos 的 master 和 slave 提供一组统计数据和指标,让您能方便地监控资源使用情况并及早发现异常状况。Mesos 的监控报告包括可用资源、已经使用的资源、已经注册的框架、活跃的 slave和任务的状态等细节。你可以使用这些监控信息实现自动化的报警,或者在监控界面里面绘制时间序列的监控图表。
指标的类型
Mesos提供了两种不同的指标:计数器和仪表
计数器(counter)用来跟踪不连续的事件,而且它是单向递增的。这种类型的指标总是自然数。例子包括失败的任务数目和注册的 slave 数量。对于这种类型的指标,变化率往往比数值本身更重要。
Gauge 代表一个瞬间的采样值。例如当前集群中使用内存的总量和在线的 slave 连接数量。这类指标通常用来监控是否在一段时间内高于或低于某个阈值。
本文档中表列出每一个可用的指标类型。
Master 节点
Master 节点的指标如下:
URL:
http://
以下网址可以读出该 master 节点的有关指标:
http://<mesos-master-ip>:5050/metrics/snapshot
访问该链接会返回一组 JSON 串,内容都是键值对,包含了指标的名称和内容。
可见指标
本节分类列出了所有 Mesos master 可用的指标
资源
以下指标提供两个重要的信息:整个集群中的可用资源总量和当前已经使用的部分。如果资源使用率持续高居不下,说明应该增加集群的资源总量,或者某个框架已经运行失常。
Metric Description Type
master/cpus_percent
已使用的 CPU 占总量百分比 Gauge
master/cpus_used
已使用的 CPU 的个数 Gauge
master/cpus_total
CPU 的总数 Gauge
master/disk_percent
已使用的磁盘空间占总量百分比 Gauge
master/disk_used
已使用的磁盘空间(MB为单位) Gauge
master/disk_total
磁盘空间总量(MB为单位) Gauge
master/mem_percent
已使用的内存占总量百分比 Gauge
master/mem_used
已使用的内存(MB为单位) Gauge
master/mem_total
内存总量(MB为单位) Gauge
Master 有关指标
以下指标说明两个问题:有关 master 是否是 leading master,它已经启动运行了多长时间。当一个集群经过一段时间依然没有选出 leading master,则认为这个集群已经处于故障状态。这说明要不竞选过程出现问题(检查 ZooKeeper 的连接),要不选出的 Master 有故障。此外较短的已经运行时间表明 master 近期有过重启。
Metric Description Type
master/elected
是否是 leading master Gaude
master/uptime_secs
已经运行时间(秒) Gaude
System 系统
以下指标提供指定 master 的资源总量和使用情况。Master 节点资源使用率长期高居不下,可能会影响集群的整体性能。
Metric Description Type
system/cpus_total
在这个master的可用 CPU 的数量 Guage
system/load_15min
过去15分钟的平均负载 Guage
system/load_5min
过去5分钟的平均负载 Guage
system/load_1min
过去1分钟的平均负载 Guage
system/mem_free_bytes
空闲内存的字节数 Guage
system/mem_total_bytes
全部内存的字节数 Guage
Slaves
以下指标提供关于 slave events、slave counts 和 slave states 的信息。活跃的 slave 数量过少表明这个集群的 slave 不健康,或者它们无法连接到 leading master。
Metric Description Type
master/slave_registrations
能够干净地完成与 master 断开然后 重联的 Slave 的数量 Counter
master/slave_removals
各种原因被删除的 slave 数 量,包括维护 Counter
master/slave_reregistrations
重新注册的 slave 的数目 Counter
master/slave_shutdowns_scheduled
因为健康检查失败而被计划删除 的 slave 的数量。由于对删除 slave 的速度有限制(Slave Removal Rate-Limit),所以它们不一定会立即被删除。 当他们真正被删掉,指标 master/slave_shutdowns_completed 会增加。 Counter
master/slave_shutdowns_cancelled
被取消的删除 slave 操作的数量。 发生在因为删除 Slave 有限速, slave 在被删除之前有机会成功重连并且发送 PONG
给 master Counter
master/slave_shutdowns_completed
成功地被删除了的 Slave 的数量 Counter
master/slaves_active
活跃的 slave 的数量 Guage
master/slaves_connected
连接在线的 slave 的数量 Guage
master/slaves_disconnected
断开离线的 slave 的数量 Guage
master/slaves_inactive
不活跃的 slave 的数量 Guage
框架(Frameworks)
以下指标提供关于在集群中注册了的框架的信息。处于不活跃或者没有连接状态的框架表明它的 scheduler 没有注册或者是状态异常。
Metric Description Type
master/frameworks_active
活跃框架的数量 Guage
master/frameworks_connected
连接的框架的数量 Guage
master/frameworks_disconnected
断开的框架数量 Guage
master/frameworks_inactive
不活动的框架的数量 Guage
master/outstanding_offer
s Number of outstanding resource offers Guage
Tasks
以下的指标是关于活跃和中断的任务的信息,中断任务率高表明集群有问题。这里列出的任务状态名称对应了任务的状态机。
Metric Description Type
master/tasks_error
无效任务的数量 Counter
master/tasks_failed
失败任务的数量 Counter
master/tasks_finished
完成任务的数量 Counter
master/tasks_killed
中断的任务的数量 Counter
master/tasks_lost
丢失的任务的数量 Counter
master/tasks_running
正在运行的任务的数量 Counter
master/tasks_staging
Number of staging tasks Counter
master/tasks_starting
正在开始的任务的数量 Counter
Messages
以下指标是关于组件之间传递的信息,包括 master 与 slaves 之间以及 framework 和 executor 之间。当大量信息被丢弃的时候,表明网络出现了问题。
Metric Description Type
master/invalid_framework_to_executor_messages
失效的从 framework 到 executor 的消息的数量 Counter
master/invalid_status_update_acknowledgements
无效的 status update acknowledgements 数量 Counter
master/invalid_status_updates
无效的状态更新数量 Counter
master/dropped_messages
被丢弃的信息的数量 Counter
master/messages_authenticate
认证信息的数量 Counter
master/messages_deactivate_framework
停用框架的信息的数量 Counter
master/messages_exited_executor
executor 结束的信息的数量 Counter
master/messages_framework_to_executor
从 framework to executor 的信息的数量 Counter
master/messages_kill_task
杀掉任务的信息的数量 Counter
master/messages_launch_tasks
启动任务的信息的数量 Counter
master/messages_reconcile_tasks
Number of reconcile task messages Counter
master/messages_register_framework
框架注册的信息的数量 Counter
master/messages_register_slave
slave 注册的信息的数量 Counter
master/messages_reregister_framework
框架的重新注册信息的数量 Counter
master/messages_reregister_slave
slave 的重新注册信息的数量 Counter
master/messages_resource_request
请求资源的信息的数量 Counter
master/messages_revive_offers
Number of offer revival messages Counter
master/messages_status_udpate
状态更新信息的数量 Counter
master/messages_status_update_acknowledgement
状态更新消息的确认的数量 Counter
master/messages_unregister_framework
框架注销消息的数量 Counter
master/messages_unregister_slave
slave 注销消息的数量 Counter
master/valid_framework_to_executor_messages
有效的 framework 到 executor 的消息的数量 Counter
master/valid_status_update_acknowledgements
有效的状态更新确认消息的数量 Counter
master/valid_status_updates
有效的状态更新信息的数量 Counter
Event queue
以下指标提供关于在 event queue 中的不同类型的 event 的信息。
Metric Description Type
master/event_queue_dispatches
Number of dispatches in the event queue Gauge
master/event_queue_http_requests
在 event queque 中 http 请求的数量 Gauge
master/event_queue_messages
在 event queque 中消息的数量 Gauge
Registrar 以下指标是关于到 slave reguistrar 读和写消息的延迟时间。
Metric Description Type
registrar/state_fetch_ms
从 Registry 读取的延迟时间(毫秒) Guage
registrar/state_store_ms
写入到 Registry 中的延迟时间(毫秒) Guage
registrar/state_store_ms/max
从 Registry 读取最大延迟时间(毫秒) Guage
registrar/state_store_ms/min
写入到 Registry 中的最大延迟时间(毫秒) Guage
registrar/state_store_ms/p50
写入 Registry 的延迟时间的中值(毫秒) Guage
registrar/state_store_ms/p90
90th percentile registry write latency in ms Guage
registrar/state_store_ms/p95
95th percentile registry write latency in ms Guage
registrar/state_store_ms/p99
百分之99注册写入延迟时间(秒) Guage
registrar/state_store_ms/p999
99。9th percentile registry write latency in ms Guage
registrar/state_store_ms/p9999
99.99th percentile registry write latency in ms Guage
基础报警(Basic Alerts)
这部分列出了一些基础报警的例子,你可用来发现集群的异常状况。
master/uptime_secs
is low
这个 master 已经重启。
master/uptime_secs
< 60 for sustained periods of time
The cluster has a flapping master node.
master/tasks_lost
is increasing rapidly
集群中的任务正在消失。可能的原因包括硬件故障,某个框架有bug,或者 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
目前没有 leading master(master 选举失败)。
Slave 节点
通过下面的网址,可以从每个 slave 节点读到下文的指标
http://<mesos-slave>:5051/metrics/snapshot
访问该链接会返回一组 JSON 串,内容都是键值对,包含了指标的名称和内容。
可见指标(Observability Metrics)
本节分类列出了所有 Mesos slave 可用的指标。
资源 以下指标说明了在 slave 中全部可用资源和当前使用情况的信息。
Metric Description Type
slave/cpus_percent
CPU 占用的百分比 Guage
slave/cpus_used
CPU 占用的数量 Guage
slave/cpus_total
CPU 的数量 Guage
slave/disk_percent
占用磁盘空间的百分比 Guage
slave/disk_used
分配磁盘空间在MB Guage
slave/disk_total
磁盘总空间(MB) Guage
slave/mem_percent
占用内存的百分比 Guage
slave/mem_used
占用内存(MB) Guage
slave/mem_total
总内存(MB) Guage
Slave
The following metrics provide information about whether a slave is currently registered with a master and for how long it has been running.
以下指标提供关于一个 slave 当前是否注册了一个 master 和它已经运行了多长时间的问题。
Metric Description Type
slave/registered
这个 slave 是否注册一个 master Gauge
slave/uptime_sec
s 更新时间(秒) Gauge
System
The following metrics provide information about the slave system.
以下指标提供关于 slave 系统的信息。
Metric Description Type
system/cpus_total
可用的 CPU 数量 Guage
system/load_15min
在过去的15分钟的平均负载 Gauge
system/load_5min
在过去的5分钟的平均负载 Gauge
system/load_1min
在过去的1分钟的平均负载 Gauge
system/mem_free_bytes
空闲的内存(byte) Guage
system/mem_total_bytes
全部的内存(byte) Guage
Executors
The following metrics provide information about the executor instances running on the slave.
以下指标提供关于运行在 slave 上的 executor 实例的信息。
Metric Description Type
slave/frameworks_active
活跃 frameworks 的数量 Gauge
slave/executors_registering
executors registering的数量 Gauge
slave/executors_running
executor 正在运行的数量 Gauge
slave/executors_terminated
executor 已经终止的数量 Gauge
slave/executors_terminating
executor 正在终止的数量 Gauge
Tasks
The following metrics provide information about active and terminated tasks.
以下指标提供关于活跃和终止 task 的信息。
Metric Description Type
slave/tasks_failed
失败 task 的数目 Counter
slave/tasks_finished
完成 task 的数目 Counter
slave/tasks_killed
杀掉 task 的数目 Counter
slave/tasks_lost
丢失 task 的数目 Counter
slave/tasks_running
正在运行 task 的数量 Gauge
slave/tasks_staging
临时 task 的数量 Gauge
slave/tasks_starting
正在开始 task 的数量 Gauge
Messages
The following metrics provide information about messages between the slaves and the master it is registered with.
以下指标提供关于 slave 和 master 之间注册的信息。
Metric Description Type
slave/invalid_framework_messages
失效的 framework messages 的数量 Counter
slave/invalid_status_udpates
无效状态更新的数量 Counter
slave/valid_framework_messages
有效的 framework messages 的数量 Counter
slave/valid_status_udpates
有效状态更新的数量 Counter