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

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • 报错解决

  • 系统适配

  • 监控与调优

    • Ambari-Metrics插件
    • Infinity插件
      • 准备工作

      • 创建最简DEMO

        • Grafana9.3.2+Infinity2.3.1

        • Grafana11.5.2+Infinity3.4.1

          • 快速创建一个简单demo
            • 一、配置 Data Source
            • 二、新建 Dashboard 与 Panel
            • 三、配置数据解析规则
              • Rows 配置
              • Columns 配置
            • 四、验证 API 数据
            • 五、展示单一指标效果
            • 六、完整 Panel JSON 配置
          • Panel JSON 配置示例
    • 组件配置调优
    • 组件调优指南
    • 1v1指导调优
  • BUG临时处理
  • 实验室

  • 运维资料
  • 监控与调优
  • Infinity插件
  • 创建最简DEMO
  • Grafana11.5.2+Infinity3.4.1
JaneTTR
2025-08-25
目录
一、配置 Data Source
二、新建 Dashboard 与 Panel
三、配置数据解析规则
Rows 配置
Columns 配置
四、验证 API 数据
五、展示单一指标效果
六、完整 Panel JSON 配置

快速创建一个简单demo

注意

本节内容仅适用于 Grafana 11.5.2 + Infinity 3.4.1 环境,其他版本插件的配置方式可能有所不同。

# 一、配置 Data Source

首先,在 Grafana 的 Infinity 数据源中填写 Ambari-Metrics 的 API 地址。
这里我们以 Namenode JVM 堆内存使用量(jvm.JvmMetrics.MemHeapCommittedM) 为例:

配置 Data Source URL
图:配置数据源 URL,确认 collector 地址

提示

如果不确定 AMS Collector 的位置,可以:

  • 在 Ambari WebUI 查看 Metrics Collector 服务;
  • 或者在节点上确认 6188 端口。

# 二、新建 Dashboard 与 Panel

新建一个 Dashboard,并在其中添加一个 Panel。

新建 Panel
图:新建 Panel 并选择 Infinity 数据源

Step 1

进入 Dashboard 页面,点击 Add panel,并选择 Infinity 数据源。

Step 2

在 Query 配置界面:

  • Type → JSON
  • Parser → JSONata (语法更灵活,适合表达式转换)

Step 3

继续配置:

  • Source → URL(通过 AMS API 获取数据)
  • Format → Time Series(时序数据,Grafana 才能绘制曲线)

Step 4

填写 URL 示例:

/ws/v1/timeline/metrics?metricNames=jvm.JvmMetrics.MemHeapCommittedM&appId=namenode&startTime=${__from}&endTime=${__to}
1

${__from} 和 ${__to} 是 Grafana 的内置时间变量,会自动替换成面板的时间范围。

# 三、配置数据解析规则

# Rows 配置

Panel Query 配置 图:Query 配置界面,定义Rows配置

metrics[0].metrics ~> $each(function($v, $k) {
  {
    "key": $k,
    "value": $v
  }
})
1
2
3
4
5
6
  • 将 JSON 中的 metrics 对象转换为键值对数组;
  • 输出结果:[{key: 时间戳, value: 数值}, …]。

# Columns 配置

  • key → time(类型:timestamp_epoch)
  • value → 指标值(类型:number)

image-20250825220347706

# 四、验证 API 数据

在浏览器或命令行直接调用 API,确认返回结果:

http://dev1:6188/ws/v1/timeline/metrics?appId=namenode&endTime=1755853294640&metricNames=jvm.JvmMetrics.MemHeapCommittedM&startTime=1755849694640
1

API 返回结果 图:Ambari-Metrics API 返回的 JSON 数据结构

注意

  • 时间戳是 毫秒级 Unix 时间戳,必须用 timestamp_epoch;
  • 如果返回为空,请检查 appId 和 metricNames 是否正确。

# 五、展示单一指标效果

配置完成后,Grafana Panel 能正确显示一个 JVM 堆内存指标的曲线:

单一指标展示 图:最终效果,一个 JVM 堆内存指标的时序曲线

思考

同样的方法也可以应用于 CPU、内存、磁盘 IO、HDFS、YARN 等 AMS 指标。

# 六、完整 Panel JSON 配置

完整的配置请浏览

  • Panel JSON 配置示例
#Grafana#Infinity#监控运维#Ambari-Metrics#插件扩展
Panel JSON 配置示例
Panel JSON 配置示例

← Panel JSON 配置示例 Panel JSON 配置示例→

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