Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment réserver Í  un seul fichier des logs en provenance d'une application donnée

3 réponses
Avatar
Olivier
Bonjour,

Je teste l'application natlog sur Bullseye.
Comme son nom l'indique, elle loggue le détail de connexions NATées
avec des lignes comme:

NATLOG: from 1338990672:55588 thru 1338990747:807100 (UTC): tcp
192.168.19.72:4467 (via: 129.125.90.132:4467) to
to 200.49.219.180:443; sent: 802, received: 7669

Ces lignes se distinguent des autres par le préfixe NATLOG: en début de ligne.
Mon soucis premier, pour des raisons de:
1. maͮtrise de l'espace disque
2. de confidentialité
3. d'appliquer une politique de rétention spécifique (1 an pour les
données de natlog, 7 jours pour le reste)
est dans dans un premier d'éviter que ces lignes soient répétées dans
les différents journaux de log, qu'ils soient binaires ou textuels.

En particulier, par défaut, la commande journalctl m'affiche ces
lignes NATLOG. J'imagine qu'elles sont donc présentes dans les
fichiers du répertoire /var/log/journal.
D'autre part, j'observe la présence de ces lignes dans les fichiers
daemon.log et syslog.

J'imagine deux voies:
A. Paramétrer rsyslog pour dupliquer une fois de plus ces données en
les consignant dans un fichier Í  part, et appliquer une rétention
spécifique sur ce fichier (avec logrotate)

B. Paramétrer les outils de log (journal ? rsyslogd ?) pour qu'ils
ignorent ces lignes dans leurs propres journaux (est-ce simplement
possible ?) tout en les mettant Í  disposition des autres daemons de
log en aval.

Que conseillez-vous ?

Slts

3 réponses

Avatar
didier gaumet
Salut,
Je n'ai jamais utilisé natlog
mais sa page man me suggère de s'intéresser Í  son fichier de configuration et aux options de lancement:
--log=argument (pour désactiver le log système en activant le log dans un fichier particulier)
et
--log-rotate=spec (pour la rotation et la rétention)
par exemple
pour spécifier o͹ atterrit le logging:
--log=/chemin/de/ton/fichier.log
et pour une rotation d'un jour et une rétention de 365 jours, peut-être (je ne suis pas sÍ»r d'avoir compris la spécification du format):
--log-rotate=time[00001]365
Avatar
Olivier
Malheureusement, pour une raison bien mystérieuse, l'option --log
ampute les logs des colonnes IPfw et Portfw (on conserve les IPsrc,
IPdst mais pas l'IPfw) !
Dans l'hypothèse o͹ cette amputation ne serait réversible, il faut
jouer avec les logs complets qui sont présents dans journald, syslog
etc ...
Le jeu. 14 avr. 2022 Í  00:27, didier gaumet a écrit :
Salut,
Je n'ai jamais utilisé natlog
mais sa page man me suggère de s'intéresser Í  son fichier de configuration et aux options de lancement:
--log=argument (pour désactiver le log système en activant le log dans un fichier particulier)
et
--log-rotate=spec (pour la rotation et la rétention)
par exemple
pour spécifier o͹ atterrit le logging:
--log=/chemin/de/ton/fichier.log
et pour une rotation d'un jour et une rétention de 365 jours, peut-être (je ne suis pas sÍ»r d'avoir compris la spécification du format):
--log-rotate=time[00001]365
Avatar
didier gaumet
Le jeudi 14 avril 2022 Í  08:40:03 UTC+2, Olivier a écrit :
Malheureusement, pour une raison bien mystérieuse, l'option --log
ampute les logs des colonnes IPfw et Portfw (on conserve les IPsrc,
IPdst mais pas l'IPfw) !
Dans l'hypothèse o͹ cette amputation ne serait réversible, il faut
jouer avec les logs complets qui sont présents dans journald, syslog
etc ...

- Je peux bien sÍ»r me tromper mais je suppose que natlog génère le même contenu de log quelle que soit la sortie qu'il alimente pour cela. Je suppose aussi que les outils de visualisation (cat, more, less, etc...) que tu utilises tronquent de leur propre initiative les lignes trop longues et qu'il faut donc leur spécifier un option adéquate pour éviter cela (pour ceux de ces outils qui en sont capables, je n'ai pas creusé, une lecture de la page man de l'outil utilisé serait sÍ»rement utile). Je suppose aussi que journalctl, soit formate une sortie plus large permettant de ne pas tronquer les lignes, soit effectue un retour automatique de ligne, soit permet de lire une ligne trop longue en déplaçant vers la droite une sorte d'écran virtuel (j'ai pas testé et j'ai pas lu la page man)
- tu peux aussi essayer l'option --log-data de natlog pour générer un fichier log contenant une ligne d'en-tête de champs puis des lignes de champs tabulées, pour voir ce que ça donne