Add observability stack: ServiceMonitors, Tempo, OTel API instrumentation, dashboards

- Add ServiceMonitors for Traefik, ArgoCD, and Longhorn
- Enable cert-manager ServiceMonitor via helm values
- Deploy Grafana Tempo for distributed tracing (single-binary, Longhorn PVC)
- Add Tempo datasource with trace-to-logs and trace-to-metrics correlation
- Instrument API with OpenTelemetry SDK (Prometheus metrics + OTLP traces)
- Replace console.log with pino structured logging + pino-http middleware
- Add Grafana dashboards for Traefik, API overview, and PostgreSQL (CNPG)
This commit is contained in:
Julia McGhee
2026-03-20 21:00:48 +00:00
parent 8a23d5d5f6
commit 051c957347
23 changed files with 2259 additions and 11 deletions

View File

@@ -10,13 +10,22 @@
"test": "echo \"no tests yet\""
},
"dependencies": {
"@opentelemetry/auto-instrumentations-node": "^0.71.0",
"@opentelemetry/exporter-prometheus": "^0.213.0",
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
"@opentelemetry/resources": "^2.6.0",
"@opentelemetry/sdk-node": "^0.213.0",
"@opentelemetry/semantic-conventions": "^1.40.0",
"cors": "^2.8.5",
"express": "^4.21.0",
"cors": "^2.8.5"
"pino": "^10.3.1",
"pino-http": "^11.0.0"
},
"devDependencies": {
"@types/express": "^5.0.0",
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/node": "^22.10.0",
"@types/pino-http": "^6.1.0",
"tsup": "^8.3.0",
"tsx": "^4.19.0",
"typescript": "^5.7.0"