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接口实战

      • [控制器类] — API请求逻辑梳理
        • 一、前序章节回忆
        • 二、接口请求梳理
          • 2.1 接口总览表
          • 2.2 基础类接口
          • 2.2.1 /ws/v1/timeline
          • 2.3 写入类接口
          • 2.3.1 /ws/v1/timeline/metrics
          • 2.3.2 /ws/v1/timeline/metrics/aggregated
          • 2.3.3 /ws/v1/timeline/containermetrics
          • 2.4 查询类接口
          • 2.4.1 /ws/v1/timeline/metrics
          • 2.4.2 /ws/v1/timeline/metrics/{instanceId}
          • 2.4.3 /ws/v1/timeline/metrics/summary
          • 2.5 元数据接口
          • 2.5.1 /ws/v1/timeline/metrics/metadata
          • 2.5.2 /ws/v1/timeline/metrics/{instanceId}/metadata
          • 2.6 拓扑类接口
          • 2.6.1 /ws/v1/timeline/metrics/hosts
          • 2.6.2 /ws/v1/timeline/metrics/instance
          • 2.6.3 /ws/v1/timeline/metrics/{instanceId}/instance
          • 2.7 诊断与存活接口
          • 2.7.1 /ws/v1/timeline/metrics/uuid
          • 2.7.2 /ws/v1/timeline/metrics/livenodes
        • 三、Apifox 导入与调试
      • [/metrics/metadata] — 元数据查询和使用
      • [/metrics/metadata] — 请求完整链路解读
      • [/metrics/metadata] — 缓存数据装载
    • AMS-Monitor剖析

  • Metrics2协议解读

  • Hadoop-SINK剖析

  • Hbase-SINK剖析

  • Kafka-SINK剖析

  • 自定义组件接入监控

  • 其他监控方案

  • GOD-Ambari-Metrics
  • Ambari-Metrics解读【简写AMS】
  • AMS-Collector接口实战
JaneTTR
2025-09-02
目录

[控制器类] — API请求逻辑梳理

# 一、前序章节回忆

我们在前面章节拆解了 Collector 的启动过程,并定位了控制器 TimelineWebServices。
本节聚焦 Collector 对外暴露的 REST 服务,搭建「接口全景图」。

# 二、接口请求梳理

# 2.1 接口总览表

分类 方法 路径 功能 主要参数
基础 GET /ws/v1/timeline 服务探活 -
写入 POST /ws/v1/timeline/metrics 写入普通指标 TimelineMetrics JSON
写入 POST /ws/v1/timeline/metrics/aggregated 写入聚合指标 AggregationResult JSON
写入 POST /ws/v1/timeline/containermetrics 写入容器指标 List<ContainerMetric>
查询 GET /ws/v1/timeline/metrics 核心查询接口 metricNames, appId, hostname, startTime, endTime, precision, topN
查询 GET /ws/v1/timeline/metrics/{instanceId} 按实例查询 instanceId PathParam
查询 GET /ws/v1/timeline/metrics/summary 获取服务摘要 -
元数据 GET /ws/v1/timeline/metrics/metadata 查询指标元数据 appId, metricName, includeAll
元数据 GET /ws/v1/timeline/metrics/{instanceId}/metadata 实例元数据(实现未完整) instanceId PathParam
拓扑 GET /ws/v1/timeline/metrics/hosts 主机→应用映射 -
拓扑 GET /ws/v1/timeline/metrics/instance 主机→应用→实例映射 appId, instanceId
拓扑 GET /ws/v1/timeline/metrics/{instanceId}/instance 等价实例查询 instanceId PathParam
诊断 GET /ws/v1/timeline/metrics/uuid 获取指标 UUID metricName, appId, hostname, instanceId
存活 GET /ws/v1/timeline/metrics/livenodes 当前活跃节点 -

# 2.2 基础类接口

枯燥提醒

不想看可以看后面的导入操作,我们把openapi.json文件放到了 github 和 gitee 中供大家自行体验

# 2.2.1 /ws/v1/timeline

  • 方法:GET
  • 功能:探活,确认 Collector 是否在线。
  • 参数:无

# 2.3 写入类接口

# 2.3.1 /ws/v1/timeline/metrics

  • 方法:POST
  • 功能:写入普通时序指标。
  • 参数:TimelineMetrics JSON

# 2.3.2 /ws/v1/timeline/metrics/aggregated

  • 方法:POST
  • 功能:写入主机级聚合指标。
  • 参数:AggregationResult JSON

# 2.3.3 /ws/v1/timeline/containermetrics

  • 方法:POST
  • 功能:写入容器级指标。
  • 参数:List<ContainerMetric> JSON

# 2.4 查询类接口

# 2.4.1 /ws/v1/timeline/metrics

  • 方法:GET
  • 功能:核心查询接口。
  • 主要参数:metricNames, appId, hostname, startTime, endTime, precision, topN

# 2.4.2 /ws/v1/timeline/metrics/{instanceId}

  • 方法:GET
  • 功能:与 2.4.1 类似,支持 PathParam instanceId。

# 2.4.3 /ws/v1/timeline/metrics/summary

  • 方法:GET
  • 功能:返回 Collector 服务摘要。
  • 参数:无

# 2.5 元数据接口

# 2.5.1 /ws/v1/timeline/metrics/metadata

  • 方法:GET
  • 功能:查询指标元数据。
  • 主要参数:appId, metricName, includeAll

# 2.5.2 /ws/v1/timeline/metrics/{instanceId}/metadata

  • 方法:GET
  • 功能:实例元数据查询(当前实现未完整使用 PathParam)。

# 2.6 拓扑类接口

# 2.6.1 /ws/v1/timeline/metrics/hosts

  • 方法:GET
  • 功能:返回主机与应用映射。

# 2.6.2 /ws/v1/timeline/metrics/instance

  • 方法:GET
  • 功能:返回主机→应用→实例映射。
  • 参数:appId, instanceId

# 2.6.3 /ws/v1/timeline/metrics/{instanceId}/instance

  • 方法:GET
  • 功能:与 2.6.2 类似,支持 PathParam instanceId。

# 2.7 诊断与存活接口

# 2.7.1 /ws/v1/timeline/metrics/uuid

  • 方法:GET
  • 功能:返回指标的 UUID。
  • 主要参数:metricName, appId, hostname, instanceId

# 2.7.2 /ws/v1/timeline/metrics/livenodes

  • 方法:GET
  • 功能:返回当前活跃的 Collector 节点列表。

# 三、Apifox 导入与调试

我们将接口定义整理为 OpenAPI 规范文件,可以直接导入 Apifox:

👉 openapi.json 文件地址 (opens new window)

image-20250904152941457

导入效果如下:

image-20250904152820170

所有接口自动分组,支持调试和测试:

db9848c2e0af05caa183245e048824dd

#Ambari#Ambari-Metrics#Collector#TimelineService#控制器#REST接口#WebApp#OpenAPI
[监控表] — Uuid 16 位构成全解析
[/metrics/metadata] — 元数据查询和使用

← [监控表] — Uuid 16 位构成全解析 [/metrics/metadata] — 元数据查询和使用→

最近更新
01
[/metrics/metadata] — 元数据查询和使用 GET
09-12
02
[/metrics/metadata] — 请求完整链路解读
09-12
03
[/metrics/metadata] — 缓存数据装载 Phoenix
09-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式