使用 jq 将 JSON 对象转换为 Prometheus 指标格式

2024-04-08

考虑一个 JSON 对象,例如

{
  "foo": 42,
  "baz": -12,
  "bar{label1=\"value1\"}": 12.34
}

建造者jq https://github.com/stedolan/jq使用一些数据源。实际的键名称及其数量可能会有所不同,但结果将始终是一个以数字(int 或 float)作为值的对象。键可以包含引号,但不能包含空格。

我可以使用 jq 将对象格式化为普罗米修斯 https://prometheus.io/- 兼容格式,这样我就可以使用输出将数据推送到 Prometheus Pushgateway?

所需的结果如下所示

foo 42
bar{label1="value1"} 12.34
baz -12

即用空格分隔换行符(没有\r) 并且除了标签值之外不带引号。

我无法使用 bash 进行后处理,因此如果可能的话更喜欢纯 jq 解决方案。


Use keys_unsorted获取对象键(keys也做同样的事情,但前者更快),通过字符串插值生成所需的输出。

$ jq -r 'keys_unsorted[] as $k | "\($k) \(.[$k])"' file
foo 42
baz -12
bar{label1="value1"} 12.34

并且,通过添加-j选项并按照@peak建议手动打印换行,您可以使其便携。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jq 将 JSON 对象转换为 Prometheus 指标格式 的相关文章

  • 读取/写入本地 json 文件 swift 4

    请帮我 我在项目中添加了一个json文件 我的 json 文件 person title image Vitamin1 favorite false title B6 image Vitamin2 favorite false 我可以读取文
  • 不要使用android内置的org.json

    我写了一个使用的库org json http json org A 来自 json org 假设 Android 使用相同的 在 android 中也称为org json B 只是它遗漏了一些相对关键的功能 现在我想做的是设置我的 grad
  • SyntaxError: JSON.parse: JSON 数据第 1 行第 1 列出现意外字符

    我花了 6 个多小时在代码中查找异常或特殊字符 但我找不到 我检查了这里所有类似的消息 我正在发送带有放大弹出窗口的表格 首先 我使用内联弹出窗口打开表单 然后将所有输入发送到 main js 进行验证 所以 我只需要第三只眼 我有 ind
  • 使用 Powershell 从 JSON 获取值

    非常初学者的问题 我正在尝试使用 Powershell 从 JSON 获取某些值 具体来说 我想列出服务 测试00000 and FAKE only 当我运行下面的脚本时 我得到 TEST00000 FAKE Enabled True Pr
  • 将Excel数据转换为特定的JSON格式

    我收到一个 Excel 文件 xlsx 如下所示 行和列的数量可以变化 例如 它也可以如下所示 对于第一张图片中的 Excel 工作表 JSON 应如下所示 value Prename Nik Age 17 Country Switzerl
  • 尝试解码 JSON 日期时显示“JSON 写入中的类型无效 (__NSTaggedDate)”

    当我尝试从具有日期变量的数据库中解码 JSON 对象时 出现错误 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 JSON 写入中的无效类型 NSTaggedDate 错误发生在以下代码行 le
  • (可选)根据运行时值序列化属性

    从根本上讲 我想根据序列化时的值包含或省略生成的 Json 中的属性 更具体地说 我有一个类型 它知道是否已为其分配了值 并且我只想序列化该类型的属性 如果有 has是分配给它的东西 所以我需要在运行时检查该值 我试图让我的 API 更容易
  • 在选择选项标签中循环 Ajax 响应

    我必须选择多个测试和日期 当根据测试单击提交时 实验室名称将加载到选择选项中 阿贾克斯脚本 name submits click function e e preventDefault var array select selected e
  • 如何保留一级对象并仅提取其子密钥之一?

    我正在使用 terraform state json 输出 并想对其进行一些转换 鉴于 terraform 发出的输入 cost sensitive false value 123 test id sensitive false value
  • 如何使用 Codable 解析此 JSON?

    我一直在尝试从我的中解析这个对象JSON并不断收到此错误 错误 类型不匹配 Swift Array Swift DecodingError Context codingPath debugDescription 本应解码数组 但找到了字典
  • 来自 geoJSON 的 Google 地图航点

    我想从 geoJSON 文件加载行程 目前来说 它是有效的 但只有两点 但我需要添加 4 或 5 个航路点 我的代码只读取前两个点并将它们设置为起点和目的地 这是我的代码 google maps event addListener map
  • JAX-RS 多态 POST 请求:我应该如何编写 JSON?

    我在尝试用 JAX RS 解决这个问题时遇到了麻烦 我相信它与编组 解组过程有关 我认为我对此不太了解 并且我想重新创建这个 发帖的 REST 端点是 rest register 所以我的服务定义如下 ApplicationPath res
  • 将单引号括起来的数组转换为数组

    深度嵌套在 JSON 对象中我有属性value actions name InviteUser type button value Brian Timoney email protected cdn cgi l email protecti
  • PHP:__toString() 和 json_encode() 不能很好地协同工作

    我遇到了一个奇怪的问题 我不知道如何解决它 我有几个类 它们都是 JSON 对象的 PHP 实现 这是问题的说明 class A protected a public function construct this gt a array n
  • Swift 4 使用随机密钥解码嵌套 JSON [重复]

    这个问题在这里已经有答案了 我是 Swift 4 的新手 正在尝试从 Wikipedia API 解码此 JSON 我正在努力定义一个结构 因为我发现的所有示例 教程都仅嵌套 1 2 层深度 除此之外 当其中一个密钥是随机的时 如何解码数据
  • 等待 JavaScript 中 Json 调用完成

    我正在使用下面的json调用在我的 javascript 方法中 function go123 var cityName var temp getJSON https abc in api city callback args functi
  • 使用 getJSON 未显示 JSON 数据

    document ready function getJSON news php parseInfo function parseInfo data alert data news undefined info html data news
  • 在 JSON 对象中强制执行非空字段

    我们的 REST API 接收一些 JSON 对象输入 其中某些字段要求不为空 这些可以是字符串 整数 甚至可以是其他一些类实例作为参考 我们正在尝试找到一种方法来强制这些字段不为空 而不是在 API 中进行空检查的正确方法 当前的 if
  • 嵌套对象的 AJV 模式验证

    函数返回的对象看起来像这样 answer vehicle type 1 message Car model VW color red 答案 对象始终存在 其他字段基于 vehicle type E g 如果vehicle type 1 则有
  • 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释

    我需要创建一个新的注释 用于在环境变量设置时忽略输出 JSON 文件中的字段var false 我尝试使用JsonAnnotationIntrospector 但无法获得预期的输出 public class Vehicle String v

随机推荐

  • 将文件添加到 CAB 存档的简单示例

    我读了这个post https stackoverflow com questions 3361928 where can i get the cabarc utility关于替换 CABARC 实用程序 微软的帮助涵盖了很多选项here
  • 如果 NSString stringWithContentsOfFile 已被弃用,那么它的替代品是什么?

    我有一些来自 Tuaw 的示例代码 可能是 3 个版本的旧版本 编译器发出警告 表明该方法已被弃用 但我没有看到 SDK 文档中提到这一点 如果不推荐使用 则必须有替代方法或替代方法 有谁知道这个方法的替代品是什么 具体代码是 NSArra
  • Eclipse Kepler 在加载工作台时自动退出并出现错误

    当我启动 Eclipse 时 在启动加载窗口中 eclise 自动退出并出现错误 SESSION 2013 09 05 14 52 04 771 eclipse buildId 4 3 0 I20130605 2000 java versi
  • 使用正则表达式查找包含五个字母 abcde 的单词,每个字母以任意顺序仅出现一次,中间没有中断

    例如 这个词debacle会起作用 因为debac but seabed不起作用 因为 1 在任何可以形成的 5 个字符序列中都没有 c 并且 2 字母 e 出现了两次 再举个例子 feedback会起作用 因为edbac 请记住 解决方案
  • 为什么 Objective-C 没有命名空间?

    为什么 Objective C 没有命名空间 这似乎是一个简单的功能 可以使某些类名更具可读性 AVMutableVideoCompositionLayerInstruction有人吗 并删除类名上愚蠢的字母前缀 这主要是因为向后兼容吗 实
  • 集中式和分布式版本控制系统之间的比较[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何让我的 tkinter 原型系统计算出正确的总价

    我是一名初学者 我正在使用 Tkinter 为 DIY 商店创建一个原型系统 作为我任务的一部分 该应用程序的工作原理是填写一份简单的调查来创建订单 单击 输入数据 按钮后 页面底部应显示您的选择结果 包括总价 我需要一些关于如何编写系统计
  • 使用 serde 序列化时如何按字母顺序对字段进行排序?

    我有一个 API 要求对象的字段按字母顺序排序 因为必须对结构进行哈希处理 在 Java Jackson 中 您可以在序列化器中设置一个标志 MapperFeature SORT PROPERTIES ALPHABETICALLY 我在 S
  • 聚合物全局变量

    我正在开发一个 Polymer 应用程序 它从 RESTful API 中提取数据并使用它来构建界面 我在概念上坚持的一个特定领域是单态模式的实现 描述于http www polymer project org docs polymer p
  • BigQueryTable.InsertRows 间歇性地抛出未找到表 xx

    我们只是删除表 创建表 然后使用插入数据 BigQueryTable table try table dataset GetTable tableName table Delete catch finally table dataset C
  • 如何在 .NET Framework 4.7.1 中使用 Azure KeyVault 覆盖 Web.config 值

    如何在 ASP NET Framework 4 7 1 WebForms 应用程序中实现 Microsoft 的 Azure KeyVault 以覆盖中的值web config使用 KeyVault 中的值 我确实看到参考资料表明我们需要最
  • Youtube iOS 播放器帮助程序库无法正常工作

    我尝试实现 youtube ios player helper 库来在我的应用程序中播放视频 我可以准备好播放器并加载视频 并且可以显示起始缩略图 但是 当我尝试播放视频时 却收到以下错误消息 SendDelegateMessage NSI
  • 通过尾指针添加到链表,无需 3 级间接

    我正在开发一个需要实现链表的项目 在开始这个项目之前 我正在回顾创建链表的经典方法 我意识到过去我一直通过head遍历列表直到到达空指针的指针 我发现没有必要这样做 并以涉及的方式实现它tail指针 但我能想到的唯一方法是涉及三重指针或全局
  • Jquery Multiselect:如何知道选择/取消选择哪个值

    我有多选下拉菜单 每当有选择或取消选择时 我都需要获取该值 我正在使用更改事件 但很难确定选择 取消选择了哪个选项 all options var all multiple each function i selected all i se
  • 如何在 C# 中附加 xml 文件?

    我正在为一个简单进程添加跟踪 以进行审计 我将其构建为 exe 并在调度程序中设置为每 10 分钟运行一次 我想让应用程序将结果输出到 xml 文件中 如果文件存在 则打开并向其追加数据 如果不存在 我想创建一个新的 xml 文件 该文件将
  • C/C++ 中的动态位向量

    我正在寻找一个可以使用的现成的 C 或 C 动态位向量 不幸的是 由于各种原因 我目前无法使用 BoostT 库 std bitvector 看起来很有希望 但它是模板化的 所以我无法动态设置位向量的长度 有人可以建议吗 谢谢 您不必仅仅为
  • 安装SSDT(SQL Server数据工具)时出错

    我在安装 SQL Server Data Tools for Visual Studio 2017 过程中遇到问题 我收到以下错误 已翻译 The requested meta file operation is not supported
  • SwiftUI:两个并排列表和一个导航视图出现意外行为

    我的屏幕有两个List并排 在一个NavigationView 布局渲染正确 我可以独立滚动两个列表 问题是 当我滚动第一个列表时 它位于导航栏后面 而没有触发对其应用背景颜色的效果 下面的 gif 展示了正在发生的事情 这是我用于此视图的
  • request.getSession() 在 sendRedirect() 之后创建新会话

    我们正在开发旅行应用程序 通过这个航班 可以预订酒店 巴士票 它是基于产品的应用程序 我们有近 25 个客户 3 个客户正在使用 其余仍在开发中 我们为所有客户维护一台服务器 一台服务器 应用程序 多个客户端是我的应用程序中的伟大成就 但问
  • 使用 jq 将 JSON 对象转换为 Prometheus 指标格式

    考虑一个 JSON 对象 例如 foo 42 baz 12 bar label1 value1 12 34 建造者jq https github com stedolan jq使用一些数据源 实际的键名称及其数量可能会有所不同 但结果将始终