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_offers 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_secs 更新时间(秒) 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