度量标准快速入门

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. ```bash
  2. NAME VALUE
  3. cpus.limit 0.20
  4. cpus.nr_periods 1272
  5. cpus.nr_throttled 8
  6. cpus.system_time_secs 0.23
  7. cpus.throttled_time_secs 0.45
  8. cpus.user_time_secs 0.15
  9. mem.anon_bytes 9359360
  10. mem.cache_bytes 106496
  11. mem.file_bytes 106496
  12. mem.limit_bytes 44040192
  13. mem.rss_bytes 9359360
  14. mem.total_bytes 9465856
  15. perf.timestamp 1556720487.68
  1. CPU、磁盘和内存统计来自 Mesos 提供的容器数据。`statsd_tester.time.uptime`.
  2. 统计数据来自应用程序本身。
  • 主机级度量标准

    对于任务数据,主机级度量标准以摘要或详细表格的形式提供。 要查看主机级度量标准,请执行以下命令:

    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. ]

    ```