- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我要监控的应用程序提供了一个用于健康检查的 api 端点,它以 json 格式响应指标。例如:
$ curl https://example.com/api/stats
{"status":"success","code":0,"data":{"UserCount":140,"UserCountActive":23}}
我已经设置了 Prometheus blackbox_exporter 来监控此端点是否返回 200 Ok
但是我也希望获得这些指标。我了解仪器直接从应用程序导出此数据。但是由于该应用程序已经在 json 对象中导出我想要的内容,所以我更愿意方便地不维护我自己的该软件的分支以包括检测所需的 Prometheus 库。我应该如何使用 json 中的指标?
最佳答案
您可以使用 Prometheus JSON Exporter ( https://github.com/prometheus-community/json_exporter ) 调用您的服务并从 JSON 中提取值
将 Prometheus JSON Exporter 部署到它可以被 Prometheus 拉取并且 Exporter 可以访问您的 URL 的地方
对于您的 JSON 示例,JSON Exporter 的 config.xml 将类似于
---
metrics:
- name: user_count
path: "{$.data.UserCount}"
type: value
help: UserCount value
- name: user_count_active
path: "{$.data.UserCountActive}"
type: value
help: UserCountActive value
并在 Prometheus (prometheus.yml) 中抓取配置:
## gather the metrics from third party json sources, via the json exporter
- job_name: json_user_stat
metrics_path: /probe
static_configs:
- targets:
# URL of each API for json exporter
- https://example.com/api/stats
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
# Location of the json exporter's real <hostname>:<port> from Prometheus
replacement: json_exporter:7979
首先通过点击 URL 测试您的导出器(如果您想在浏览器之外使用,请编码“目标”值,浏览器将自动编码)http://json_exporter:7979/probe?target=https://example。 com/api/stats 并检查输出
# HELP UserCount value
# TYPE logstash_audit_events_in untyped
user_count{} 140
# HELP lUserCountActive value
# TYPE logstash_audit_events_out untyped
user_count_active{} 23
如果你明白了 - 在 Prometheus 中配置 scape 并享受你的指标
关于普罗米修斯 json 指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57844617/
我第一次尝试使用矢量匹配时,我收到一条错误消息,提示“不允许多对多匹配:匹配标签在一侧必须是唯一的”,我不明白为什么。 这是我的表达: sum(rate(container_cpu_usage_sec
我想计算给定指标在时间范围内非零的百分比时间。我知道我可以使用 count_over_time(my_metric[1m]) 但我想要的是 count_over_time(my_metric[1m]
我正在寻找 Prometheus 如何计算“向上”指标的信息 up{job="", instance=""}: 1 if the instance is healthy, i.e. reachable
给定一个具有单调递增值的 Prometheus Counter 对象,我如何生成一个图表,其中值从 0 开始作为 grafana 范围的开始并按标签分组? 伪公式(我怎么想的。我可能是错的) fore
我正在尝试使用普罗米修斯数据源在 Grafana 中绘制条形图。 我的简单查询如下所示: max_over_time(energy_monitor_watthour_today[1d]) 我将 Gra
我有一个 Prometheus 计数器,我想获取它的 率在一个时间范围内(真正的目标是 sum the rate ,有时使用 histogram_quantile 度量)。 但是,我有多台机器运行这种
我正在尝试使用正则表达式添加新标签。名称实例是 pr-na01-na02-A我试图只获取 pr-na01,所以我这样做了: - source_labels: ['__meta_ec2_tag_Na
我要监控的应用程序提供了一个用于健康检查的 api 端点,它以 json 格式响应指标。例如: $ curl https://example.com/api/stats {"status":"suc
我看到没有sink configuration普罗米修斯在此heapster document .有什么简单的方法可以将这两者结合起来进行监控。 最佳答案 Prometheus 使用 pull mod
我要监控的应用程序提供了一个用于健康检查的 api 端点,它以 json 格式响应指标。例如: $ curl https://example.com/api/stats {"status":"suc
我在同一主机上有类似的服务。例如我有两个名为 mysql01 和 mysql02 的 mysql 服务器。我已经安装了两个mysqld_exporter每个 mysql 服务器一个。标签实例的值为 i
我在 grafana 中有一个面板,它显示当前警报(简单查询 ALERTS{alertstate="firing"} with instant=enable 选项)。我想知道第一次触发警报的时间。我该
我们开始使用 Prometheus 和 Grafana 作为监控 Service Fabric 集群的主要工具。为了定位 Prometheus,我们使用 wmi_exporter,带有预定义参数:CP
我们开始使用 Prometheus 和 Grafana 作为监控 Service Fabric 集群的主要工具。为了定位 Prometheus,我们使用 wmi_exporter,带有预定义参数:CP
我将我的 GKE API 服务器升级到 1.6,并且正在将节点升级到 1.6,但遇到了一个障碍...... 我有一个 prometheus 服务器(版本 1.5.2)在由 Kubernetes 部署管
我想知道我是否可以使用普罗米修斯数据中的“信息”(https://github.com/prometheus/client_python#info)指标在 grafana 中显示信息/数据。关于使用该
我有 2 个不同的指标: metric_a 带有字段类型 metric_b 具有字段类型(相同) 我正在尝试总结相同类型的 a 和 b。 如果类型只存在于 metric_a 而不是 metric_b
我在普罗米修斯中有以下标签,如何在模板化时创建通配符查询 类似于“查询”:“label_values(application_*Count_Total,xyx)”。这些值是从 Eclipse Micr
在 Prometheus 的目标页面中,我收到以下错误: 我在 Linux 主机上使用它 普罗米修斯版本: prometheus, version 1.1.2 (branch: master, rev
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我是一名优秀的程序员,十分优秀!