You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Kubernetes observability POC using OpenTelemetry as the unified collection layer, deployed via GitOps (ArgoCD), and exposed through a single Traefik ingress on path-based routing.
Check collector logs; verify Loki pod running and OTLP endpoint
No traces in Jaeger
Collector can't reach Jaeger
Verify jaeger-collector service; check insecure: true on exporter
Useful commands
kubectl get pods --all-namespaces
kubectl get applications -n argocd
kubectl logs -n observability deployment/opentelemetry-collector -f
kubectl get ingressroute -A
Resource Requirements
Minimum
CPU: 4 cores
Memory: 8 GB RAM
Storage: 20 GB
Per component
Component
Memory
CPU
Grafana
512 MB
500m
Prometheus
2 GB
1 core
Jaeger
512 MB
500m
Loki
512 MB
500m
OTel Collector
512 MB
500m
Production Considerations
This stack is a development/POC setup. For production:
Jaeger storage: Switch from in-memory to a persistent backend (e.g., Elasticsearch, Cassandra)
Loki: Switch from filesystem to object storage (S3, GCS); deploy in distributed mode
Prometheus: Add persistent storage (PVC with storageSpec)
Security: Enable TLS, RBAC, and network policies throughout
High availability: Multiple replicas for all components
About
observability stack for k8s monitoring using opentelementry+prometheus+grafana+loki