Skip to content

solarwinds/opentelemetry-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,603 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OTel logo OpenTelemetry Demo with SolarWinds Observability

License

About

This repository is a fork of the OpenTelemetry Astronomy Shop Demo, a microservice-based distributed system that illustrates the implementation of OpenTelemetry in a near real-world environment.

This fork demonstrates how the Astronomy Shop can be monitored using SolarWinds Observability. Service implementations, Dockerfiles, and Kubernetes manifests have been adjusted to send telemetry data to SolarWinds Observability for full-stack application performance monitoring and troubleshooting.

You can explore a live deployment of this demo in the SolarWinds Observability Online Demo.

Prerequisites

Before deploying the demo, you need a SolarWinds Observability SaaS account and the following configuration values:

  1. Ingestion API token — create one in SolarWinds Observability SaaS under Settings > API Tokens (select the Ingestion token type). See API Tokens for details.

  2. Data center endpoints — endpoint URIs depend on the data center your organization uses (visible in your SWO URL, e.g. na-01, na-02, eu-01, ap-01). Replace xx-yy in the URIs below with your data center identifier. See Data centers and endpoint URIs for the full list.

    Variable Value Purpose
    SW_APM_SERVICE_TOKEN Your ingestion API token Authenticates telemetry sent to SWO
    SW_APM_COLLECTOR apm.collector.xx-yy.cloud.solarwinds.com APM collector endpoint
    SW_OTEL_ADDRESS otel.collector.xx-yy.cloud.solarwinds.com OTLP telemetry data ingestion endpoint (port 443)

For information on how to add individual services to monitoring, see Add a service.

Deploy with Docker

  1. Clone the repository:

    git clone https://github.com/solarwinds/opentelemetry-demo.git
    cd opentelemetry-demo
  2. Set the SolarWinds environment variables in the .env file:

    # SolarWinds Observability
    SW_APM_SERVICE_TOKEN=<your_ingestion_token>
    SW_APM_COLLECTOR=apm.collector.xx-yy.cloud.solarwinds.com
    SW_OTEL_ADDRESS=otel.collector.xx-yy.cloud.solarwinds.com

    Important: Replace <your_ingestion_token> with the token created in the Prerequisites and xx-yy with your data center identifier.

  3. Start the demo:

    docker compose up -d
  4. Once running, the web store is available at http://localhost:8080/.

Deploy with Kubernetes

  1. Create the target namespace:

    kubectl create namespace otel-demo
  2. Create the secret with your SWO ingestion token:

    kubectl create secret generic swo-apm \
      --from-literal=token=<your_ingestion_token> \
      -n otel-demo
  3. Review and update the swo-config ConfigMap inside kubernetes/opentelemetry-demo.yaml with the endpoints matching your data center (replace na-01 if needed):

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: swo-config
    data:
      OTEL_ADDRESS: otel.collector.na-01.cloud.solarwinds.com:443
      SW_APM_COLLECTOR: apm.collector.na-01.cloud.solarwinds.com
  4. Apply the manifests:

    kubectl apply -f kubernetes/opentelemetry-demo.yaml -n otel-demo

See kubernetes/README.md for additional Kubernetes configuration options.

Note: For configuring Kubernetes monitoring in SolarWinds Observability, see Kubernetes monitoring.

Documentation

For general documentation on the upstream demo, see the OpenTelemetry Demo Documentation.

For SolarWinds Observability, see the SolarWinds documentation.

License

This project is licensed under the Apache 2.0 License — see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 40.7%
  • Python 18.2%
  • Elixir 10.9%
  • Go 6.7%
  • C# 4.3%
  • Dockerfile 3.9%
  • Other 15.3%