Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 13 additions & 14 deletions docs/JAEGER.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ curl -X POST https://app.roussev.com/items/v1/items \

**Components:**
- **Items Service**: Sends traces via OpenTelemetry Protocol (OTLP)
- **Jaeger Collector**: Receives traces on port 4318 (HTTP) and 4317 (gRPC)
- **Jaeger v2**: All-in-one binary that includes collector, query, and UI
- **OTLP Receivers**: Receives traces on port 4318 (HTTP) and 4317 (gRPC)
- **Jaeger UI**: Web interface for viewing and analyzing traces
- **Storage**: In-memory (configurable to use Elasticsearch, Cassandra, etc.)

Expand All @@ -69,29 +70,27 @@ curl -X POST https://app.roussev.com/items/v1/items \
Location: `infra/k8s/observability/jaeger-deployment.yaml`

**Key settings:**
- **Image**: `jaegertracing/all-in-one:1.52`
- **Storage**: In-memory (stores up to 10,000 traces)
- **Image**: `jaegertracing/jaeger:2.11.0` (Jaeger v2)
- **Storage**: In-memory (default for all-in-one mode)
- **Resources**: 512Mi-1Gi memory, 200m-500m CPU
- **Base Path**: `/jaeger` (configured via `QUERY_BASE_PATH` env var)
- **Base Path**: `/jaeger` (configured via command-line args)

**Ports:**
- `16686`: Jaeger UI
- `4318`: OTLP HTTP collector
- `4317`: OTLP gRPC collector

**Environment Variables:**
**Configuration (Jaeger v2):**
Jaeger v2 uses command-line arguments instead of environment variables:
```yaml
env:
- name: COLLECTOR_OTLP_ENABLED
value: "true"
- name: QUERY_BASE_PATH
value: "/jaeger"
- name: SPAN_STORAGE_TYPE
value: "memory"
- name: MEMORY_MAX_TRACES
value: "10000"
args:
- "--set=receivers.otlp.protocols.grpc.endpoint=0.0.0.0:4317"
- "--set=receivers.otlp.protocols.http.endpoint=0.0.0.0:4318"
- "--set=extensions.jaeger_query.base_path=/jaeger"
```

**Note:** Jaeger v2 uses the OpenTelemetry Collector configuration format. OTLP is enabled by default in all-in-one mode.

### Items Service Configuration

Location: `infra/k8s/apps/items-service-deployment.yaml`
Expand Down
5 changes: 1 addition & 4 deletions infra/k8s/local/jaeger-local.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,14 @@ spec:
spec:
containers:
- name: jaeger
image: jaegertracing/all-in-one:latest
image: jaegertracing/jaeger:2.11.0
ports:
- containerPort: 16686
name: jaeger-ui
- containerPort: 4318
name: otlp-http
- containerPort: 4317
name: otlp-grpc
env:
- name: COLLECTOR_OTLP_ENABLED
value: "true"
resources:
requests:
memory: "256Mi"
Expand Down
21 changes: 7 additions & 14 deletions infra/k8s/observability/jaeger-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,25 +43,18 @@ spec:
spec:
containers:
- name: jaeger
image: jaegertracing/all-in-one:1.52
image: jaegertracing/jaeger:2.11.0
args:
- "--set=receivers.otlp.protocols.grpc.endpoint=0.0.0.0:4317"
- "--set=receivers.otlp.protocols.http.endpoint=0.0.0.0:4318"
- "--set=extensions.jaeger_query.base_path=/jaeger"
ports:
- containerPort: 16686
name: jaeger-ui
- containerPort: 4318
name: otlp-http
- containerPort: 4317
name: otlp-grpc
env:
- name: COLLECTOR_OTLP_ENABLED
value: "true"
# Configure Jaeger to work with /jaeger base path
- name: QUERY_BASE_PATH
value: "/jaeger"
# Memory storage settings (for production, consider using Elasticsearch or Cassandra)
- name: SPAN_STORAGE_TYPE
value: "memory"
- name: MEMORY_MAX_TRACES
value: "10000"
resources:
requests:
memory: "512Mi"
Expand All @@ -71,13 +64,13 @@ spec:
cpu: "500m"
livenessProbe:
httpGet:
path: /
path: /jaeger
port: 16686
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /
path: /jaeger
port: 16686
initialDelaySeconds: 10
periodSeconds: 5
Expand Down