/opentelemetry-demo

OpenTelemetry Community Demo Application

Primary LanguageTypeScriptApache License 2.0Apache-2.0

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
    
    # !(when running it for the first time) add the open-telemetry Helm repostiroy
    helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
    
    # !(when an older helm open-telemetry repo exists) update the open-telemetry helm repo
    helm repo update open-telemetry
    
    # 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