- Docker
- Docker Compose v2.0.0+
Run the following shell command to correctly configure file endings:
git config --global core.autocrlf input
If you already cloned the repo and are experiencing build issues then delete and re-clone the repo after running the command.
- Clone the Webstore Demo repository:
git clone https://github.com/open-telemetry/opentelemetry-demo.git
- Navigate to the cloned folder:
cd opentelemetry-demo/
- Start the demo (it can take ~20min the first time the command is executed as all the container images will be built):
docker compose up
Once the images are built and containers are started you can access:
- Webstore: http://localhost:8080/
- Jaeger: http://localhost:16686/
- Prometheus: http://localhost:9090/
- Grafana: http://localhost:3000/
- Feature Flags UI: http://localhost:8081/
- Load Generator UI: http://localhost:8089/
Likely you want to use the Webstore as a demo application for an observability backend you already have (e.g. an existing instance of Jaeger, Zipkin or one of the vendor of your choice.
To add your backend open the file src/otelcollector/otelcol-config.yml with an editor:
- add a trace exporter for your backend. For example, if your backend supports
otlp, extend the
exporters
section like the following:
exporters:
jaeger:
endpoint: "jaeger:14250"
insecure: true
logging:
otlp:
endpoint: <your-endpoint-url>
- add the
otlp
exporter to thepipelines
section as well:
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [logging, jaeger, otlp]
Vendor backends might require you to add additional parameters for authentication, please check their documentation. Some backends require different exporters, you may find them and their documentation available at opentelemetry-collector-contrib/exporter.
After updating the otelcol-config.yml
start the demo by running
docker compose up
. After a while you should see the traces flowing into
your backend as well.