prometheus-explorer
prometheus-explorer copied to clipboard
A lightweight metrics explorer for Prometheus, with a focus on on-the-fly analysis.
prometheus-explorer
Interactively explore metrics, create shortcuts for common metrics and reference existing visualizations.
This is not intended to replace Grafana or Prometheus' expression browser, but to exist between them, for on-the-fly exploration and referencing of metrics that belong to many different services or boards.
Note: This software is in an alpha state, so there will probably be missing features, bugs and other oddities.
Features
-
✨ quickly explore metrics interactively
-
✨ search for metrics using regular expressions
-
✨ define custom shortcuts for commonly used queries
variables: cluster: eu shortcuts: # cpu usage of pods of $service running in $cluster - regexp: "cpu of (.*)" query: rate(container_cpu_usage_seconds_total{cluster=~"${vars.cluster}.*", pod=~"${match[1]}.*", image!="", container!="POD"}[5m])
-
✨ define custom metrics on-the-fly using YAML
network: query: rate(node_network_receive_bytes_total{device="wlp3s0"}[5m]) unit: bytes label: device
-
not implemented yet:
- reference metrics from other boards, e.g. "http requests of this service"
Installation
Docker
- build the docker image using
docker build -t prometheus-explorer:local .
- run
docker run -it --rm -p 12345:12345 prometheus-explorer:local
- visit http://localhost:12345
- note that the default board expects a local Prometheus server at
localhost:9090
andnode_exporter
for some metrics, so either set those up or pointdefault.source
in the config to your existing Prometheus server.
- note that the default board expects a local Prometheus server at
Local build
-
git clone https://github.com/spreadshirt/prometheus-explorer
- run
go build .
in the cloned directory - run
./prometheus-explorer
- if you want to move it around, you'll need
board.tmpl
,static/
and at leastboards/default.yml
to be next to the binary
- if you want to move it around, you'll need
FAQ
-
I am happy with Grafana, why do I need this?
You don't. If you're happy with Grafana, keep using that. If you miss some of the interactive features mentioned above, maybe you'll find this project useful.
-
I am happy with Prometheus' expression browser, why do I need this?
You probably don't! Use what fits your workflow.
License
This project is licensed under the MIT License, with the exception of the vendored dependencies defined in go.mod and static/deps, which are subject to their own respective licenses.