Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mattbostock/opentsdb-promql-frontend
A HTTP proxy that implements the Prometheus API and queries the data from OpenTSDB
https://github.com/mattbostock/opentsdb-promql-frontend
grafana metrics opentsdb prometheus prometheus-api promql proxy
Last synced: about 3 hours ago
JSON representation
A HTTP proxy that implements the Prometheus API and queries the data from OpenTSDB
- Host: GitHub
- URL: https://github.com/mattbostock/opentsdb-promql-frontend
- Owner: mattbostock
- License: apache-2.0
- Created: 2017-04-04T23:48:10.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-04-07T06:49:12.000Z (over 7 years ago)
- Last Synced: 2024-06-20T15:48:06.201Z (5 months ago)
- Topics: grafana, metrics, opentsdb, prometheus, prometheus-api, promql, proxy
- Language: Go
- Homepage:
- Size: 27 MB
- Stars: 24
- Watchers: 5
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A PromQL frontend for OpenTSDB
Currently an early proof-of-concept.
A HTTP proxy that supports a subset of the [Prometheus API][], accepting [PromQL][] queries and answering them with data pulled from OpenTSDB.
![Screenshot](screenshot.jpg)
[Prometheus API]: https://prometheus.io/
[PromQL]: https://prometheus.io/docs/querying/basics/## Requirements
* Go 1.8
* OpenTSDB 2.3+ (earlier versions could potentially be supported)## How to use
go install github.com/mattbostock/opentsdb-promql-frontend
ADDR=localhost:9080 OPENTSDB_URL=http://localhost:4242 opentsdb-promql-frontendNext, add a Prometheus datasource to Grafana and use the URL specified by the `ADDR` environment variable.
You should be able to use PromQL to query your OpenTSDB data.
## What should (or might) work
* You can query your OpenTSDB metrics in Grafana by pointing the Prometheus datasource at this proxy.
* Aggregations and arithmetric.
## Known limitations
* [PromQL][] has [tighter restrictions][] on how metrics can be named, so if you want to query metrics from OpenTSDB such as `foo.bar.baz`, you'll need to query it using `{__name__="foo.bar.baz"}`. This restriction is probably solvable.
* All queries must include a metric name - queries such as `{foo="bar"}` are not supported.
* There are no tests yet.
* Querying for a list of all metric names is not yet implemented.
* The Prometheus [Remote Read API][] (unreleased at the time of writing) is not yet supported.
* It's all very experimental - we're using the Prometheus dev-2.0 branch.
[tighter restrictions]: https://prometheus.io/docs/concepts/data_model/
[Remote Read API]: https://github.com/prometheus/prometheus/pull/2499