TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件专题

    • 安装教程
    • 魔改分享
  • 版本专题

    • 更新说明
    • BUG临时处理
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop-官方组件
    • 专区—Bigtop-扩展组件
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • APT仓库增量更新
    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Ambari-Metrics
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 核心代码

    • 各组件代码
    • 通用代码模板
  • 国产化&其他系统

    • Rocky系列
    • Ubuntu系列
  • Grafana监控方案

    • Ambari-Metrics插件
    • Infinity插件
  • 支持&共建

    • 蓝图愿景
    • 合作共建
登陆
GitHub (opens new window)
  • 试读&介绍

  • Ambari-Metrics解读【简写AMS】

    • 源码下载及环境初始化
    • 项目目录及模块解读
    • AMS-Collector剖析

    • AMS-Collector表结构实战

    • AMS-Collector-元数据-接口实战

    • AMS-Collector-指标查询-接口实战

      • [/metrics] — 监控数据接口查询方法
        • 一、接口介绍
        • 二、参数说明
        • 三、最小请求示例
          • 3.1 输入参数
          • 3.2 执行请求
          • 3.3 返回结果
          • 3.4 结果解析
        • 四、配合 APIFOX 可视化调试
          • 调试截图
      • [/metrics] — 请求参数概括及详解索引
      • [/metrics] — Service 代码整体逻辑概览
      • [/metrics] — metricNames 生命周期
      • [/metrics] — seriesAggregateFunc生命周期
      • [/metrics] — getUuidsForGetMetricQuery精讲
      • [/metrics] — applyTopNCondition精讲
      • [/metrics] — getAggregateMetricRecords精讲
      • [/metrics] — getMetricRecords精讲
      • [/metrics] — 临时指标精讲
    • AMS-Collector-普通指标写入-接口实战

    • AMS-Collector-聚合指标写入-接口实战

  • GOD-Ambari-Metrics
  • Ambari-Metrics解读【简写AMS】
  • AMS-Collector-指标查询-接口实战
JaneTTR
2025-09-12
目录

[/metrics] — 监控数据接口查询方法GET

# 一、接口介绍

/ws/v1/timeline/metrics 是 Ambari-Metrics Collector 中最常用的接口,用于查询监控指标的时序数据。
通过该接口,用户可以灵活地按 指标名、应用 ID、主机名、时间窗口 等条件,获取所需的指标序列。

接口特点:

  • 支持 多值查询:metricNames、hostname 可一次传多个值;
  • 所有参数均为可选(源码注释明确说明),但如果不传 metricNames,查询结果通常无意义;
  • 提供 TopN、BottomN、聚合函数 等高级用法;
  • 返回 JSON 结构,易于和 Grafana、前端看板集成。

# 二、参数说明

参数 是否必填 示例值 说明
metricNames 必须 cpu_user 指标名,支持多个,逗号分隔
appId 否 HOST / ams-hbase 指标所属的应用或子系统
instanceId 否 instance-1 实例 ID(可区分不同进程/角色)
hostname 否 dev1 / dev1,dev2 主机过滤条件
startTime 必须 1757640582000 查询起始时间(epoch 毫秒)
endTime 必须 1757662182000 查询结束时间(epoch 毫秒)
precision 否 minutes 时间粒度:seconds / minutes / hours
limit 否 10 单序列返回点数上限
grouped 否 true 是否分组返回,缺省为 true
topN 否 5 Top-N 个数
topNFunction 否 max Top-N 函数:max/min/avg/sum
isBottomN 否 true 是否取 Bottom-N
seriesAggregateFunction 否 avg 跨序列聚合函数:avg/sum/min/max

使用建议

  • 时间戳必须是毫秒,误传为秒将可能导致无数据,且两个参数都必须输入;
  • 大窗口查询建议指定 precision,减少结果点数;
  • TopN 与 BottomN 参数互斥,注意区分使用;
  • 实际调用时,推荐至少传入:metricNames + startTime + endTime。

# 三、最小请求示例

下面我们通过一个最小可运行的 demo 来演示 /metrics 接口的使用。

# 3.1 输入参数

我们选择查询主机的 CPU 用户态使用率:

  • metricNames=cpu_user
  • appId=HOST
  • startTime=1757640600000
  • endTime=1757640900000
  • limit=5

# 3.2 执行请求

通过 cURL 命令行发起请求:


curl "http://dev1:6188/ws/v1/timeline/metrics?\
metricNames=cpu_user \
&appId=HOST \
&startTime=1757640600000 \
&endTime=1757640900000 \
&limit=5"

1
2
3
4
5
6
7
8

# 3.3 返回结果

接口返回的 JSON 数据如下(节选):

{
  "metrics": [
    {
      "metricname": "cpu_user",
      "appid": "HOST",
      "hostname": "dev1",
      "timestamp": 0,
      "starttime": 1757640600000,
      "metrics": {
        "1757640600000": 0.15,
        "1757640630000": 0.18,
        "1757640660000": 0.21,
        "1757640690000": 0.25,
        "1757640720000": 0.27
      },
      "metadata": {}
    }
  ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

# 3.4 结果解析

  • metricname:返回的指标名,与请求参数一致;
  • appid:指标所属的应用 ID;
  • metrics:核心数据,时间戳 → 值 的映射;
  • starttime:序列起点时间;
  • metadata:扩展信息(若 Collector 配置了单位/来源则写入)。

# 四、配合 APIFOX 可视化调试

通过 APIFOX 导入 openapi.json 文件 (opens new window),即可方便调试。

操作流程:

  1. 打开 /ws/v1/timeline/metrics;
  2. 填写 metricNames、appId、时间窗口;
  3. 点击运行,得到 JSON;
  4. 前端渲染生成曲线图。

# 调试截图

image-20250912160351577

如图所示:

  • 输入参数为 metricNames、appId、时间范围;
  • 返回结果按时间戳对应数值;
  • 渲染后即可得到时序曲线。

后续内容

我们将从代码阶段给大家解读,不同参数的组合查询实战

#Ambari#Ambari-Metrics#TimelineService#Collector#Controller#Metadata
[/metrics/metadata] — 缓存数据装载
[/metrics] — 请求参数概括及详解索引

← [/metrics/metadata] — 缓存数据装载 [/metrics] — 请求参数概括及详解索引→

最近更新
01
[/metrics/aggregated] — 聚合数据范围 检查点
09-19
02
[/metrics] — 反向分析接口参数 请求抓包
09-17
03
[/metrics] — 普通指标写入方法 POST
09-17
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式