度量标准

了解 DC/OS 的度量标准组件

概述

度量标准的类型

DC/OS 采集四种度量标准,如下所示:

  • 系统: DC/OS 群集中每个节点的度量标准。
  • 容器: 关于根据 DC/OS 或 Docker 引擎 运行时中运行的任务进行 分配的度量标准。
  • 应用程序: 在通用容器运行时运行的任何应用程序发出的度量标准。

度量标准的操作

您可以对度量标准执行以下操作:

  1. 添加度量标准: 您可以从您的应用程序将自定义度量标准添加到 DC/OS 度量标准服务。DC/OS 度量标准倾听StatsD是否有来自与 Mesos 容器化工具一起运行的每个应用程序的度量标准。StatsD server 对每个容器揭示,让您可以按出处标记所有度量标准。通过注入标准环境变量 STATSD_UDP_HOSTSTATSD_UDP_PORT.,其地址可供应用程序使用。

    或者,您也可以通过揭示一个相应的端点来提供 Prometheus 格式的度量标准。要通知您的任务正在服务 Prometheus 度量标准的度量标准服务,您需要至少使用标签 DCOS_METRICS_FORMAT=prometheus 添加一个端口。然后,在任务的生命周期内,每分钟将取消一次相应的端口。 以这种方式收集的度量标准将标记有发起任务的名称及其框架名称。

    以下是应用定义示例,带有具有上述标签的端口定义和一个 cmd ,以揭示一些 /metrics

    当上述示例正在运行时,您可以通过直接请求群集内的端点(例如,通过 curl alertmanager.prometheus.l4lb.thisdcos.directory:9093/metrics)或使用 dcos task metrics details <TASK_ID> 来获得 test_metric。后者的输出应与以下内容类似。在最后一行中备注 test_metric

    1. NAME VALUE
    2. mem.cache_bytes 1794048
    3. cpus.user_time_secs 0.49
    4. cpus.throttled_time_secs 1.57
    5. cpus.system_time_secs 0.13
    6. mem.total_bytes 25055232
    7. perf.timestamp 1561374937.08
    8. mem.anon_bytes 20635648
    9. cpus.nr_throttled 20
    10. mem.limit_bytes 167772160
    11. cpus.nr_periods 3230
    12. cpus.limit 0.20
    13. test_metric 123456

    如需更多信息,请查看有关 [如何使用 Python 将自定义度量标准添加到 DC/OS 度量标准 API ]的文档。().

  2. 标记度量标准: 标记自动添加到度量标准以便识别,支持轻松钻取、筛选度量标准数据和进行分组。标记不限于以下列表:

    • 容器识别(对于所有容器和应用度量标准):container_id、executor_id、framework_id、framework_name
    • 应用程序识别(例如,对于 Marathon 应用):application_name
    • 系统识别:agent_id 例如:管理员可以根据以下标记识别度量标准组:
      • agent_id - 检测系统特定的情况(例如,磁盘故障)。
      • - 检测哪些 Mesos 框架使用系统中的最多资源。
      • container_id - 显示相同的信息,除非具有每容器粒度。
  3. 转发度量标准: 从应用程序和主机收集度量标准之后,它可以转发给各种度量标准存储库。配置 Telegraf 插件以从群集转发度量标准数据。

Telegraf

DC/OS 1.12 版或更新版本中的度量标准使用 Telegraf 收集和处理数据。Telegraf 提供插件驱动型架构。自定义 DC/OS 插件提供关于 DC/OS 工作负载和 DC/OS 本身性能的度量标准。Telegraf 使用 StatsD 进程提供采集自 DC/OS 群集主机、在这些主机上运行的容器以及在 DC/OS 上运行的应用程序的度量标准。它与 DC/OS 实现本地集成。默认情况下,它在每个节点上以 Prometheus 格式公开来自 port 61091 的度量标准,并通过 DC/OS .以 JSON 格式公开。Telegraf 包含在 DC/OS 分布中,并在群集中的每个主机上运行。

Telegraf 通过 dcos_statsd 插件收集应用程序和自定义度量标准。为每个新任务启动专用的 StatsD 服务器。StatsD 服务器收到的任何度量标准都标有任务名称及其服务名称。服务器的地址由环境变量(STATSD_UDP_HOSTSTATSD_UDP_PORT).)提供。

注意:任务完成时,发送但未被 Telegraf 收集的度量标准将被丢弃。

dcos_statsd 收集的度量标准每 30 秒采集一次。任务必须运行至少 30 秒才能确保收集任务的度量标准。

有关 DC/OS 自动收集的度量标准列表的详细信息,请阅读 度量标准参考 文档。

故障排除

使用以下故障排除指南解决错误:

  • 可以通过启用 inputs.internal 插件来收集有关 Telegraf 自身性能的度量标准。
  • 可以通过运行 systemd 来检查 Telegraf systemctl status dcos-telegraf. 设备的状态。

[

DC/OS 如何收集和发布度量标准

]($acd6581ce5bcedb4.md)[

度量标准快速入门

]($3266cb17e36c3874.md)[

使用 Telegraf 监测 Mesos

]($ab8c3c59c957ddde.md)[

向 Datadog 导出 DC/OS 度量标准

向 Datadog 发送 DC/OS 度量标准

]($1e5bc23f58b7191a.md)[

使用度量标准 API

]($b712a3ae5bf097c8.md)[

度量标准参考

了解 DC/OS 收集的度量标准

]($ccbd9979773565ba.md)