Sample application illustrating multiple aspects of observability with OpenTelemetry
Sample application to highlight distributed tracing and other aspects with OpenTelemetry including:
OpenTelemetry can be thought of as observability middleware:
These three "layers" can be considered a full implementation. This repo aims at providing all of them (the microservices applications, the OpenTelemetry implementation, and observability backends).
Instead of taking an opinionated approach on what observability backends should be included, this ships multiple:
There are a few ways to "use" this repository...
make run-local
make install-tools-and-app
make install-app
make install-tools
$ make port-forward-jaeger
$ make port-forward-grafana
$ make port-forward-grafana
$ make port-forward-kibana
$ make port-forward-grafana
To cleanup the local environment:
$ make stop-local
There are three services in this application:
The backend persistent application data storage is with PostgreSQL.
Instrumentation is entirely with OpenTelemetry's APIs and SDKs. Telemetry collection is achieved through the OpenTelemetry Collector sending trace data to Jaeger.