Zum Hauptinhalt springen

Monitoring

Alle Tale-Dienste bieten einen Prometheus-/metrics-Endpoint im internen Docker-Netzwerk. Für Zugriff von außen setzt du ein Bearer-Token in deiner .env:
METRICS_BEARER_TOKEN=your-secret-token-here
Die Metriken sind dann hier erreichbar:
DienstMetriken-Endpoint
Crawlerhttps://yourdomain.com/metrics/crawler
RAGhttps://yourdomain.com/metrics/rag
Platform (Bun)https://yourdomain.com/metrics/platform
Convexhttps://yourdomain.com/metrics/convex
Hinweis: Das Convex-Backend liefert über 260 eingebaute Metriken zu Query-Latenz, Mutation-Durchsatz und Scheduler-Performance.
Wenn das Token leer ist, liefern alle /metrics/*-Endpoints 401.

Prometheus-Scrape-Config

scrape_configs:
  - job_name: tale-crawler
    scheme: https
    metrics_path: /metrics/crawler
    authorization:
      credentials: your-secret-token-here
    static_configs:
      - targets: ['your-tale-host.com']

  # Für tale-rag, tale-platform, tale-convex wiederholen,
  # metrics_path entsprechend anpassen.

Error-Tracking

Tale unterstützt Sentry und kompatible Alternativen wie GlitchTip für Error-Tracking. Setze dein DSN in .env:
SENTRY_DSN=https://your-key@your-sentry-host/project-id
Ist SENTRY_DSN nicht gesetzt, ist Error-Tracking deaktiviert und Fehler erscheinen nur in den Docker-Logs.

Logs ansehen

Alle Dienst-Logs gehen nach Docker-stdout mit automatischer Rotation bei 10 MB pro Datei, 3 Dateien pro Dienst werden gehalten.
# Alle Dienst-Logs streamen
docker compose logs -f

# Logs eines bestimmten Dienstes streamen
docker compose logs -f rag

# Jüngste Logs ohne Streaming ansehen
docker compose logs --tail=100 platform

Datenbank-Backups

Einen DB-Snapshot erzeugen:
docker exec tale-db pg_dump -U tale tale > backup-$(date +%Y%m%d).sql
Aus einem Backup wiederherstellen:
docker exec -i tale-db psql -U tale tale < backup-20260101.sql

Health-Checks

Jeder Dienst hat einen Health-Check-Endpoint:
EndpointWas geprüft wird
GET /healthProxy läuft und lauscht.
GET /api/healthPlatform ist oben und Convex-Backend erreichbar.
http://localhost:8001/healthRAG-Dienst läuft und DB-Pool ist verbunden.
http://localhost:8002/healthCrawler-Dienst und Browser-Engine sind bereit.

Container-Health-Validierung

Um nach einem Deployment oder einer Konfigurationsänderung sicherzugehen, dass alle Container gesund sind, den Smoke-Test laufen lassen:
bun run docker:test
Er baut alle Images, startet sie auf nicht-konflikthaften Ports, prüft Health-Endpoints und Inter-Service-Konnektivität und baut wieder ab. Es ist derselbe Test, der in CI bei jedem Pull Request läuft. Für Image-Validierung (OCI-Labels, keine Secrets, Size-Budgets):
bun run docker:test:image

Image-Größen-Monitoring

Jedes Container-Image hat ein Size-Budget, das CI erzwingt. Aktuelle Größen und Budgets:
DienstAktuelle GrößeBudget
Crawler~1.85 GB2.1 GB
RAG~515 MB600 MB
Platform~2.58 GB2.9 GB
DB~1.06 GB1.2 GB
Proxy~88 MB100 MB
Überschreitet ein Image nach einer Änderung sein Budget, schlägt bun run docker:test:image fehl. Siehe die Seite Container-Architektur für Multi-Stage-Strategien, die Images klein halten.
Last modified on April 19, 2026