度量标准快速入门

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": "./statsd-emitter",
      4. "fetch": [{"uri": "https://downloads.mesosphere.com/dcos-metrics/1.11.0/statsd-emitter", "executable": true}],
      5. "cpus": 0.01,
      6. "instances": 1,
      7. "mem": 128
      8. }
    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.idle 99.56%
    3. cpu.system 0.09%
    4. cpu.total 0.34%
    5. cpu.user 0.25%
    6. cpu.wait 0.01%
    7. filesystem.capacity.free 134.75GiB path: /
    8. filesystem.capacity.total 143.02GiB path: /
    9. filesystem.capacity.used 2.33GiB path: /
    10. filesystem.inode.free 38425263 path: /
    11. filesystem.inode.total 38504832 path: /
    12. filesystem.inode.used 79569 path: /
    13. load.15min 0
    14. load.1min 0
    15. load.5min 0
    16. memory.buffers 0.08GiB
    17. memory.cached 2.41GiB
    18. memory.free 12.63GiB
    19. memory.total 15.67GiB
    20. process.count 175
    21. swap.free 0.00GiB
    22. swap.total 0.00GiB
    23. swap.used 0.00GiB
    24. 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. ]