mirror of
https://github.com/prometheus-community/json_exporter
synced 2024-12-19 04:55:18 +00:00
c869516e98
* Make the working of this exporter similar to that of the blackbox_exporter to allow probing multiple targets. * Add functionality to add headers to the request * Update the example config to use `headers` as well as the `metrics` keys in alignment with the new code * Add default header 'Accept: application/json' Signed-off-by: rustyclock <rustyclock@protonmail.com>
2.1 KiB
2.1 KiB
json_exporter
A prometheus exporter which scrapes remote JSON by JSONPath.
Build
make build
Example Usage
$ cat example/data.json
{
"counter": 1234,
"values": [
{
"id": "id-A",
"count": 1,
"some_boolean": true,
"state": "ACTIVE"
},
{
"id": "id-B",
"count": 2,
"some_boolean": true,
"state": "INACTIVE"
},
{
"id": "id-C",
"count": 3,
"some_boolean": false,
"state": "ACTIVE"
},
]
}
$ cat example/config.yml
- name: example_global_value
path: $.counter
labels:
environment: beta # static label
- name: example_value
type: object
path: $.values[*]?(@.state == "ACTIVE")
labels:
environment: beta # static label
id: $.id # dynamic label
values:
active: 1 # static value
count: $.count # dynamic value
boolean: $.some_boolean
$ python -m SimpleHTTPServer 8000 &
Serving HTTP on 0.0.0.0 port 8000 ...
$ ./json_exporter examples/config.yml &
$ curl "http://localhost:7979/probe?target=http://localhost:8000/examples/data.json" | grep ^example
example_global_value{environment="beta",location="mars"} 1234
example_value_active{environment="beta",id="id-A"} 1
example_value_active{environment="beta",id="id-C"} 1
example_value_boolean{environment="beta",id="id-A"} 1
example_value_boolean{environment="beta",id="id-C"} 0
example_value_count{environment="beta",id="id-A"} 1
example_value_count{environment="beta",id="id-C"} 3
Docker
docker run \
-v config.yml:/config.yml
quay.io/prometheuscommunity/json-exporter \
http://example.com/target.json \
/config.yml
See Also
- kawamuray/jsonpath : For syntax reference of JSONPath. Originally forked from nicksardo/jsonpath(now is https://github.com/NodePrime/jsonpath).