- Docker
- Docker Compose v2.0.0+
- 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:
docker compose up --no-build
Note: The --no-build
flag is used to fetch released docker images from
ghcr instead of building from source.
Removing the --no-build
command line option will rebuild all images from
source. It may take more than 20 minutes to build if the flag is omitted.
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.