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
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- "source.yaml"
- "../sources/kube-prometheus-stack.yaml"
- "helmrelease.yaml"
secretGenerator:
- name: kube-prometheus-stack-values-base
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ loki:
{{- tpl (. | toYaml) $ | nindent 4 }}
{{- end }}
# Should authentication be enabled
auth_enabled: true
auth_enabled: false
# -- memberlist configuration (overrides embedded default)
memberlistConfig: {}
# -- Extra memberlist configuration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- "source.yaml"
- "../sources/grafana.yaml"
- "helmrelease.yaml"
secretGenerator:
- name: loki-values-base
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -523,11 +523,15 @@ collectors:
send_batch_size: 1000
timeout: 1s
send_batch_max_size: 1500
memory_limiter:
# 80% of maximum memory up to 2G
limit_mib: 400
# 25% of limit up to 2G
spike_limit_mib: 100
check_interval: 5s
exporters:
otlphttp/loki:
endpoint: http://observability-loki-gateway.observability.svc.cluster.local/otlp
headers:
X-Scope-OrgID: "default"
compression: gzip
timeout: 30s
retry_on_failure:
Expand All @@ -539,18 +543,31 @@ collectors:
enabled: true
num_consumers: 10
queue_size: 2000

otlp/tempo:
endpoint: observability-tempo-distributor.observability.svc.cluster.local:4317
tls:
insecure: true
compression: gzip
timeout: 30s
retry_on_failure:
enabled: true
initial_interval: 1s
max_interval: 10s
max_elapsed_time: 0s
sending_queue:
enabled: true
num_consumers: 10
queue_size: 2000
service:
pipelines:
traces:
receivers:
- otlp
processors:
- resourcedetection/env
- resource/hostname
- memory_limiter
- batch
exporters:
- debug
- otlp/tempo
logs:
receivers:
- otlp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- "./source.yaml"
- "../sources/opentelemetry.yaml"
- "./helmrelease.yaml"

secretGenerator:
Expand Down
14 changes: 14 additions & 0 deletions applications/base/services/observability/tempo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Tempo – Base Configuration

This directory contains the **base manifests** for deploying [Grafana Tempo](https://grafana.com/oss/tempo/), a horizontally-scalable, distributed tracing backend designed for cloud-native environments.
It is designed to be **consumed by cluster repositories** as a remote base, allowing each cluster to apply **custom overrides** as needed.

**About Grafana Tempo:**

- Provides a **highly scalable, cost-effective tracing solution** optimized for collecting and storing distributed traces from Kubernetes clusters and microservices.
- Deployed in **Distributed mode** with separate read and write paths for high availability and horizontal scaling.
- Integrates natively with **OpenTelemetry** for trace collection using the OTLP protocol, enabling seamless ingestion without additional agents.
- Stores trace data in **object storage** instead of databases, reducing operational overhead and storage costs.
- Persists incoming spans using a **Write-Ahead Log (WAL)** and periodically compacts data into **Parquet blocks** for efficient long-term retention.
- Supports querying through **TraceQL**, a query language purpose-built for filtering and analyzing trace data.
- Automatically integrates with **Grafana** for unified visualization of **traces, logs, and metrics**.
Loading