TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • Ambari 深度专题

  • Bigtop 方法论

  • 自定义集成

  • Ambari Server 与 Web

  • Ambari Metrics

    • 试读&介绍

    • 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-Collector-指标查询-接口实战

      • AMS-Collector-普通指标写入-接口实战

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

  • Ambari Plus 思考

  • Redis集成实战

  • 通用代码模板

  • 各组件代码

  • 技术专题
  • Ambari Metrics
  • Ambari-Metrics解读【简写AMS】
  • AMS-Collector-元数据-接口实战
JaneTTR
2025-09-02
目录
一、前序章节回忆
二、接口请求梳理
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 导入与调试

[控制器类] — 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-Metrics#源码解析#Ambari#WebApp#OpenAPI
[监控表] — Uuid 16 位构成全解析
[/metrics/metadata] — 元数据查询和使用

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

最近更新
01
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式