prometheus-json-exporter

command module
v0.0.0-...-74ac2e5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

README

A Prometheus exporter that fetches arbitrary JSON from a remote API and exports the values as Prometheus gauge metrics.

Installation

To use in other projects

go get gitlab.com/ignitionrobotics/web/prometheus-json-exporter

Building

This project requires Go 1.10+ and dep for dependency management.

git clone https://gitlab.com/ignitionrobotics/web/prometheus-json-exporter
cd prometheus-json-exporter
dep ensure
go build

You can optionally install it

go install

Image

A Dockerfile is provided to create a docker image. A built docker image is available in this repository's container registry.

docker run registry.gitlab.com/ignitionrobotics/web/prometheus-json-exporter <target> [flags]

Usage

prometheus-json-exporter <target> [flags]

Parameters

Parameter Description Example
<target> Remote API URL to fetch JSON from. http://validate.jsontest.com/?json={"key":"value"}

Flags

In addition, the following flags are available:

Shorthand Flag Description Default
-p --prefix Prefix added to all exported Prometheus metrics. Used to help make metrics unique. ""
-a --listen-address Address to listen in. This includes the host and port. :9116

Endpoints

The /metrics endpoint will contact the API and return the JSON response as Prometheus metrics.

Example

# Example JSON Data
curl -s "http://validate.jsontest.com/?json=%7B%22key%22:%22value%22%7D"
{
   "object_or_array": "object",
   "empty": false,
   "parse_time_nanoseconds": 24618,
   "validate": true,
   "size": 1
}

# Set the target and set an "example_" prefix to exported Prometheus metrics.
./prometheus-json-exporter http://validate.jsontest.com/?json=%7B%22key%22:%22value%22%7D --prefix example_

# Get the JSON as Prometheus metrics
curl -s "http://localhost:9116/metrics"
    # HELP example_empty Retrieved value
    # TYPE example_empty gauge
    example_empty 0
    # HELP example_parse_time_nanoseconds Retrieved value
    # TYPE example_parse_time_nanoseconds gauge
    example_parse_time_nanoseconds 41626
    # HELP example_size Retrieved value
    # TYPE example_size gauge
    example_size 1
    # HELP example_validate Retrieved value
    # TYPE example_validate gauge
    example_validate 1

Attribution

This repository is a fork of Shiroyagicorp's prometheus-json-exporter.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL