json_exporter
json_exporter copied to clipboard
Parsing json-object with dot in their name?
Hi, I've been trying but not succeeding to parse json data as follows:
{
"version" : "4.0.0",
"gauges" : { },
"counters" : {
"TransferManager.downloads.queue" : {
"count" : 2
},
"TransferManager.forwards.queue" : {
"count" : 0
},
"TransferManager.transfers.active" : {
"count" : 5
}
},
"histograms" : { },
"meters" :
{
"TransferManager.downloads.failed" : {
"count" : 1012,
"m15_rate" : 0.0031013012486067124,
"m1_rate" : 0.020422990475295447,
"m5_rate" : 0.008097230208595894,
"mean_rate" : 0.0013440113841602863,
"units" : "events/second"
},
"TransferManager.downloads.succeeded" : {
"count" : 20407,
"m15_rate" : 0.02925335031554721,
"m1_rate" : 0.019210550446002225,
"m5_rate" : 0.025774833786456255,
"mean_rate" : 0.027102016120216895,
"units" : "events/second"
},
"TransferManager.forwards.failed" : {
Didn't paste the whole json but the idea is that I would like to parse that data from the endpoint without modifying it. I got this working by changing all dots to _
My config before changing the JSON:
---
modules:
default:
metrics:
- name: execution_status
type: object
path: '$.meters["TransferManager.downloads.failed"]'
labels:
count: '.count'
values:
status: 1`
This didn't work. It says that Transfer Manager cannot be found.
This works after changing the data:
---
modules:
default:
metrics:
- name: Failed_Downloads
type: object
help: Metrics for Failed Downloads
path: "{.meters.TransferManager_downloads_failed}"
labels:
environment: xxxxxx
metrics: transfer statistics
system: xxxxxxx
owner: xxxx
count: '{.count}'
values:
status: '{.count}'
I would love to get things parsed without first fetching the JSON and then modifying and after that serving modified data from localhost to the scraper.
Probably it's just me that doesn't understand but wanted to ask you guys.
Delete this is just me being stupid.
Cheers