82 lines
2.6 KiB
Markdown
82 lines
2.6 KiB
Markdown
# OpenCensus Prometheus Stats Exporter
|
|
|
|
The *OpenCensus Prometheus Stats Exporter* is a stats exporter that exports data to
|
|
Prometheus. [Prometheus](https://prometheus.io/) is an open-source systems monitoring and alerting
|
|
toolkit originally built at [SoundCloud](https://soundcloud.com/).
|
|
|
|
## Quickstart
|
|
|
|
### Prerequisites
|
|
|
|
To use this exporter, you need to install, configure and start Prometheus first. Follow the
|
|
instructions [here](https://prometheus.io/docs/introduction/first_steps/).
|
|
|
|
### Hello "Prometheus Stats"
|
|
|
|
#### Add the dependencies to your project
|
|
|
|
For Maven add to your `pom.xml`:
|
|
```xml
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>io.opencensus</groupId>
|
|
<artifactId>opencensus-api</artifactId>
|
|
<version>0.16.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.opencensus</groupId>
|
|
<artifactId>opencensus-exporter-stats-prometheus</artifactId>
|
|
<version>0.16.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.opencensus</groupId>
|
|
<artifactId>opencensus-impl</artifactId>
|
|
<version>0.16.1</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
```
|
|
|
|
For Gradle add to your dependencies:
|
|
```groovy
|
|
compile 'io.opencensus:opencensus-api:0.16.1'
|
|
compile 'io.opencensus:opencensus-exporter-stats-prometheus:0.16.1'
|
|
runtime 'io.opencensus:opencensus-impl:0.16.1'
|
|
```
|
|
|
|
#### Register the exporter
|
|
|
|
```java
|
|
public class MyMainClass {
|
|
public static void main(String[] args) {
|
|
// Creates a PrometheusStatsCollector and registers it to the default Prometheus registry.
|
|
PrometheusStatsCollector.createAndRegister();
|
|
|
|
// Uses a simple Prometheus HTTPServer to export metrics.
|
|
// You can use a Prometheus PushGateway instead, though that's discouraged by Prometheus:
|
|
// https://prometheus.io/docs/practices/pushing/#should-i-be-using-the-pushgateway.
|
|
io.prometheus.client.exporter.HTTPServer server =
|
|
new HTTPServer(/*host*/ "localhost", /*port*/ 9091, /*daemon*/ true);
|
|
|
|
// Your code here.
|
|
// ...
|
|
}
|
|
}
|
|
```
|
|
|
|
In this example, you should be able to see all the OpenCensus Prometheus metrics by visiting
|
|
localhost:9091/metrics. Every time when you visit localhost:9091/metrics, the metrics will be
|
|
collected from OpenCensus library and refreshed.
|
|
|
|
#### Exporting
|
|
|
|
After collecting stats from OpenCensus, there are multiple options for exporting them.
|
|
See [Exporting via HTTP](https://github.com/prometheus/client_java#http), [Exporting to a Pushgateway](https://github.com/prometheus/client_java#exporting-to-a-pushgateway)
|
|
and [Bridges](https://github.com/prometheus/client_java#bridges).
|
|
|
|
#### Java Versions
|
|
|
|
Java 7 or above is required for using this exporter.
|
|
|
|
## FAQ
|