度量标准快速入门

DC/OS 度量标准入门

使用本指南开始使用 DC/OS 度量标准组件。度量标准组件天生与 DC/OS 集成,无需额外设置。

先决条件:

  • 必须 安装 DC/OS CLI 并通过 dcos auth login 命令以超级用户身份登户。
  1. 可选:部署一个示例 Marathon 应用程序供在本快速入门指南中使用。如果您已有任务在 DC/OS 上运行,则可以跳过此设置步骤。

    1. 创建以下 Marathon 应用定义并另存为 test-metrics.json

      1. {
      2. "id": "/test-metrics",
      3. "cmd": "/opt/mesosphere/bin/statsd-emitter",
      4. "cpus": 0.001,
      5. "instances": 1,
      6. "mem": 128
      7. }
    2. 使用此 CLI 命令部署该应用程序:

      1. dcos marathon app add test-metrics.json
  2. 要获得运行您应用程序的节点的 Mesos ID,请在运行 dcos task 后执行 dcos node。例如:

    1. 运行 dcos task 表明该主机 10.0.0.193 在运行 Marathon 任务 test-metrics.93fffc0c-fddf-11e6-9080-f60c51db292b

      1. dcos task
      2. NAME HOST USER STATE ID
      3. test-metrics 10.0.0.193 root R test-metrics.93fffc0c-fddf-11e6-9080-f60c51db292b
    2. 运行 dcos node 表明该主机 10.0.0.193 拥有 Mesos ID 7749eada-4974-44f3-aad9-42e2fc6aedaf-S1

      1. dcos node
      2. HOSTNAME IP ID
      3. 10.0.0.193 10.0.0.193 7749eada-4974-44f3-aad9-42e2fc6aedaf-S1
  3. 查看度量标准。

  • 特定任务的容器度量标准

    关于特定容器的资源消耗的概述,请运行此命令:

    1. dcos task metrics summary <task-id>

    输出应类似于:

    1. CPU MEM DISK
    2. 0.17 (1.35%) 0.01GiB (6.46%) 0.00GiB (0.00%)
  • 特定任务的所有度量标准

    要获取与任务相关的所有度量标准的详细列表,请运行此命令:

    1. dcos task metrics details <task-id>

    输出是容器资源利用率和工作负载传输的度量标准的组合。例如:

    1. NAME VALUE
    2. cpus.limit 0.10
    3. cpus.system.time 0.07
    4. cpus.throttled.time 34.75
    5. cpus.user.time 0.18
    6. disk.limit 0.00GiB
    7. disk.used 0.00GiB
    8. mem.limit 0.16GiB
    9. mem.rss 0.01GiB
    10. mem.swap 0.00GiB
    11. mem.total 0.01GiB
    12. statsd_tester.time.uptime 4469331

    CPU、磁盘和内存统计来自 Mesos 提供的容器数据。statsd_tester.time.uptime 统计数据来自应用程序本身。

  • 主机级度量标准

    跟任务数据一样,主机级度量标准可用作摘要或详细表格。要查看主机级 度量标准,请运行此命令:

    1. dcos node metrics details <mesos-id>

    输出将包含关于节点上可用资源及其利用率的统计数据。例如:

    1. NAME VALUE TAGS
    2. cpu.cores 4
    3. cpu.idle 99.56%
    4. cpu.system 0.09%
    5. cpu.total 0.34%
    6. cpu.user 0.25%
    7. cpu.wait 0.01%
    8. filesystem.capacity.free 134.75GiB path: /
    9. filesystem.capacity.total 143.02GiB path: /
    10. filesystem.capacity.used 2.33GiB path: /
    11. filesystem.inode.free 38425263 path: /
    12. filesystem.inode.total 38504832 path: /
    13. filesystem.inode.used 79569 path: /
    14. load.15min 0
    15. load.1min 0
    16. load.5min 0
    17. memory.buffers 0.08GiB
    18. memory.cached 2.41GiB
    19. memory.free 12.63GiB
    20. memory.total 15.67GiB
    21. process.count 175
    22. swap.free 0.00GiB
    23. swap.total 0.00GiB
    24. swap.used 0.00GiB
    25. system.uptime 28627
  • 度量标准的有计划使用

    所有 dcos-cli 度量标准命令都可以与 --json 一起运行,用于脚本。例如:

    1. dcos node metrics summary <mesos-id> --json

    输出将显示所有相同的数据,但以 JSON 格式显示,以方便解析:

    1. [
    2. {
    3. "name": "cpu.total",
    4. "timestamp": "2018-04-09T23:46:16.834008315Z",
    5. "value": 0.32,
    6. "unit": "percent"
    7. },
    8. {
    9. "name": "memory.total",
    10. "timestamp": "2018-04-09T23:46:16.834650407Z",
    11. "value": 16830304256,
    12. "unit": "bytes"
    13. },
    14. {
    15. "name": "memory.free",
    16. "timestamp": "2018-04-09T23:46:16.834650407Z",
    17. "value": 13553008640,
    18. "unit": "bytes"
    19. },
    20. {
    21. "name": "filesystem.capacity.total",
    22. "timestamp": "2018-04-09T23:46:16.834373702Z",
    23. "value": 153567944704,
    24. "tags": {
    25. "path": "/"
    26. },
    27. "unit": "bytes"
    28. },
    29. {
    30. "name": "filesystem.capacity.used",
    31. "timestamp": "2018-04-09T23:46:16.834373702Z",
    32. "value": 2498990080,
    33. "tags": {
    34. "path": "/"
    35. },
    36. "unit": "bytes"
    37. }
    38. ]