Files
git.stella-ops.org/deploy/telemetry
Vladimir Moushkov 691028fe69
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
feat: Document completed tasks across multiple components
- Added completed tasks documentation for Scheduler WebService, ImpactIndex, Models, Queue, Storage.Mongo, Worker, Signals, Signer, UI, Zastava.Observer, Zastava.Webhook, Zastava.Core, Cryptography.Kms, Cryptography, and Plugin.
- Each task includes ID, status, owners, dependencies, descriptions, and exit criteria to ensure clarity and traceability.
- Enhanced integration and unit testing coverage across various components to validate functionality and compliance with specifications.
2025-10-30 18:20:31 +02:00
..

Telemetry Collector Assets

These assets provision the default OpenTelemetry Collector instance required by DEVOPS-OBS-50-001. The collector acts as the secured ingest point for traces, metrics, and logs emitted by StellaOps services.

Contents

File Purpose
otel-collector-config.yaml Baseline collector configuration (mutual TLS, OTLP receivers, Prometheus exporter).
storage/prometheus.yaml Prometheus scrape configuration tuned for the collector and service tenants.
storage/tempo.yaml Tempo configuration with multitenancy, WAL, and compaction settings.
storage/loki.yaml Loki configuration enabling multitenant log ingestion with retention policies.
storage/tenants/*.yaml Per-tenant overrides for Tempo and Loki rate/retention controls.

Development workflow

  1. Generate development certificates (collector + client) using ops/devops/telemetry/generate_dev_tls.sh.
  2. Launch the collector via docker compose -f docker-compose.telemetry.yaml up.
  3. Launch the storage backends (Prometheus, Tempo, Loki) via docker compose -f docker-compose.telemetry-storage.yaml up.
  4. Run the smoke test: python ops/devops/telemetry/smoke_otel_collector.py.
  5. Explore the storage configuration (storage/README.md) to tune retention/limits.

The smoke test sends OTLP traffic over TLS and asserts the collector accepted traces, metrics, and logs by scraping the Prometheus metrics endpoint.

Kubernetes

The Helm chart consumes the same configuration (see values.yaml). Provide TLS material via a secret referenced by telemetry.collector.tls.secretName, containing ca.crt, tls.crt, and tls.key. Client certificates are required for ingestion and should be issued by the same CA.