IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Fichier de log et son résumé


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 304
    Par défaut Fichier de log et son résumé
    Salut les amis,

    J'ai un fichier de log A dont seules quelques lignes m'intéressent. Je les extrait avec grep puis leur fait subir quelques modifications via sed,awk etc. pour avoir une synthèse ou un résumé. Pour l'instant je fais l'opération manuellement, i.e je lance un tail -f sur A que je pipe à la série de grep et de transformations et je garde un oeil sur la console qui me crache de temps en temps des infos pertinentes. N'y aurait-il pas un moyen de faire ce truc automatiqument de telle façon à ce que je puisse me connecter à n'importe quel moment au serveur et avoir directement accès au fichier résumé qui serait synchronisé en temps réel, comme avec tail -f

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    Pourquoi ne mets-tu pas tes commandes dans un script ?

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 663
    Par défaut
    Bonjour,

    seules quelques lignes m'intéressent. Je les extrait avec grep puis leur fait subir quelques modifications via sed,awk etc
    grep est inutile : sed et awk savent faire ce que fait grep, et awk sait faire ce que fait sed...

    pince-mi et pince-moi sont tombés à l'eau, il ne reste plus que awk !

    pour exécutber automatiquement la commande, ça dépend de ce que tu veux :
    l'appeler plus simplement que de tout retaper :
    il y a l'historique...
    tu peux en faire un script ou un alias
    quant à l'exécution automatique lors de la connexion, ce n'est peut-être pas une bonne idée : es-tu certain de toujours n'avoir que cela à faire en te connectant ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    j'aurai tendance à me pencher sur sec.pl qui est tout indiqué pour répondre à la problématique posée, et traitera les cas les limites comme les lignes pas encore arrivées, les problèmes de bufferisation etc. et au bout permet de générer un fichier reformaté en temps réel, ou de logguer dans syslog ou sur la sortie standard ou autre etc.

  5. #5
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 304
    Par défaut
    Bonjour les amis merci pour vos réponses !



    Flodelarab a dit
    Pourquoi ne mets-tu pas tes commandes dans un script ?
    C'est déjà le cas. Mais comment faire pour que ce script s'execute tout le temps et surtout ne casse pas quand il y a rotation du fichier A ?


    N_BaH a dit
    pour exécuté automatiquement la commande, ça dépend de ce que tu veux :
    l'appeler plus simplement que de tout retaper :
    il y a l'historique...
    tu peux en faire un script ou un alias
    quant à l'exécution automatique lors de la connection, ce n'est peut-être pas une bonne idée : es-tu certain de toujours n'avoir que cela à faire en te connectant ?
    Ce que j'entend par automatiquement c'est à dire ça tourne en tâche de fond je n'ai pas besoin de le lancer manuellement, comme un daemon. Idéalement j'aurais donc, tous les jours, un fichier /var/log/A et son fichier /var/log/A.resume correspondant, sans que je n'ai rien à faire.


    En réalité je ne veux pas trop influencer vos réponses car je suis déjà en train de suggérer des pistes de solutions (daemon, tâche de fond). Pour moi au final ce que je cherche c'est d'avoir le résumé du fichier A (resultant du traitement du script) qui soit dispo tout le temps et synchrone ou quasi-synchrone avec A.

    BufferBob a écrit
    j'aurai tendance à me pencher sur sec.pl [...]

    Merci je jette un coup d'oeil ça a l'air intéressant. J'espère pas trop dur à apprendre !

  6. #6
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    surtout ne casse pas quand il y a rotation du fichier A ?
    Tu as tout expliqué sauf ce qui est intéressant : c'est quoi cette histoire de rotation ?

    Tu peux très bien dédoubler la sortie avec une sortie normale et une sortie pour ton résumé.
    Tu cherches un bazooka pour écraser une fourmi. (Mais un bazooka c'est lourd et inutile).

    sans que je n'ai rien à faire.
    Sauf que tu fais quelque chose puisque tu demandes un résumé.

  7. #7
    Membre expérimenté
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2003
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2003
    Messages : 304
    Par défaut
    Salut Flodelarab,

    Les fichiers de log sont tournés avec logrotate de telle sorte à ce que tu aies un fichier /var/log/A.1 pour le jour d'avant, /var/log/A.2.gz pour avant hier etc.

    Je vais faire plus concret puisque apparemment les abstractions sont difficiles à comprendre :

    Le fichier de log qui m'intéresse est /var/log/messages

    Voici une partie du fichier /var/log/messages

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    root@messagerie[10.10.10.19] ~ # tail /var/log/messages
    Jul 30 17:26:31 messagerie-prep kernel: [526559.911078] Shorewall:net-fw:DROP:IN=eth0 OUT= MAC=00:0c:29:a0:17:e0:00:1e:13:59:5d:13:08:00 SRC=185.30.177.161 DST=10.10.10.19 LEN=60 TOS=0x00 PREC=0x00 TTL=54 ID=59139 DF PROTO=TCP SPT=44929 DPT=143 WINDOW=14100 RES=0x00 SYN URGP=0
    Jul 30 17:26:40 messagerie-prep root: Shorewall restarted
    Jul 30 17:27:40 messagerie-prep kernel: [526629.191415] device eth0 left promiscuous mode
    Jul 31 04:26:24 messagerie-prep kernel: [566134.870266] hrtimer: interrupt took 69003413 ns
    Jul 31 06:25:04 messagerie-prep rsyslogd: [origin software="rsyslogd" swVersion="8.4.2" x-pid="906" x-info="http://www.rsyslog.com"] rsyslogd was HUPed
    Jul 31 06:26:38 messagerie-prep rsyslogd0: action 'action 17' resumed (module 'builtin:ompipe') [try http://www.rsyslog.com/e/0 ]
    Jul 31 06:26:38 messagerie-prep rsyslogd-2359: action 'action 17' resumed (module 'builtin:ompipe') [try http://www.rsyslog.com/e/2359 ]
    Jul 31 06:53:19 messagerie-prep rsyslogd-2007: action 'action 17' suspended, next retry is Tue Jul 31 06:53:49 2018 [try http://www.rsyslog.com/e/2007 ]
    Jul 31 10:57:00 messagerie-prep kernel: [589560.151137] device eth0 entered promiscuous mode
    Jul 31 10:57:01 messagerie-prep kernel: [589561.262586] device eth0 left promiscuous mode
    root@messagerie[10.10.10.19] ~ #

    Et voici le résumé que je veux en faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    root@messagerie[10.10.10.19] ~ # /usr/local/scripts/shorewall/banlog-static | head
    Jul 30 14:43:05 178.128.27.245 DPT=22   Greece
    Jul 30 14:44:02 196.223.19.3 DPT=123   Angola
    Jul 30 14:44:10 185.103.97.221 DPT=22  IP Address not found
    Jul 30 14:48:50 92.63.197.40 DPT=22   Russian Federation
    Jul 30 14:51:32 203.178.148.19 PROTO=ICMP   Japan
    Jul 30 14:53:27 185.30.176.99 DPT=143   Netherlands
    Jul 30 14:53:28 185.30.176.99 DPT=143   Netherlands
    Jul 30 14:53:30 185.30.176.99 DPT=143   Netherlands
    Jul 30 14:53:34 185.30.176.99 DPT=143   Netherlands
    Jul 30 14:53:47 41.237.238.40 DPT=80   Egypt
    root@messagerie[10.10.10.19] ~ #

    Le script /usr/local/scripts/shorewall/banlog-static lit depuis /var/log/messages pour produire cette sortie.

    Ce que j'aimerais c'est que ce script tourne tout seule (pas besoin de la lancer manuellement) tout le temps (en tache de fond) et me produise un fichier /var/log/shorewall-bans que je pourrais lire après coup (après un incident par exemple, ou avoir un rapport quotidien qui m'envoi des stats sur le fichier par mail etc.). Les utilisations derrières peuvent être multiples, il faut simplement que j'ai ce fichier généré au quotidien.

    Merci pour votre patience !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fichier de log
    Par Arkenstone dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 01/04/2005, 14h42
  2. [tomcat 5] [paramétrage] fichier de log System.out.println
    Par Aldo dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 22/02/2005, 14h41
  3. [Oracle 8i/Fichier de log] - fichier log pour analyse erreur
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 4
    Dernier message: 25/01/2005, 19h06
  4. [Tomcat] Fichier de logs
    Par yolepro dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 22/03/2004, 16h20
  5. Fichiers de Log
    Par Mouse dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 10/05/2003, 18h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo