【Ambari監控】— API請求邏輯梳理

附錄:完整內容和源代碼下載請參照

https://doc.janettr.com/

在這里插入圖片描述

一、前序章節回憶

我們在前面章節拆解了 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獲取指標 UUIDmetricName, appId, hostname, instanceId
存活GET/ws/v1/timeline/metrics/livenodes當前活躍節點-

2.2 基礎類接口

:::danger 枯燥提醒
不想看可以看后面的導入操作,我們把openapi.json文件放到了 githubgitee 中供大家自行體驗
:::

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 文件地址

image-20250904152941457

導入效果如下:

image-20250904152820170

所有接口自動分組,支持調試和測試:

db9848c2e0af05caa183245e048824dd

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96794.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96794.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96794.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文閱讀 2025-9-13 論文閱讀隨心記

隨便記錄一下最近閱讀的幾篇論文 1. Does DINOv3 Set a New Medical Vision Standard? 第一章 動機 (Motivation) 自然圖像領域的成功范式&#xff1a;大型語言模型&#xff08;LLMs&#xff09;和視覺基礎模型&#xff08;如 DINO 系列&#xff09;證明&#xff0c;通過自監督…

Avalonia 基礎導航實現:從頁面切換到響應式交互全指南

在 Avalonia 開發中&#xff0c;導航功能是構建多頁面應用的核心需求。Avalonia 無需依賴第三方庫&#xff0c;僅通過內置控件與 MVVM 模式即可實現靈活的頁面切換。本文將以 “基礎導航” 為核心&#xff0c;從 ViewModel 與 View 設計、導航邏輯實現&#xff0c;到樣式美化與…

UniApp 分包異步化配置及組件引用解決方案

具體參考微信小程序文檔基礎能力 / 分包加載 / 分包異步化 一、分包頁面組件配置 在 UniApp 的pages.json中&#xff0c;為分包頁面&#xff08;或主包如 tabbar 頁面&#xff09;配置異步組件時&#xff0c;需同時設置usingComponents和componentPlaceholder&#xff1a; {&…

系統核心解析:深入操作系統內部機制——進程管理與控制指南(一)【進程/PCB】

???~~~~~~歡迎光臨知星小度博客空間~~~~~~??? ???零星地變得優秀~也能拼湊出星河~??? ???我們一起努力成為更好的自己~??? ???如果這一篇博客對你有幫助~別忘了點贊分享哦~??? ???如果有什么問題可以評論區留言或者私信我哦~??? ??????個人…

微論-神經網絡特征空間的動態聚集,對抗災難性遺忘的新范式

這是一個非常有趣且富有想象力的理論構想。受陀螺儀啟發&#xff0c;我將陀螺儀的“定軸性”與“進動性”原理引入神經網絡的特征空間&#xff0c;探討一種對抗災難性遺忘的新范式。---### **基于陀螺儀原理的神經網絡記憶鞏固理論探討**#### **引言&#xff1a;記憶的流失與穩…

鴻蒙審核問題——折疊屏展開態切換時,輸入框內容丟失

文章目錄背景解決歷程1、無意中發現了眉目2、確定問題原因3、解決辦法4、官方文檔5、總結背景 奇葩的事情年年有啊&#xff0c;今年特別多。這不今天又遇到了一個奇葩的問題。鴻蒙NextAPP上架AppGallery市場&#xff0c;審核拒了&#xff0c;說是折疊屏手機展開態切換時&#…

前后端分離架構中,Node.js的底層實現原理與線程池饑餓問題解析

在VueJava/.NET的前后端分離架構中&#xff0c;Node.js的底層實現原理與線程池饑餓問題解析 一、架構概述&#xff1a;Node.js的定位與角色 在現代Web開發中&#xff0c;Vue.js作為前端框架與Java/.NET后端結合的架構非常流行。在這種架構中&#xff0c;Node.js通常扮演著兩個關…

Django ModelForm:快速構建數據庫表單

Django 中的 forms.ModelForm —— 它是 Django 表單系統和 ORM 的一個“橋梁”&#xff0c;能幫助你快速基于 數據庫模型&#xff08;Model&#xff09; 自動生成表單&#xff0c;極大減少重復代碼。1. 什么是 ModelForm 普通 Form (forms.Form)&#xff1a;完全手寫字段&…

補 json的作用

&#xff1a;“我開車直接擰鑰匙就能走&#xff0c;為什么還要看儀表盤和用中控臺&#xff1f;”直接點擊“運行”&#xff0c;就像是汽車的自動駕駛模式。它能幫你開起來&#xff0c;但你不知道它走的是哪條路&#xff0c;油門踩多深。使用 launch.json 配置&#xff0c;就像是…

apache詳細講解(apache介紹+apache配置實驗+apache實現https網站)

1.apache HTTP server介紹httpd項目地址:https://httpd.apache.org/ 在Apache2中有三種工作模式&#xff0c;使用者可以根據不同的業務場景來進行選擇(1)prefork模式prefork模式是一種老而穩的模式:一個主進程管理者多個子進程&#xff0c;每個子進程單獨處理用戶請求&#xf…

jajajajajajajava

線程1 線程概念進程:進程指正在內存中運行的程序。進程具有一定的獨立性。線程:線程是進程中的一個執行單元。負責當前進程中程序的執行。一個進程中至少有一個線程。如果一個進程中有多個線程&#xff0c;稱之為多線程程序。java中的線程采用的是搶占式調度&#xff0c;如果線…

虛擬機CentOS里JDK的安裝與環境配置

---本文以JDK17為例---步驟 1&#xff1a;進入/tmp臨時目錄# 進入臨時目錄 cd /tmp步驟 2&#xff1a;下載 Java 17 安裝包wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz步驟 3&am…

mybatis-plus多租戶兼容多字段租戶標識

默認租戶插件處理器的缺陷 在springboot工程中引入mybatis-plus的租戶插件TenantLineInnerInterceptor&#xff0c;能簡化我們的數據隔離操作&#xff0c;例如各類含租戶用戶登錄權限的rest接口中&#xff0c;不需要再根據登錄用戶-set租戶條件-觸發查詢&#xff0c;租戶插件能…

HBase高級特性(布隆過濾器和協處理器)、列族設計、rowkey設計以及熱點問題處理

在闡述HBase高級特性和熱點問題處理前&#xff0c;首先回顧一下HBase的特點&#xff1a;分布式、列存儲、支持實時讀寫、存儲的數據類型都是字節數組byte[]&#xff0c;主要用來處理結構化和半結構化數據&#xff0c;底層數據存儲基于hdfs。 同時&#xff0c;HBase和傳統數據庫…

redis sentinel 與 clauster 的區別

Redis Sentinel(哨兵)和Redis Cluster(集群)是Redis提供的兩種不同的高可用和擴展性解決方案,它們的設計目標和適用場景有顯著區別: 1. 核心功能與目標 Redis Sentinel 主要解決主從架構的高可用問題,實現自動故障轉移 監控主從節點狀態,當主節點故障時自動將從節點提…

MySQL數據庫中快速導入大數據sql

1.PwerShell命令頁面導入全表數據庫 -P3310 指定數據庫端口號Get-Content "本地sql文件目錄" | .\mysql -u root -p -P 33102.PwerShell命令頁面導入單表到數據庫 -P3310 指定數據庫端口號Get-Content "本地sql文件目錄" | .\mysql -u root -p -P 3310 數…

消息類型proto的編寫和生成

消息類型proto的編寫和生成 代碼如下&#xff1a; syntax"proto3"; package xypmq;enum ExchangeType {UNKNOWNTYPE0;DIRECT1;FANOUT2;TOPIC3; };enum DeliveryMode {UNKNOWNMODE0;UNDURABLE1;DURABLE2; };message BasicProperties {string id1;DeliveryMode deliver…

Vuetify:構建優雅Vue應用的Material Design組件庫

Vuetify是一個基于Material Design設計規范的Vue.js UI組件庫&#xff0c;它提供了80多個精心設計的組件&#xff0c;幫助開發者快速構建美觀且功能豐富的企業級應用。核心特性1. 完整的Material Design實現// 所有組件遵循Material Design規范 <v-btn color"primary&q…

SpringBoot 注解深剖:@RequestParam 與 @RequestBody 的終極對決,90% 的開發者都踩過這些坑!

在 SpringBoot 開發中&#xff0c;處理 HTTP 請求參數是我們每天都要面對的工作。而RequestParam和RequestBody這兩個注解&#xff0c;就像是我們手中的兩把利劍&#xff0c;既能高效解決問題&#xff0c;用不好也可能 "誤傷" 自己。作為一名資深 Java 開發者&#x…

【Docker】P2 Docker環境構建準備:MacOS 與 Linux

目錄操作系統與 Docker 的兼容性分析Docker 技術本質MacOS 環境下的 Docker 構建1. 安裝前準備2. Docker Desktop安裝3. 鏡像加速配置高級操作&#xff1a;文件共享配置Linux 環境下的 Docker 構建卸載歷史版本配置軟件源Docker 核心組件安裝系統服務配置鏡像加速器配置應用配置…