Simple reverse proxy for prometheus exporters
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
accesslogger
cli
config
example
listener
server
vendor
.dockerignore
.gitignore
Dockerfile
Gopkg.lock
Gopkg.toml
LICENSE
Makefile
README.md
config.example.yml
main.go

README.md

exporter_proxy

Simple reverse proxy for prometheus exporters.

It is useful when it is difficult to open multiple ports on one server.

Install

Precompied binaries

Download from https://github.com/rrreeeyyy/exporter_proxy/releases

Docker

docker pull rrreeeyyy/exporter_proxy

go get

go get -u github.com/rrreeeyyy/exporter_proxy

Usage

$ exporter_proxy -config config.yml

If you make the following settings,

listen: "0.0.0.0:9099"

exporters:
  node_exporter:
    path: "/node_exporter/metrics"
    url: "http://localhost:9100/metrics"
  mysqld_exporter:
    path: "/mysqld_exporter/metrics"
    url: "http://localhost:9104/metrics"

When you access http://exporter_proxy_host:9099/node_exporter/metrics, returns the metrics collected by node_exporter.

And of course, http://exporter_proxy_host:9099/mysqld_exporter/metrics returns the metrics collected by mysqld_exporter.

The part of your prometheus.yml is probably as follows.

scrape_configs:
  - job_name: "node"
    metrics_path: /node_exporter/metrics
    static_configs:
      - targets: ["exporter_proxy_host:9099"]
  - job_name: "mysqld"
    metrics_path: /mysqld_exporter/metrics
    static_configs:
      - targets: ["exporter_proxy_host:9099"]

Configuration

Development

Dependencies

Dependencies are managed by dep