Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Journaux

Deux flux

FluxTargetContenu
journal applicatiftout sauf auditdemarrage, connexions, avertissements, erreurs
piste d’auditauditune ligne par operation, connexion, refus, ban, action d’administration

Les deux vont sur stdout. Avec log.dir, ils vont aussi dans deux fichiers separes.

[log]

[log]
level = "info"
format = "json"
audit = "all"
dir = "/var/log/craft-file-gate"

Toutes les cles : Reference [log].

Le volume de la piste : log.audit

log.audit ne retire que des succes. Un refus, une erreur ou une issue inconnue est toujours ecrit.

log.auditSucces d’operation ecritsconnection_accepted, session_end ordinaires
alltousoui
changesupload, delete, delete_recursive, rename, mkdir, rmdir, rmdir_recursivenon
failuresaucunnon

Toujours ecrits, quel que soit log.audit : connection_rejected, connection_rejected_summary, ip_banned, tout ce qu’ecrit l’API d’administration, et les session_end d’une session coupee (administrateur, arret, ban, erreur interne).

Le niveau de log ne touche pas la piste : le target audit reste a info quel que soit log.level.

Fichiers de log : log.dir

FichierContenuRetention
craft-file-gate.logle journal applicatifretention_days (7 jours)
craft-file-gate-audit.logla piste d’audit, et elle seuleaudit_retention_days (90 jours)
  • Rotation : au premier ecrit d’un nouveau jour UTC, et avant une ecriture qui depasserait max_file_size_mb. L’archive porte l’instant de son ouverture, craft-file-gate.2026-09-27T00-00-00Z.log.gz, et ne contient que des lignes de ce jour UTC.
  • Retention : une archive part une fois son jour plus la retention ecoule, jugee sur son nom. Les autres fichiers du repertoire ne sont pas touches.
  • Fichiers en 0640, archives .gz toujours completes ; un repertoire par processus.

En conteneur, stdout et la rotation de la plateforme (kubelet, journald, Docker) restent la voie normale ; dir y demande un volume. Le chart Helm le propose : logFiles.enabled: true.

Refus repetes : une ligne resumee

Un client anonyme qui insiste (scanner, client mal configure) produirait une ligne par tentative. Par porte, adresse, reason et result, les refusal_summary_threshold premiers refus d’une fenetre de refusal_summary_window_secs gardent leur ligne ; les suivants sont comptes, puis resumes en une ligne connection_rejected_summary a la fin de la fenetre, avec suppressed, threshold et window_secs.

Seuls les refus qui n’ont juge aucune credential sont resumes : missing credential, empty credential, malformed credential, method disabled, verifier unavailable, banned, rate limit, password checks saturated, password checks saturated for address, shutting down. Un mot de passe faux garde toujours sa ligne.

Au-dela de refusal_summary_max_addresses cles suivies, les refus de plus sont resumes ensemble (overflow=true).

Fins de session SFTP

La ligne applicative de fin d’une session dit sa cause :

Ligne INFOCause
connection ended without a channel close — unregistering sessionle client est parti
SFTP channel closed — unregistering sessionle client a ferme le canal
session cut by an administrator — unregistering sessionDELETE /admin/sessions/{id}
session cut by the ban of its address — unregistering sessionl’adresse vient d’etre bannie
idle session cut by the server shutting down — unregistering sessionarret, session sans transfert
session cut by the server shutting down — unregistering sessionarret, fin de la periode de grace

La piste porte une ligne session_end par session, avec la meme cause dans reason.

Une connexion qui finit avant la session (client qui ne parle pas SSH, negociation sans algorithme commun) ecrit INFO SSH session ended: <raison>, avec peer et client_version. Ce sont des fins ordinaires : alertez sur leur nombre, pas sur chacune.

Ce que vous verrez

QuandLigne
demarrageINFO log filter in force, champs filter et source
demarrageINFO audit trail filter in force (refusals and errors are always recorded), champ audit
demarrage avec dirINFO log files in force, les deux chemins, la taille et les retentions
refusal_summary_* modifiesINFO refusal summary settings reloaded
ligne impossible a ecrire (disque plein)metrique craftfilegate_log_write_errors_total ; une ligne sur stderr au plus par minute