Skip to content

Latest commit

 

History

History
96 lines (69 loc) · 2.46 KB

docker_deployment.md

File metadata and controls

96 lines (69 loc) · 2.46 KB

Docker

Pre-requisites

Windows Pre-requisites

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 Repo

  • Clone the Webstore Demo repository:
git clone https://github.com/open-telemetry/opentelemetry-demo.git

Open Folder

  • Navigate to the cloned folder:
cd opentelemetry-demo/

Run Docker Compose

  • 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

Verify the Webstore & the Telemetry

Once the images are built and containers are started you can access:

Bring your own backend

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 the pipelines 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.