42 lines
1.0 KiB
Markdown
42 lines
1.0 KiB
Markdown
# Prometheus Example
|
|
|
|
This example demonstrates how to use the OpenTelemetry SDK
|
|
to instrument a simple application using Prometheus as the metric exporter and expose the metrics via HTTP.
|
|
|
|
These are collected by a Prometheus instance which is configured to pull these metrics via HTTP.
|
|
|
|
# How to run
|
|
|
|
## Prerequisites
|
|
* Java 1.7
|
|
* Docker 19.03
|
|
|
|
## 1 - Compile
|
|
```shell script
|
|
../gradlew fatJar
|
|
```
|
|
## 2 - Run Prometheus
|
|
|
|
Start Prometheus instance with a configuration that sets up a HTTP collection job for ```127.0.0.1:19090```
|
|
|
|
See [prometheus.yml](prometheus.yml)
|
|
|
|
```shell script
|
|
docker run --network="host" --rm -it \
|
|
--name prometheus \
|
|
-v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \
|
|
prom/prometheus
|
|
|
|
```
|
|
|
|
## 3 - Start the Application
|
|
```shell script
|
|
java -cp build/libs/opentelemetry-examples-prometheus-all-0.1.0-SNAPSHOT.jar io.opentelemetry.example.prometheus.PrometheusExample 19090
|
|
```
|
|
## 4 - Open the Prometheus UI
|
|
|
|
Navigate to:
|
|
|
|
http://localhost:9090/graph?g0.range_input=15m&g0.expr=incoming_messages&g0.tab=0
|
|
|