Skip to content

damemi/opentelemetry-operator-sample

 
 

Repository files navigation

OpenTelemetry Operator Sample

This repo hosts samples for working with the OpenTelemetry Operator on GCP.

Running the Operator

Prerequisites

  • A running GKE cluster
  • Helm (for GKE Autopilot)
  • cert-manager installed in your cluster

For GKE Autopilot, install cert-manager with the following Helm commands:

helm repo add jetstack https://charts.jetstack.io
helm repo update
helm install \
  --create-namespace \
  --namespace cert-manager \
  --set installCRDs=true \
  --set global.leaderElection.namespace=cert-manager \
  --set extraArgs={--issuer-ambient-credentials=true} \
  cert-manager jetstack/cert-manager

Installing the OpenTelemetry Operator

Install the latest release of the Operator with:

kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/latest/download/opentelemetry-operator.yaml

Starting the Collector

Set up an instance of the OpenTelemetry Collector by creating an OpenTelemetryCollector object. The one in this repo sets up a basic OTLP receiver and logging exporter:

kubectl apply -f collector-config.yaml

Auto-instrumenting Applications

The Operator offers auto-instrumentation of application pods by adding an annotation to the Pod spec.

First, create an Instrumentation Custom Resource that contains the settings for the instrumentation. We have provided a sample resource in instrumentation.yaml:

kubectl apply -f instrumentation.yaml

With a Collector and auto-instrumentation set up, you can experiment with it using one of the sample applications, or skip right to the recipes if you already have an application running.

Sample Applications

The sample-apps/ folder contains basic apps to demonstrate collecting traces with the operator in various languages:

Each of these sample apps works well with the recipes listed below.

Recipes

The recipes directory holds different sample use cases for working with the operator and auto-instrumentation along with setup guides for each recipe. Currently there are:

Contributing

See CONTRIBUTING.md for details.

License

Apache 2.0; see LICENSE for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 27.8%
  • Java 25.3%
  • Makefile 21.0%
  • JavaScript 9.5%
  • Python 8.7%
  • Dockerfile 7.7%