liveBook · Manning

OpenTelemetry Collector

As explained in gRPC Microservices in Go

The OpenTelemetry Collector is a vendor-neutral service that receives, processes, and exports observability telemetry.

The OpenTelemetry Collector is a vendor-neutral service that receives telemetry from gRPC microservices, exposes collector and Prometheus-exporter endpoints, and forwards data to observability backends. section 9.3.2 section 9.3

A production deployment uses the collector to:

  • Accept metric requests from gRPC microservices on port 14278. section 9.3.2
  • Expose Prometheus-exported time-series data on port 8889 for performance monitoring. section 9.3.2
  • Receive traces from services configured with OpenTelemetry SDKs and a Jaeger collector endpoint. section 9.3.4 section 9.3.5
  • Preserve request flow across service boundaries through trace and span propagation. section 9.3.5

Deploying the collector with Jaeger

Add the Helm repository, install the Jaeger chart into a jaeger namespace, and verify that Jaeger, OpenTelemetry, and Prometheus pods are running. Configure services to send traces to http://jaeger-otel.jaeger.svc.cluster.local:14278/api/traces. section 9.3.4

Instrumenting a gRPC service

Configure a Jaeger exporter and batched tracer provider, register global trace-context propagation, and attach otelgrpc.UnaryServerInterceptor() to the gRPC server. Add service name and environment metadata for filtering in Jaeger. section 9.3.5

Figure 9.9 General ports used in a Jaeger All in One deployment image

Use the deployment port diagram to relate Jaeger, the collector endpoint, and Prometheus exporter ports. section 9.3.1

How gRPC Microservices in Go covers it

How deep it goes
Explains deployment ports and service instrumentation, then stops short of detailed collector pipeline configuration.
Examples
Uses Helm deployment commands, collector service URLs, Jaeger UI access, and Order-to-Payment trace propagation.
What it assumes
Assumes Kubernetes, Helm, gRPC services, and basic OpenTelemetry SDK usage while demonstrating provider and interceptor setup.
What you can do after
Operate/configure a Kubernetes telemetry path and instrument Go gRPC services to export traces and metrics.
How it connects
Ties telemetry collection to OpenTelemetry SDKs, gRPC interceptors, Jaeger, Prometheus, Kubernetes, and distributed tracing.

Also explained in

Compare how 3 books explain OpenTelemetry Collector →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of gRPC Microservices in Go. The section links point to the parts of the book it draws on.