
# Protokolle mit keenauth logs tail verfolgen

`keenauth logs tail` verfolgt die Umgebungsprotokolle (Anmeldungen, Sitzungen, Tokens, MFA, Angriffsschutz) während Ihrer Arbeit, ähnlich wie `tail -f`. Zuerst werden die neuesten Datensätze ausgegeben, und zwar der älteste zuerst. Danach prüft der Befehl in einem festen Intervall auf neue Datensätze und gibt sie aus, sobald sie erscheinen. Drücken Sie Strg-C, um den Vorgang zu beenden. Der Befehl wird dann mit dem Code 0 beendet.

Der Befehl liest dieselben Datensätze wie `keenauth logs list` und benötigt dieselbe Berechtigung (`logs:read`). Er funktioniert mit einem API-Schlüssel und mit einer `keenauth login`-Sitzung.

## Verwendung

```sh
keenauth logs tail --type authentication. --user usr_01j9z3k4m5n6p7q8r9s0t1v2w3
```

| Flag | Beschreibung |
|---|---|
| `--type` | Präfix des Protokolltyps, zum Beispiel `authentication.` oder `session.created`. Durch Kommas getrennt oder wiederholt angegeben, höchstens 20; ein Datensatz, der einem davon entspricht, wird angezeigt. |
| `--user` | Nur Datensätze dieses Benutzers (`usr_…`). |
| `--org` | Nur Datensätze dieser Organisation (`org_…`). |
| `--limit` | Anzahl der letzten Datensätze, die vor dem Verfolgen ausgegeben werden, 1 bis 100. Standard: 20. |
| `--interval` | Zeit zwischen zwei Prüfungen, von `1s` bis `60s`. Standard: `5s`. |
| `--output`, `-o` | `table`, `json` oder `yaml`. Ohne dieses Flag gibt die CLI in einem Terminal eine Tabelle aus, sonst JSON. |

Ein ungültiger Filter oder ein ungültiges Intervall beendet den Befehl mit dem Code 2, bevor eine Anfrage gesendet wird.

## Ausgabe

- `table`: eine Zeile pro Datensatz mit Zeit (UTC), Typ, Ergebnis, Benutzer, Organisation und Protokoll-ID. Ein fehlender Wert wird als `-` angezeigt.
- `json`: ein JSON-Objekt pro Zeile (newline-delimited JSON), dasselbe Objekt, das `keenauth logs get` zurückgibt. Dies ist der Standard, wenn die Standardausgabe kein Terminal ist, sodass Sie die Ausgabe weiterleiten können, zum Beispiel an `jq`.
- `yaml`: ein YAML-Dokument pro Datensatz, das jeweils mit `---` beginnt.

```sh
keenauth logs tail --type authentication.failed -o json | jq -r '.ip_country'
```

Die IP-Adresse, der User-Agent und der Identifikationshinweis erscheinen nur, wenn Ihr Berechtigungsnachweis die Berechtigungen aus [der Logs-API](/docs/api/management/logs/list) besitzt.

## So verfolgt der Befehl die Protokolle

Die Logs-API liefert die neuesten Datensätze zuerst und hat keinen Wartparameter, daher fragt der Befehl wiederholt ab (Polling). Nach der ersten Seite fordert jede Prüfung die Datensätze ab dem neuesten Zeitpunkt an, den der Befehl ausgegeben hat, und überspringt bereits ausgegebene Datensätze, sodass kein Datensatz zweimal angezeigt wird. Eine Prüfung folgt den Ergebnisseiten, bis sie alle neuen Datensätze hat, höchstens jedoch 2.000 Datensätze pro Prüfung. Datensätze, die älter sind als der Aufbewahrungszeitraum Ihres Tarifs, werden nicht zurückgegeben.

## Exit-Codes

| Code | Bedeutung |
|---|---|
| `0` | Mit Strg-C beendet. |
| `1` | Ein Serverfehler oder ein Netzwerkfehler. |
| `2` | Verwendungsfehler: ein ungültiger Filter, Grenzwert, Intervall oder ein ungültiges Ausgabeformat. Es wurde keine Anfrage gesendet. |
| `3` | Der Berechtigungsnachweis fehlt, oder der Server hat mit `401` oder `403` geantwortet. |
| `4` | Der Tarif enthält diese Funktion nicht (`403` mit `plan_feature_unavailable`). |
