This repository contains reference job files to run the OpenTelemetry collector in different deployment scenarios, as described in the Getting Started guide.
These job files are provided as reference only, and are not designed for production use.
From the official documentation:
The OpenTelemetry Collector consists of a single binary and two primary deployment methods:
- Agent: A Collector instance running with the application or on the same host as the application (e.g. binary, sidecar, or daemonset).
- Gateway: One or more Collector instances running as a standalone service (e.g. container or deployment) typically per cluster, datacenter or region.
To run the job files you will need access to a Nomad cluster running version
1.3.0+. You can start a local dev agent for Nomad by downloading the
nomad
binary and running the
following command:
sudo nomad agent -dev -bind=0.0.0.0 -network-interface='{{ GetPrivateInterfaces | attr "name" }}'
The OpenTelemetry Collector can run as a gateway by registering a service job.
nomad run https://raw.githubusercontent.com/hashicorp/nomad-open-telemetry-getting-started/main/examples/nomad/otel-collector.nomad
The OpenTelemetry Collector can run as an agent by registering a system job.
It connects to the gateway deployed in the previous section as an OTLP exporter, so make sure the gateway job is running as well.
nomad run https://raw.githubusercontent.com/hashicorp/nomad-open-telemetry-getting-started/main/examples/nomad/otel-agent.nomad
The demo job deploys the OpenTelemetry Collector as agent and gateway, load generators, and the Jaeger, Zipkin and Prometheus back-ends.
nomad run https://raw.githubusercontent.com/hashicorp/nomad-open-telemetry-getting-started/main/examples/nomad/otel-demo.nomad
The following services are available:
- Jaeger: http://<YOUR_IP>:16686
- Zipkin: http://<YOUR_IP>:9411
- Prometheus: http://<YOUR_IP>:9090
- Just-in-Time Nomad: Running the OpenTelemetry Collector on Hashicorp Nomad with HashiQube by Adri V
- Deploy the OpenTelemetry Collector using the Nomad Pack by @jharley