度量标准插件架构
DC/OS 如何收集和发布度量标准
DC/OS 1.12 版及更新版本中的度量标准基于 Telegraf。Telegraf 度量标准是在处理过程中用来模拟数据的内部表示。Telegraf 提供基于代理的服务,在 DC/OS 群集中的每个管理节点和代理节点上运行。默认情况下,Telegraf 从同一节点上运行的所有进程收集度量标准,收集的信息经过处理之后被发送到中央度量标准数据库。Telegraf 具有插件驱动型架构。插件架构让 Telegraf 能够从任何支持的输入插件收集信息,并将结果写入支持的输出插件。插件将编译成 Telegraf 二进制文件进行执行,您可以使用配置文件选项选择性启用和自定义插件。图 1 显示了 Telegraf 的一个实例。
图 1. Telegraf 的一个实例
默认情况下,DC/OS 启用以下 Telegraf 插件:
system
输入插件收集有关节点的信息,例如 CPU、内存和磁盘使用情况。statsd
输入插件从 DC/OS 组件收集statsd
度量标准。prometheus
输入插件从 DC/OS 组件和mesos
任务收集度量标准。mesos
输入插件收集有关mesos
进程本身的度量标准。dcos_statsd
输入插件为每个mesos
任务启动新的statsd
服务器。dcos_containers
从mesos
进程收集有关容器的资源信息。override
插件用于添加 节点层级 元数据,例如,群集名称。dcos_metadata
插件用于添加 任务层级 元数据,例如,执行器名称和任务名称。dcos_metrics
输出插件提供 CLI 使用的dcos-metrics
JSON API。prometheus_client
输出插件提供 Prometheus 格式的度量标准。
/var/lib/dcos/telegraf/telegraf.d
目录,从而指定要启用的插件。只有以 .conf
结尾的文件才会包含在 Telegraf 配置中。注意:配置文件中的任何错误都将阻止 Telegraf 成功启动。
Telegraf 通过为每个节点上的度量标准提供单一来源,缩减了从群集中运行的每个进程收集度量标准的复杂性。Telegraf 还将识别元数据(例如原始任务名称)添加到其收集的度量标准中,以使度量标准更易于读取。如果没有这种元数据,在 Mesos 上运行的任务的度量标准很难通过其原始容器 ID(一个较长的随机散列) 来识别。
Telegraf 的 DC/OS 分支包括每个插件的技术文档和示例配置。