docker-otel-lgtm
An OpenTelemetry backend in a Docker image.
The grafana/otel-lgtm
Docker image is an open source backend for OpenTelemetry that’s intended for development, demo, and testing environments. If you are looking for a production-ready, out-of-the box solution to monitor applications and minimize MTTR (mean time to resolution) with OpenTelemetry and Prometheus, you should try Grafana Cloud Application Observability.
Documentation
Get the Docker image
The Docker image is available on Docker hub: https://hub.docker.com/r/grafana/otel-lgtm
Run the Docker image
Configuration
Enable logging
You can enable logging for troubleshooting:
Environment Variable | Enable Logging in |
---|---|
ENABLE_LOGS_GRAFANA | Grafana |
ENABLE_LOGS_LOKI | Loki |
ENABLE_LOGS_PROMETHEUS | Prometheus |
ENABLE_LOGS_TEMPO | Tempo |
ENABLE_LOGS_OTELCOL | OpenTelemetry Collector |
ENABLE_LOGS_ALL | all of the above |
This has nothing to do with the application logs, which are collected by OpenTelemetry.
Run lgtm in kubernetes
Send OpenTelemetry Data
There's no need to configure anything: The Docker image works with OpenTelemetry's defaults.
View Grafana
Log in to http://localhost:3000 with user admin and password admin.
Build the Docker image from scratch
Build and run the example app
Run the example REST service:
Generate traffic:
Run example apps in different languages
The example apps are in the examples/
directory. Each example has a run.sh
or run.cmd
script to start the app.
Every example implements a rolldice service, which returns a random number between 1 and 6.
Each example uses a different application port (to be able to run all applications at the same time).
Example | Service URL |
---|---|
Java | curl http://localhost:8080/rolldice |
Go | curl http://localhost:8081/rolldice |
Python | curl http://localhost:8082/rolldice |
dotnet | curl http://localhost:8083/rolldice |
Related Work
Metrics, Logs, Traces and Profiles in Grafana: https://github.com/grafana/intro-to-mltp