Skip to content

This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.

License

Notifications You must be signed in to change notification settings

AlexanderWert/opentelemetry-demo

 
 

Repository files navigation

OTel logoOTel logo OpenTelemetry Demo with Elastic Observability

The following guide describes how to setup the OpenTelemetry demo with Elastic Observability using Docker compose or Kubernetes.

Docker compose

  1. Start a free trial on Elastic Cloud and copy the endpoint and secretToken from the Elastic APM setup instructions in your Kibana.
  2. Open the file src/otelcollector/otelcol-config-extras.yml in an editor and replace the following two placeholders:
    • YOUR_APM_ENDPOINT_WITHOUT_HTTPS_PREFIX: your Elastic APM endpoint (without https:// prefix) that must also include the port (example: 1234567.apm.us-west2.gcp.elastic-cloud.com:443).
    • YOUR_APM_SECRET_TOKEN: your Elastic APM secret token.
  3. Start the demo with the following command from the repository's root directory:
    docker-compose up -d
    

Kubernetes

Prerequisites:

  • Create a Kubernetes cluster. There are no specific requirements, so you can create a local one, or use a managed Kubernetes cluster, such as GKE, EKS, or AKS.
  • Set up kubectl.
  • Set up Helm.

Start the Demo

  1. Setup Elastic Observability on Elastic Cloud.
  2. Create a secret in Kubernetes with the following command.
    kubectl create secret generic elastic-secret \
      --from-literal=elastic_apm_endpoint='YOUR_APM_ENDPOINT_WITHOUT_HTTPS_PREFIX' \
      --from-literal=elastic_apm_secret_token='YOUR_APM_SECRET_TOKEN'
    
    Don't forget to replace
    • YOUR_APM_ENDPOINT_WITHOUT_HTTPS_PREFIX: your Elastic APM endpoint (without https:// prefix) that must also include the port (example: 1234567.apm.us-west2.gcp.elastic-cloud.com:443).
    • YOUR_APM_SECRET_TOKEN: your Elastic APM secret token
  3. Execute the following commands to deploy the OpenTelemetry demo to your Kubernetes cluster:
    # switch to the kubernetes/elastic-helm directory
    cd kubernetes/elastic-helm
    
    # add the open-telemetry Helm repostiroy
    helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
    
    # deploy the demo through helm install
    helm install -f values.yaml my-otel-demo open-telemetry/opentelemetry-demo
    

Explore and analyze the data With Elastic

Service map

Service map

Traces

Traces

Correlation

Correlation

Logs

Logs

About

This repository contains the OpenTelemetry Astronomy Shop, a microservice-based distributed system intended to illustrate the implementation of OpenTelemetry in a near real-world environment.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 26.9%
  • Elixir 16.0%
  • Go 11.3%
  • C# 5.3%
  • Dockerfile 5.3%
  • JavaScript 5.0%
  • Other 30.2%