Fehlersuche
Die meisten Probleme sind in einer Minute gefunden: Der Proxy antwortet immer mit einem benannten Fehler, und der Prüfendpunkt sagt, ob überhaupt etwas ankam.
Erst prüfen
curl https://tokenwacht.de/v1/anbindung/pruefen -H "Authorization: Bearer $TOKENWACHT_KEY"
Nichts kommt im Cockpit an
- Basis-URL zeigt noch auf den Anbieter. Manche SDKs lesen
ANTHROPIC_BASE_URL/OPENAI_BASE_URLaus der Umgebung und überschreiben den Parameter. Prüfen Sie mit einem einzelnen curl-Aufruf anhttps://tokenwacht.de/…. - Kopfzeile fehlt. Ohne
X-TW-Keyantwortet der Proxy sofort mit 401; der Aufruf erreicht den Anbieter nicht. Ein Agent, der weiter Antworten bekommt, geht also nicht über den Proxy. - Falscher Mandant. Der Prüfendpunkt nennt Mandant und Schlüsselname. Mehrere Konten? Im Cockpit oben rechts steht der Mandant.
- Ereignisse sind da, aber „Heute“ ist leer. Zeitzone: das Cockpit rechnet in UTC. „7 Tage“ zeigt alles.
- Hook oder Erweiterung ohne Schlüssel. Beide bleiben ohne Schlüssel bewusst still.
Antworten des Proxys
| Status | fehler | Ursache und Abhilfe |
|---|---|---|
| 401 | tokenwacht_schluessel_fehlt_oder_ungueltig | X-TW-Key fehlt, ist gesperrt oder gehört zu einem gelöschten Konto. Neuen Schlüssel im Cockpit erzeugen. |
| 403 | tokenwacht_schluessel_bereich | Der Schlüssel ist nicht für „Proxy“ freigegeben. Schlüssel mit passendem Geltungsbereich erzeugen. |
| 402 | tokenwacht_budget_ueberschritten, tokenwacht_ratenbegrenzung, tokenwacht_modellsperre, tokenwacht_leerschleife … | Eine scharfe Regel oder ein Detektor hat gestoppt. Der Körper nennt Regel, Grenze, Wert, Lauf. Im Cockpit unter Regeln → Eingriffe. Zum Weiterarbeiten: Regel in den Schatten, Budget heben oder neuen Lauf beginnen. |
| 413 | koerper_zu_gross | Anfragekörper über 20 MB. |
| 401 / 429 / 4xx / 5xx vom Anbieter | Antwort des Anbieters, unverändert | Tokenwacht reicht Anbieterfehler durch und zählt sie als Fehler-Ereignis (verbranntes Geld). Ihr Anbieterschlüssel, Ihr Kontingent. |
| 502 / 504 von Tokenwacht | – | Anbieter nicht erreichbar oder Antwort über 600 Sekunden. Statusseite prüfen; der Proxy hängt sich nicht ein. |
Cockpit und API
| Status | fehler | Abhilfe |
|---|---|---|
| 401 | nicht_angemeldet, schluessel_ungueltig | Sitzung abgelaufen (12 h) oder Schlüssel falsch. |
| 401 | code_noetig, code_falsch | Zwei-Faktor ist aktiv: Code aus der App mitgeben. |
| 401 | benutzer_deaktiviert | Konto vom Inhaber abgeschaltet. |
| 403 | keine_berechtigung | Rolle Betrachter oder Demo-Zugang: nur lesen. |
| 403 | schluessel_bereich | Schlüssel ohne den Bereich „Ingest“ oder „Lesen“. |
| 402 | lizenz_noetig | Selbstbetrieb ohne gültige Lizenz für diese Funktion. |
| 429 | zu_viele_versuche, zu_viele_registrierungen | Anmeldung 10 Fehlversuche je 15 Minuten, Registrierung 5 je Stunde und Adresse. |
Streaming
Der Proxy puffert nicht; Streams kommen Stück für Stück. Sehen Sie Antworten erst am Ende, puffert etwas dazwischen (eigener Reverse-Proxy, Unternehmens-Proxy). Bei OpenAI-Streams setzt Tokenwacht stream_options.include_usage; ältere Clients, die das letzte leere Chunk nicht erwarten, aktualisieren.
Zeitüberschreitungen
Antwortzeit bis 600 Sekunden. Läuft Ihr Client mit kürzerem Timeout, setzen Sie ihn wie beim Direktzugriff. Die Vorabprüfung des Proxys dauert im Regelfall unter fünf Millisekunden (p95 im Reiter Regeln sichtbar); Stufe „drosseln“ verzögert bewusst bis zehn Sekunden.
Bedrock mit boto3
SigV4 signiert den Host; über einen Proxy scheitert die Signatur. Verwenden Sie einen Bedrock-API-Schlüssel (AWS_BEARER_TOKEN_BEDROCK) und ergänzen Sie die Kopfzeilen über ein botocore-Ereignis:
import boto3, os
client = boto3.client("bedrock-runtime", region_name="eu-central-1", endpoint_url="https://tokenwacht.de/bedrock")
def kopf(request, **kw):
request.headers["X-TW-Key"] = os.environ["TOKENWACHT_KEY"]; request.headers["X-TW-Agent"] = "bedrock-agent"
client.meta.events.register("before-send.bedrock-runtime.*", kopf)
Immer noch offen?
Schreiben Sie an info@x-sitter.com mit der Antwort des Prüfendpunkts (ohne Schlüssel) und dem Fehlerkörper. Antwort an Werktagen innerhalb von 24 Stunden.