Socket Unix / systemd: - RuntimeDirectory=logcorrelator dans logcorrelator.service : systemd recrée /run/logcorrelator avec logcorrelator:logcorrelator à chaque démarrage/restart, éliminant le problème de droits root:root - Ajout de packaging/rpm/logcorrelator-tmpfiles.conf pour recréer le répertoire au boot via systemd-tmpfiles (couche de protection boot) - Retrait de /var/run/logcorrelator du RPM %files et du %post - Dockerfile.package : copie de logcorrelator-tmpfiles.conf dans SOURCES/ Corrélation — bugs: - Fix CRITIQUE emitPendingOrphans : corruption de slice lors de l'expiration simultanée de plusieurs orphelins pour la même clé (aliasing du tableau sous-jacent, orphelins émis en double et fantômes persistants) - Fix HAUT rotateOldestA : événement silencieusement perdu même avec ApacheAlwaysEmit=true ; retourne désormais *CorrelatedLog propagé dans ProcessEvent - Fix MOYEN processSourceB (pending orphan path) : en mode one_to_many, le B event n'était pas bufferisé après corrélation avec un pending orphan A, cassant le Keep-Alive pour les requêtes A2+ sur la même connexion - Fix BAS : suppression du champ mort timer *time.Timer dans pendingOrphan Corrélation — observabilité: - Ajout keepalive_seq (1-based) dans NormalizedEvent : numéro de requête dans la connexion Keep-Alive, incrémenté par processSourceA - Tous les logs orphelins incluent désormais keepalive_seq=N - keepAliveSeqA nettoyé automatiquement à l'expiration du TTL B Tests: 4 nouveaux tests de non-régression (32 tests au total) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
35 lines
857 B
Desktop File
35 lines
857 B
Desktop File
[Unit]
|
|
Description=logcorrelator service
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=logcorrelator
|
|
Group=logcorrelator
|
|
ExecStart=/usr/bin/logcorrelator -config /etc/logcorrelator/logcorrelator.yml
|
|
ExecReload=/bin/kill -HUP $MAINPID
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
|
|
# Runtime directory: systemd crée /run/logcorrelator (= /var/run/logcorrelator)
|
|
# avec le bon propriétaire (logcorrelator:logcorrelator) à chaque démarrage/restart,
|
|
# ce qui évite que les sockets se retrouvent en root:root après un reboot (tmpfs vidé).
|
|
RuntimeDirectory=logcorrelator
|
|
RuntimeDirectoryMode=0755
|
|
|
|
# Security hardening
|
|
NoNewPrivileges=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
ReadWritePaths=/var/log/logcorrelator /etc/logcorrelator
|
|
|
|
# Resource limits
|
|
LimitNOFILE=65536
|
|
|
|
# Systemd timeouts
|
|
TimeoutStartSec=10
|
|
TimeoutStopSec=30
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|