专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

prometheuscommunity/json-exporter Docker 镜像 - 轩辕镜像 | Docker 镜像高效稳定拉取服务

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
json-exporter
prometheuscommunity/json-exporter
prometheuscommunity
Prometheus社区提供的JSON数据导出工具,用于从JSON数据源提取指标并转换为Prometheus可抓取格式,支持监控JSON数据相关系统。
3 次收藏下载次数: 0状态:社区镜像维护者:prometheuscommunity仓库类型:镜像最近更新:2 个月前
轩辕镜像,不浪费每一次拉取。点击查看
中文简介版本下载
轩辕镜像,不浪费每一次拉取。点击查看

json_exporter

镜像概述和主要用途

json_exporter 是由 Prometheus 社区开发的一款指标导出工具(exporter),用于通过 JSONPath 表达式从远程 JSON 数据源抓取数据,并将其转换为 Prometheus 可识别的指标格式。该工具支持灵活的模块配置,可针对不同结构的 JSON 数据定义独立的提取规则,是连接 JSON 数据源与 Prometheus 监控体系的关键组件。

核心功能和特性

  • JSONPath 支持:采用 Kubernetes 风格的 JSONPath 语法,可精确定位 JSON 结构中的数据字段
  • 多模块配置:支持定义多个抓取模块,每个模块可针对不同 JSON 数据源配置独立的提取规则
  • HTTP 请求灵活性:支持 HTTP GET 和 POST 方法,POST 请求体可配置为静态内容或模板化内容(使用 Go Template 及 Sprig 库函数)
  • 自定义时间戳:允许将 JSON 中的字段作为指标的 Unix 时间戳(int64 类型)
  • TLS 安全支持:可通过配置启用 HTTPS,保障指标传输安全(详见 exporter-toolkit/web TLS 配置)
  • Prometheus 集成:输出符合 Prometheus 规范的指标,可直接被 Prometheus 抓取和监控

使用场景和适用范围

  • API 监控:从返回 JSON 格式数据的 REST API 服务中提取业务指标(如用户数、订单量等)
  • 文件监控:从本地或远程 JSON 格式的日志文件、配置文件中提取系统或应用状态指标
  • 多源适配:需同时监控多种不同结构 JSON 数据源的场景(通过多模块配置实现差异化处理)
  • 自定义指标:将非标准 JSON 数据源集成到 Prometheus 监控体系的场景

详细使用方法和配置说明

基本使用步骤
  1. 构建并启动 exporter(本地编译方式):

    console
    $ make build
    $ ./json_exporter --config.file examples/config.yml &
    
  2. 启动测试 HTTP 服务器(用于提供 JSON 测试数据):

    console
    $ python3 -m http.server 8000 &
    Serving HTTP on :: port 8000 (http://[::]:8000/) ...
    
模块测试示例
默认模块测试

通过 probe 端点指定 default 模块和目标 JSON 数据源:

console
$ curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"

返回指标示例:

# HELP example_global_value Example of a top-level global value scrape in the json
# TYPE example_global_value untyped
example_global_value{environment="beta",location="planet-mars"} 1234
# HELP example_timestamped_value_count Example of a timestamped value scrape in the json
# TYPE example_timestamped_value_count untyped
example_timestamped_value_count{environment="beta"} 2
# HELP example_value_active Example of sub-level value scrapes from a json
# TYPE example_value_active untyped
example_value_active{environment="beta",id="id-A"} 1
example_value_active{environment="beta",id="id-C"} 1
...
自定义模块测试

针对不同 JSON 结构使用 animals 模块:

console
$ curl "http://localhost:7979/probe?module=animals&target=http://localhost:8000/examples/animal-data.json"

返回指标示例:

# HELP animal_population Example of top-level lists in a separate module
# TYPE animal_population untyped
animal_population{name="deer",predator="false"} 456
animal_population{name="lion",predator="true"} 123
animal_population{name="pigeon",predator="false"} 789
通过 Prometheus 测试
  1. 启动 Prometheus 容器,挂载包含 json_exporter 抓取配置的 prometheus.yml:

    console
    $ docker run --rm -it -p 9090:9090 -v $PWD/examples/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
    
  2. 访问 Prometheus UI:

    • 指标查询:http://localhost:9090/graph?g0.range_input=1h&g0.expr=example_value_active&g0.tab=1
    • 目标状态:http://localhost:9090/targets
使用自定义时间戳

可将 JSON 中的字段指定为指标的 Unix 时间戳(int64 类型),但需注意:

  • Prometheus 原生的 数据过期机制 将被禁用
  • 可能导致指标数据在 Prometheus 中保留时间超出预期
通过 HTTPS 暴露指标

可通过配置启用 HTTPS,具体 TLS 参数配置详见 exporter-toolkit/web 文档。

发送 HTTP POST 请求体内容

当配置 modules.<module_name>.body 参数时,exporter 将以 POST 方法发送请求,请求体内容由 body.content 定义,支持以下特性:

静态内容示例
yaml
body:
  content: |
    My static information: {"time_diff": "1m25s", "anotherVar": "some value"}
模板化内容示例(启用 Go Template)

需设置 body.templatize: true,可使用 Go Template 及 Sprig 库 函数:

yaml
body:
  content: |
    {"time_diff": "{{ duration `95` }}","anotherVar": "{{ randInt 12 30 }}"}
  templatize: true
结合查询参数的模板示例

Prometheus 发送给 exporter 的查询参数可作为模板变量使用:

yaml
body:
  content: |
    {"time_diff": "{{ duration `95` }}","anotherVar": "{{ .myVal | first }}"}
  templatize: true

请求示例:

console
$ curl "[***]"

实际发送的 POST 请求体:

{"time_diff": "1m35s","anotherVar": "something"}

Docker 部署方案

Docker run 命令示例
console
$ docker run -v $PWD/examples/config.yml:/config.yml quay.io/prometheuscommunity/json-exporter --config.file=/config.yml
  • -v $PWD/examples/config.yml:/config.yml:挂载本地配置文件到容器内
  • --config.file=/config.yml:指定 exporter 使用的配置文件路径

配置参数说明

核心启动参数
  • --config.file:(必选)指定 JSON exporter 的配置文件路径,配置文件需包含模块定义、JSONPath 规则等
模块配置参数(config.yml 中)
  • body.content:POST 请求体内容,支持静态文本或模板字符串
  • body.templatize:布尔值,是否启用模板化处理(默认 false),启用后 body.content 将作为 Go Template 解析
查看更多 json-exporter 相关镜像 →
prometheuscommunity/postgres-exporter logo
prometheuscommunity/postgres-exporter
prometheuscommunity
Prometheus社区维护的PostgreSQL数据库指标导出器,用于收集PostgreSQL性能指标并暴露给Prometheus监控系统。
18 次收藏500万+ 次下载
14 天前更新
prometheuscommunity/stackdriver-exporter logo
prometheuscommunity/stackdriver-exporter
prometheuscommunity
prometheuscommunity/stackdriver-exporter
3 次收藏100万+ 次下载
3 个月前更新
prometheuscommunity/pgbouncer-exporter logo
prometheuscommunity/pgbouncer-exporter
prometheuscommunity
Prometheus的PgBouncer导出器,用于收集PgBouncer指标并在9127/metrics端点暴露。
100万+ 次下载
14 天前更新
prometheuscommunity/elasticsearch-exporter logo
prometheuscommunity/elasticsearch-exporter
prometheuscommunity
prometheuscommunity/elasticsearch-exporter
5 次收藏100万+ 次下载
2 天前更新
prometheuscommunity/smartctl-exporter logo
prometheuscommunity/smartctl-exporter
prometheuscommunity
Prometheus社区提供的smartctl-exporter镜像,用于通过smartctl工具收集硬盘SMART状态指标并暴露给Prometheus监控系统,实现硬盘健康状态的监控与分析。
2 次收藏50万+ 次下载
3 个月前更新
prometheuscommunity/ipmi-exporter logo
prometheuscommunity/ipmi-exporter
prometheuscommunity
Prometheus的IPMI监控exporter,支持本地(/metrics端点)和远程(RMCP协议,/ipmi端点,多目标模式)IPMI指标收集,默认使用FreeIPMI工具,可选实验性Go原生go-ipmi库,适用于Prometheus监控硬件状态。
4 次收藏50万+ 次下载
4 个月前更新

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

docker search 报错:专属域名下仅支持 Docker Hub 查询

docker search 报错问题

网页搜不到镜像:Docker Hub 有但轩辕镜像搜索无结果

镜像搜索不到

离线传输镜像:无法直连时用 docker save/load 迁移

离线传输镜像

Docker 插件安装错误:application/vnd.docker.plugin.v1+json

Docker 插件安装错误

WSL 下 Docker 拉取慢:网络与挂载目录影响及优化

WSL 拉取镜像慢

轩辕镜像是否安全?镜像完整性校验(digest)说明

镜像安全性

如何用轩辕镜像拉取镜像?登录方式与专属域名配置

如何拉取镜像

错误码与失败问题

manifest unknown 错误:镜像不存在或标签错误

manifest unknown 错误

TLS/SSL 证书验证失败:Docker pull 时 HTTPS 证书错误

TLS 证书验证失败

DNS 解析超时:无法解析镜像仓库地址或连接超时

DNS 解析超时

410 Gone 错误:Docker 版本过低导致协议不兼容

410 错误:版本过低

402 Payment Required 错误:流量耗尽错误提示

402 错误:流量耗尽

401 UNAUTHORIZED 错误:身份认证失败或登录信息错误

身份认证失败错误

429 Too Many Requests 错误:请求频率超出专业版限制

429 限流错误

Docker login 凭证保存错误:Cannot autolaunch D-Bus(不影响登录)

凭证保存错误

账号 / 计费 / 权限

免费版与专业版区别:功能、限额与使用场景对比

免费版与专业版区别

支持的镜像仓库:Docker Hub、GCR、GHCR、K8s 等列表

轩辕镜像支持的镜像仓库

拉取失败是否扣流量?计费规则说明

拉取失败流量计费

KYSEC 权限不够:麒麟 V10/统信 UOS 下脚本执行被拦截

KYSEC 权限错误

如何申请开具发票?(增值税普票/专票)

开具发票

如何修改网站与仓库登录密码?

修改网站和仓库密码

配置与原理类

registry-mirrors 未生效:仍访问官方仓库或报错的原因

registry-mirrors 未生效

如何去掉镜像名称中的轩辕域名前缀?(docker tag)

去掉域名前缀

如何拉取指定架构镜像?(ARM64/AMD64 等多架构)

拉取指定架构镜像

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
prometheuscommunity/json-exporter
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.